From 5cc5f92ac643385bbad2a71ca5e281a4f3235a2a Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 18 Jul 2026 20:20:41 +0200 Subject: [PATCH] test(tasks): reuse subtask expansion fixture in filter tests Addresses pr-swarm finding: FilterMatchesSubtaskOnly and FilterMatchesParentOnly hand-rolled the same setup the shared fixture helper now provides. --- pkg/models/task_collection_test.go | 49 +++++++----------------------- 1 file changed, 11 insertions(+), 38 deletions(-) diff --git a/pkg/models/task_collection_test.go b/pkg/models/task_collection_test.go index 68cf3292c..718da3f63 100644 --- a/pkg/models/task_collection_test.go +++ b/pkg/models/task_collection_test.go @@ -2076,27 +2076,13 @@ func countRootsAndSubs(tasks []*Task) (roots, subs int) { // a filter that matches only a subtask (whose same-project parent is filtered out) // must return that subtask as a root. The old same-project proxy returned []. func TestTaskCollection_ExpandSubtasksFilterMatchesSubtaskOnly(t *testing.T) { - db.LoadAndAssertFixtures(t) - s := db.NewSession() - defer s.Close() - u := &user.User{ID: 1} - project := &Project{Title: "filter-matches-subtask", OwnerID: u.ID} - _, err := s.Insert(project) - require.NoError(t, err) - - parent := &Task{Title: "parent", ProjectID: project.ID, CreatedByID: u.ID, Index: 1, Priority: 1} - _, err = s.Insert(parent) - require.NoError(t, err) - - sub := &Task{Title: "matching subtask", ProjectID: project.ID, CreatedByID: u.ID, Index: 2, Priority: 5} - _, err = s.Insert(sub) - require.NoError(t, err) - - rel := &TaskRelation{TaskID: parent.ID, OtherTaskID: sub.ID, RelationKind: RelationKindSubtask} - require.NoError(t, rel.Create(s, u)) - require.NoError(t, s.Commit()) + project, _, sub := setupSubtaskExpansionFixture(t, u, "filter-matches-subtask", func(parent, sub *Task) { + parent.Priority = 1 + sub.Title = "matching subtask" + sub.Priority = 5 + }) s2 := db.NewSession() defer s2.Close() @@ -2118,27 +2104,14 @@ func TestTaskCollection_ExpandSubtasksFilterMatchesSubtaskOnly(t *testing.T) { // a filter matching only the parent returns the parent plus its (non-matching) // subtask, nested, with no duplication. func TestTaskCollection_ExpandSubtasksFilterMatchesParentOnly(t *testing.T) { - db.LoadAndAssertFixtures(t) - s := db.NewSession() - defer s.Close() - u := &user.User{ID: 1} - project := &Project{Title: "filter-matches-parent", OwnerID: u.ID} - _, err := s.Insert(project) - require.NoError(t, err) - - parent := &Task{Title: "matching parent", ProjectID: project.ID, CreatedByID: u.ID, Index: 1, Priority: 5} - _, err = s.Insert(parent) - require.NoError(t, err) - - sub := &Task{Title: "subtask", ProjectID: project.ID, CreatedByID: u.ID, Index: 2, Priority: 1} - _, err = s.Insert(sub) - require.NoError(t, err) - - rel := &TaskRelation{TaskID: parent.ID, OtherTaskID: sub.ID, RelationKind: RelationKindSubtask} - require.NoError(t, rel.Create(s, u)) - require.NoError(t, s.Commit()) + project, parent, sub := setupSubtaskExpansionFixture(t, u, "filter-matches-parent", func(parent, sub *Task) { + parent.Title = "matching parent" + parent.Priority = 5 + sub.Title = "subtask" + sub.Priority = 1 + }) s2 := db.NewSession() defer s2.Close()