diff --git a/pkg/models/label_task_test.go b/pkg/models/label_task_test.go index 7bd082137..925358bc3 100644 --- a/pkg/models/label_task_test.go +++ b/pkg/models/label_task_test.go @@ -30,6 +30,24 @@ import ( ) func TestLabelTask_ReadAll(t *testing.T) { + label := Label{ + ID: 4, + Title: "Label #4 - visible via other task", + Created: testCreatedTime, + Updated: testUpdatedTime, + CreatedByID: 2, + CreatedBy: &user.User{ + ID: 2, + Username: "user2", + Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", + Issuer: "local", + EmailRemindersEnabled: true, + OverdueTasksRemindersEnabled: true, + Created: testCreatedTime, + Updated: testUpdatedTime, + }, + } + type fields struct { ID int64 TaskID int64 @@ -62,23 +80,7 @@ func TestLabelTask_ReadAll(t *testing.T) { wantLabels: []*labelWithTaskID{ { TaskID: 1, - Label: Label{ - ID: 4, - Title: "Label #4 - visible via other task", - Created: testCreatedTime, - Updated: testUpdatedTime, - CreatedByID: 2, - CreatedBy: &user.User{ - ID: 2, - Username: "user2", - Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", - Issuer: "local", - EmailRemindersEnabled: true, - OverdueTasksRemindersEnabled: true, - Created: testCreatedTime, - Updated: testUpdatedTime, - }, - }, + Label: label, }, }, }, @@ -104,6 +106,22 @@ func TestLabelTask_ReadAll(t *testing.T) { wantErr: true, errType: IsErrTaskDoesNotExist, }, + { + name: "search", + fields: fields{ + TaskID: 1, + }, + args: args{ + a: &user.User{ID: 1}, + search: "VISIBLE", + }, + wantLabels: []*labelWithTaskID{ + { + TaskID: 1, + Label: label, + }, + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/pkg/models/link_sharing_test.go b/pkg/models/link_sharing_test.go index 1e8917de7..8b3e6f2ee 100644 --- a/pkg/models/link_sharing_test.go +++ b/pkg/models/link_sharing_test.go @@ -103,6 +103,21 @@ func TestLinkSharing_ReadAll(t *testing.T) { assert.Empty(t, sharing.Password) } }) + t.Run("search", func(t *testing.T) { + db.LoadAndAssertFixtures(t) + s := db.NewSession() + defer s.Close() + + share := &LinkSharing{ + ListID: 1, + } + all, _, _, err := share.ReadAll(s, doer, "wITHPASS", 1, -1) + shares := all.([]*LinkSharing) + + assert.NoError(t, err) + assert.Len(t, shares, 1) + assert.Equal(t, int64(4), shares[0].ID) + }) } func TestLinkSharing_ReadOne(t *testing.T) { diff --git a/pkg/models/list_team_test.go b/pkg/models/list_team_test.go index 83cb64809..fa5da4a93 100644 --- a/pkg/models/list_team_test.go +++ b/pkg/models/list_team_test.go @@ -81,6 +81,20 @@ func TestTeamList_ReadAll(t *testing.T) { assert.True(t, IsErrNeedToHaveListReadAccess(err)) _ = s.Close() }) + t.Run("search", func(t *testing.T) { + tl := TeamList{ + ListID: 19, + } + db.LoadAndAssertFixtures(t) + s := db.NewSession() + teams, _, _, err := tl.ReadAll(s, u, "TEAM9", 1, 50) + assert.NoError(t, err) + assert.Equal(t, reflect.TypeOf(teams).Kind(), reflect.Slice) + ts := teams.([]*TeamWithRight) + assert.Len(t, ts, 1) + assert.Equal(t, int64(9), ts[0].ID) + _ = s.Close() + }) } func TestTeamList_Create(t *testing.T) { diff --git a/pkg/models/list_test.go b/pkg/models/list_test.go index 5a52b9016..0fde472a9 100644 --- a/pkg/models/list_test.go +++ b/pkg/models/list_test.go @@ -217,6 +217,19 @@ func TestList_ReadAll(t *testing.T) { assert.True(t, user.IsErrUserDoesNotExist(err)) _ = s.Close() }) + t.Run("search", func(t *testing.T) { + db.LoadAndAssertFixtures(t) + s := db.NewSession() + u := &user.User{ID: 1} + list := List{} + lists3, _, _, err := list.ReadAll(s, u, "TEST10", 1, 50) + + assert.NoError(t, err) + ls := lists3.([]*List) + assert.Equal(t, 1, len(ls)) + assert.Equal(t, int64(10), ls[0].ID) + _ = s.Close() + }) } func TestList_ReadOne(t *testing.T) { diff --git a/pkg/models/list_users_test.go b/pkg/models/list_users_test.go index f8c3968af..3ee8722f0 100644 --- a/pkg/models/list_users_test.go +++ b/pkg/models/list_users_test.go @@ -143,6 +143,33 @@ func TestListUser_Create(t *testing.T) { } func TestListUser_ReadAll(t *testing.T) { + user1Read := &UserWithRight{ + User: user.User{ + ID: 1, + Username: "user1", + Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", + Issuer: "local", + EmailRemindersEnabled: true, + OverdueTasksRemindersEnabled: true, + Created: testCreatedTime, + Updated: testUpdatedTime, + }, + Right: RightRead, + } + user2Read := &UserWithRight{ + User: user.User{ + ID: 2, + Username: "user2", + Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", + Issuer: "local", + EmailRemindersEnabled: true, + OverdueTasksRemindersEnabled: true, + Created: testCreatedTime, + Updated: testUpdatedTime, + }, + Right: RightRead, + } + type fields struct { ID int64 UserID int64 @@ -175,32 +202,8 @@ func TestListUser_ReadAll(t *testing.T) { a: &user.User{ID: 3}, }, want: []*UserWithRight{ - { - User: user.User{ - ID: 1, - Username: "user1", - Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", - Issuer: "local", - EmailRemindersEnabled: true, - OverdueTasksRemindersEnabled: true, - Created: testCreatedTime, - Updated: testUpdatedTime, - }, - Right: RightRead, - }, - { - User: user.User{ - ID: 2, - Username: "user2", - Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", - Issuer: "local", - EmailRemindersEnabled: true, - OverdueTasksRemindersEnabled: true, - Created: testCreatedTime, - Updated: testUpdatedTime, - }, - Right: RightRead, - }, + user1Read, + user2Read, }, }, { @@ -214,6 +217,19 @@ func TestListUser_ReadAll(t *testing.T) { wantErr: true, errType: IsErrNeedToHaveListReadAccess, }, + { + name: "Search", + fields: fields{ + ListID: 3, + }, + args: args{ + a: &user.User{ID: 3}, + search: "USER2", + }, + want: []*UserWithRight{ + user2Read, + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/pkg/models/namespace_team_test.go b/pkg/models/namespace_team_test.go index 86b393387..df9323f78 100644 --- a/pkg/models/namespace_team_test.go +++ b/pkg/models/namespace_team_test.go @@ -66,6 +66,21 @@ func TestTeamNamespace_ReadAll(t *testing.T) { assert.True(t, IsErrNeedToHaveNamespaceReadAccess(err)) _ = s.Close() }) + t.Run("search", func(t *testing.T) { + tn := TeamNamespace{ + NamespaceID: 3, + } + db.LoadAndAssertFixtures(t) + s := db.NewSession() + teams, _, _, err := tn.ReadAll(s, u, "READ_only_on_list6", 1, 50) + assert.NoError(t, err) + assert.Equal(t, reflect.TypeOf(teams).Kind(), reflect.Slice) + ts := teams.([]*TeamWithRight) + assert.Len(t, ts, 1) + assert.Equal(t, int64(2), ts[0].ID) + + _ = s.Close() + }) } func TestTeamNamespace_Create(t *testing.T) { diff --git a/pkg/models/namespace_test.go b/pkg/models/namespace_test.go index 09f6f8a51..cbd4f28a6 100644 --- a/pkg/models/namespace_test.go +++ b/pkg/models/namespace_test.go @@ -356,4 +356,17 @@ func TestNamespace_ReadAll(t *testing.T) { assert.NoError(t, err) assert.Nil(t, nn) }) + t.Run("search", func(t *testing.T) { + db.LoadAndAssertFixtures(t) + s := db.NewSession() + defer s.Close() + + n := &Namespace{} + nn, _, _, err := n.ReadAll(s, user6, "NamespACE7", 1, -1) + assert.NoError(t, err) + namespaces := nn.([]*NamespaceWithLists) + assert.NotNil(t, namespaces) + assert.Len(t, namespaces, 2) + assert.Equal(t, int64(7), namespaces[1].ID) + }) } diff --git a/pkg/models/namespace_users_test.go b/pkg/models/namespace_users_test.go index 6f75140ab..0cc288bd0 100644 --- a/pkg/models/namespace_users_test.go +++ b/pkg/models/namespace_users_test.go @@ -142,6 +142,33 @@ func TestNamespaceUser_Create(t *testing.T) { } func TestNamespaceUser_ReadAll(t *testing.T) { + user1 := &UserWithRight{ + User: user.User{ + ID: 1, + Username: "user1", + Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", + Issuer: "local", + EmailRemindersEnabled: true, + OverdueTasksRemindersEnabled: true, + Created: testCreatedTime, + Updated: testUpdatedTime, + }, + Right: RightRead, + } + user2 := &UserWithRight{ + User: user.User{ + ID: 2, + Username: "user2", + Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", + Issuer: "local", + EmailRemindersEnabled: true, + OverdueTasksRemindersEnabled: true, + Created: testCreatedTime, + Updated: testUpdatedTime, + }, + Right: RightRead, + } + type fields struct { ID int64 UserID int64 @@ -174,32 +201,8 @@ func TestNamespaceUser_ReadAll(t *testing.T) { a: &user.User{ID: 3}, }, want: []*UserWithRight{ - { - User: user.User{ - ID: 1, - Username: "user1", - Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", - Issuer: "local", - EmailRemindersEnabled: true, - OverdueTasksRemindersEnabled: true, - Created: testCreatedTime, - Updated: testUpdatedTime, - }, - Right: RightRead, - }, - { - User: user.User{ - ID: 2, - Username: "user2", - Password: "$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.", - Issuer: "local", - EmailRemindersEnabled: true, - OverdueTasksRemindersEnabled: true, - Created: testCreatedTime, - Updated: testUpdatedTime, - }, - Right: RightRead, - }, + user1, + user2, }, }, { @@ -213,6 +216,19 @@ func TestNamespaceUser_ReadAll(t *testing.T) { wantErr: true, errType: IsErrNeedToHaveNamespaceReadAccess, }, + { + name: "Search", + fields: fields{ + NamespaceID: 3, + }, + args: args{ + a: &user.User{ID: 3}, + search: "usER2", + }, + want: []*UserWithRight{ + user2, + }, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { diff --git a/pkg/models/task_comments_test.go b/pkg/models/task_comments_test.go index 077754ded..ac9590d3c 100644 --- a/pkg/models/task_comments_test.go +++ b/pkg/models/task_comments_test.go @@ -233,4 +233,16 @@ func TestTaskComment_ReadAll(t *testing.T) { } assert.True(t, foundComment) }) + t.Run("normal", func(t *testing.T) { + db.LoadAndAssertFixtures(t) + s := db.NewSession() + defer s.Close() + + tc := &TaskComment{TaskID: 35} + u := &user.User{ID: 1} + result, _, _, err := tc.ReadAll(s, u, "COMMENT 15", 0, -1) + resultComment := result.([]*TaskComment) + assert.NoError(t, err) + assert.Equal(t, int64(15), resultComment[0].ID) + }) } diff --git a/pkg/models/teams_test.go b/pkg/models/teams_test.go index de25b63e9..590dc4de6 100644 --- a/pkg/models/teams_test.go +++ b/pkg/models/teams_test.go @@ -112,6 +112,18 @@ func TestTeam_ReadAll(t *testing.T) { ts := reflect.ValueOf(teams) assert.Equal(t, 8, ts.Len()) }) + t.Run("search", func(t *testing.T) { + s := db.NewSession() + defer s.Close() + + team := &Team{} + teams, _, _, err := team.ReadAll(s, doer, "READ_only_on_list6", 1, 50) + assert.NoError(t, err) + assert.Equal(t, reflect.TypeOf(teams).Kind(), reflect.Slice) + ts := teams.([]*Team) + assert.Len(t, ts, 1) + assert.Equal(t, int64(2), ts[0].ID) + }) } func TestTeam_Update(t *testing.T) {