[MM-26532] Support "active" filter on profile search (#14923)
* Support "active" filter on profile search * Add tests for active user filter
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
bec2f366a7
Коммит
11bc28b5fb
@@ -422,6 +422,8 @@ func (us SqlUserStore) GetAllProfiles(options *model.UserGetOptions) ([]*model.U
|
||||
|
||||
if options.Inactive {
|
||||
query = query.Where("u.DeleteAt != 0")
|
||||
} else if options.Active {
|
||||
query = query.Where("u.DeleteAt = 0")
|
||||
}
|
||||
|
||||
queryString, args, err := query.ToSql()
|
||||
@@ -526,6 +528,8 @@ func (us SqlUserStore) GetProfiles(options *model.UserGetOptions) ([]*model.User
|
||||
|
||||
if options.Inactive {
|
||||
query = query.Where("u.DeleteAt != 0")
|
||||
} else if options.Active {
|
||||
query = query.Where("u.DeleteAt = 0")
|
||||
}
|
||||
|
||||
queryString, args, err := query.ToSql()
|
||||
@@ -711,6 +715,8 @@ func (us SqlUserStore) GetProfilesWithoutTeam(options *model.UserGetOptions) ([]
|
||||
|
||||
if options.Inactive {
|
||||
query = query.Where("u.DeleteAt != 0")
|
||||
} else if options.Active {
|
||||
query = query.Where("u.DeleteAt = 0")
|
||||
}
|
||||
|
||||
queryString, args, err := query.ToSql()
|
||||
|
||||
@@ -516,6 +516,36 @@ func testUserStoreGetAllProfiles(t *testing.T, ss store.Store) {
|
||||
sanitized(u7),
|
||||
}, actual)
|
||||
})
|
||||
|
||||
t.Run("filter to active", func(t *testing.T) {
|
||||
actual, err := ss.User().GetAllProfiles(&model.UserGetOptions{
|
||||
Page: 0,
|
||||
PerPage: 10,
|
||||
Active: true,
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, []*model.User{
|
||||
sanitized(u1),
|
||||
sanitized(u2),
|
||||
sanitized(u3),
|
||||
sanitized(u4),
|
||||
sanitized(u5),
|
||||
}, actual)
|
||||
})
|
||||
|
||||
t.Run("try to filter to active and inactive", func(t *testing.T) {
|
||||
actual, err := ss.User().GetAllProfiles(&model.UserGetOptions{
|
||||
Page: 0,
|
||||
PerPage: 10,
|
||||
Inactive: true,
|
||||
Active: true,
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, []*model.User{
|
||||
sanitized(u6),
|
||||
sanitized(u7),
|
||||
}, actual)
|
||||
})
|
||||
}
|
||||
|
||||
func testUserStoreGetProfiles(t *testing.T, ss store.Store) {
|
||||
@@ -655,6 +685,36 @@ func testUserStoreGetProfiles(t *testing.T, ss store.Store) {
|
||||
sanitized(u5),
|
||||
}, actual)
|
||||
})
|
||||
|
||||
t.Run("filter to active", func(t *testing.T) {
|
||||
actual, err := ss.User().GetProfiles(&model.UserGetOptions{
|
||||
InTeamId: teamId,
|
||||
Page: 0,
|
||||
PerPage: 10,
|
||||
Active: true,
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, []*model.User{
|
||||
sanitized(u1),
|
||||
sanitized(u2),
|
||||
sanitized(u3),
|
||||
sanitized(u4),
|
||||
}, actual)
|
||||
})
|
||||
|
||||
t.Run("try to filter to active and inactive", func(t *testing.T) {
|
||||
actual, err := ss.User().GetProfiles(&model.UserGetOptions{
|
||||
InTeamId: teamId,
|
||||
Page: 0,
|
||||
PerPage: 10,
|
||||
Inactive: true,
|
||||
Active: true,
|
||||
})
|
||||
require.Nil(t, err)
|
||||
require.Equal(t, []*model.User{
|
||||
sanitized(u5),
|
||||
}, actual)
|
||||
})
|
||||
}
|
||||
|
||||
func testUserStoreGetProfilesInChannel(t *testing.T, ss store.Store) {
|
||||
|
||||
Ссылка в новой задаче
Block a user