Add more tests for search
continuous-integration/drone/pr Build is failing
Details
continuous-integration/drone/pr Build is failing
Details
This commit is contained in:
parent
bdf34e50aa
commit
c6206d1c60
|
@ -30,6 +30,24 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestLabelTask_ReadAll(t *testing.T) {
|
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 {
|
type fields struct {
|
||||||
ID int64
|
ID int64
|
||||||
TaskID int64
|
TaskID int64
|
||||||
|
@ -62,23 +80,7 @@ func TestLabelTask_ReadAll(t *testing.T) {
|
||||||
wantLabels: []*labelWithTaskID{
|
wantLabels: []*labelWithTaskID{
|
||||||
{
|
{
|
||||||
TaskID: 1,
|
TaskID: 1,
|
||||||
Label: Label{
|
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,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -104,6 +106,22 @@ func TestLabelTask_ReadAll(t *testing.T) {
|
||||||
wantErr: true,
|
wantErr: true,
|
||||||
errType: IsErrTaskDoesNotExist,
|
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 {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
|
|
@ -103,6 +103,21 @@ func TestLinkSharing_ReadAll(t *testing.T) {
|
||||||
assert.Empty(t, sharing.Password)
|
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) {
|
func TestLinkSharing_ReadOne(t *testing.T) {
|
||||||
|
|
|
@ -81,6 +81,20 @@ func TestTeamList_ReadAll(t *testing.T) {
|
||||||
assert.True(t, IsErrNeedToHaveListReadAccess(err))
|
assert.True(t, IsErrNeedToHaveListReadAccess(err))
|
||||||
_ = s.Close()
|
_ = 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) {
|
func TestTeamList_Create(t *testing.T) {
|
||||||
|
|
|
@ -217,6 +217,19 @@ func TestList_ReadAll(t *testing.T) {
|
||||||
assert.True(t, user.IsErrUserDoesNotExist(err))
|
assert.True(t, user.IsErrUserDoesNotExist(err))
|
||||||
_ = s.Close()
|
_ = 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) {
|
func TestList_ReadOne(t *testing.T) {
|
||||||
|
|
|
@ -143,6 +143,33 @@ func TestListUser_Create(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestListUser_ReadAll(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 {
|
type fields struct {
|
||||||
ID int64
|
ID int64
|
||||||
UserID int64
|
UserID int64
|
||||||
|
@ -175,32 +202,8 @@ func TestListUser_ReadAll(t *testing.T) {
|
||||||
a: &user.User{ID: 3},
|
a: &user.User{ID: 3},
|
||||||
},
|
},
|
||||||
want: []*UserWithRight{
|
want: []*UserWithRight{
|
||||||
{
|
user1Read,
|
||||||
User: user.User{
|
user2Read,
|
||||||
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,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -214,6 +217,19 @@ func TestListUser_ReadAll(t *testing.T) {
|
||||||
wantErr: true,
|
wantErr: true,
|
||||||
errType: IsErrNeedToHaveListReadAccess,
|
errType: IsErrNeedToHaveListReadAccess,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "Search",
|
||||||
|
fields: fields{
|
||||||
|
ListID: 3,
|
||||||
|
},
|
||||||
|
args: args{
|
||||||
|
a: &user.User{ID: 3},
|
||||||
|
search: "USER2",
|
||||||
|
},
|
||||||
|
want: []*UserWithRight{
|
||||||
|
user2Read,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
|
|
@ -66,6 +66,21 @@ func TestTeamNamespace_ReadAll(t *testing.T) {
|
||||||
assert.True(t, IsErrNeedToHaveNamespaceReadAccess(err))
|
assert.True(t, IsErrNeedToHaveNamespaceReadAccess(err))
|
||||||
_ = s.Close()
|
_ = 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) {
|
func TestTeamNamespace_Create(t *testing.T) {
|
||||||
|
|
|
@ -356,4 +356,17 @@ func TestNamespace_ReadAll(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Nil(t, nn)
|
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)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,6 +142,33 @@ func TestNamespaceUser_Create(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNamespaceUser_ReadAll(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 {
|
type fields struct {
|
||||||
ID int64
|
ID int64
|
||||||
UserID int64
|
UserID int64
|
||||||
|
@ -174,32 +201,8 @@ func TestNamespaceUser_ReadAll(t *testing.T) {
|
||||||
a: &user.User{ID: 3},
|
a: &user.User{ID: 3},
|
||||||
},
|
},
|
||||||
want: []*UserWithRight{
|
want: []*UserWithRight{
|
||||||
{
|
user1,
|
||||||
User: user.User{
|
user2,
|
||||||
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,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -213,6 +216,19 @@ func TestNamespaceUser_ReadAll(t *testing.T) {
|
||||||
wantErr: true,
|
wantErr: true,
|
||||||
errType: IsErrNeedToHaveNamespaceReadAccess,
|
errType: IsErrNeedToHaveNamespaceReadAccess,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "Search",
|
||||||
|
fields: fields{
|
||||||
|
NamespaceID: 3,
|
||||||
|
},
|
||||||
|
args: args{
|
||||||
|
a: &user.User{ID: 3},
|
||||||
|
search: "usER2",
|
||||||
|
},
|
||||||
|
want: []*UserWithRight{
|
||||||
|
user2,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
|
|
@ -233,4 +233,16 @@ func TestTaskComment_ReadAll(t *testing.T) {
|
||||||
}
|
}
|
||||||
assert.True(t, foundComment)
|
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)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,6 +112,18 @@ func TestTeam_ReadAll(t *testing.T) {
|
||||||
ts := reflect.ValueOf(teams)
|
ts := reflect.ValueOf(teams)
|
||||||
assert.Equal(t, 8, ts.Len())
|
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) {
|
func TestTeam_Update(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue