ES now supports inactive users filtering (#14463)

* ES now supports inactive users filtering
Этот коммит содержится в:
Mario de Frutos Dieguez
2020-06-18 21:17:35 +02:00
коммит произвёл GitHub
родитель 22aff2af4a
Коммит 0a96ed04a3

Просмотреть файл

@@ -94,7 +94,7 @@ var searchUserStoreTests = []searchTest{
{
Name: "Should be able to search inactive users",
Fn: testShouldBeAbleToSearchInactiveUsers,
Tags: []string{ENGINE_POSTGRES, ENGINE_MYSQL},
Tags: []string{ENGINE_MYSQL, ENGINE_POSTGRES, ENGINE_ELASTICSEARCH},
},
{
Name: "Should be able to search filtering by role",
@@ -543,7 +543,7 @@ func testShouldEscapeUnderscoreCharacter(t *testing.T, th *SearchTestHelper) {
}
func testShouldBeAbleToSearchInactiveUsers(t *testing.T, th *SearchTestHelper) {
userAlternate, err := th.createUser("alternate-username", "alternatenickname", "firstname", "altlastname")
userAlternate, err := th.createUser("basicusernamealternate", "alternatenickname", "firstname", "altlastname")
require.Nil(t, err)
userAlternate.DeleteAt = model.GetMillis()
_, apperr := th.Store.User().Update(userAlternate, true)
@@ -554,32 +554,33 @@ func testShouldBeAbleToSearchInactiveUsers(t *testing.T, th *SearchTestHelper) {
_, err = th.addUserToChannels(userAlternate, []string{th.ChannelBasic.Id})
require.Nil(t, err)
options := &model.UserSearchOptions{
AllowInactive: true,
Limit: model.USER_SEARCH_DEFAULT_LIMIT,
Limit: model.USER_SEARCH_DEFAULT_LIMIT,
}
t.Run("Should autocomplete inactive users if we allow it", func(t *testing.T) {
users, apperr := th.Store.User().AutocompleteUsersInChannel(th.Team.Id, th.ChannelBasic.Id, "alternate-username", options)
options.AllowInactive = true
users, apperr := th.Store.User().AutocompleteUsersInChannel(th.Team.Id, th.ChannelBasic.Id, "basicusername", options)
require.Nil(t, apperr)
th.assertUsersMatchInAnyOrder(t, []*model.User{userAlternate}, users.InChannel)
th.assertUsersMatchInAnyOrder(t, []*model.User{}, users.OutOfChannel)
th.assertUsersMatchInAnyOrder(t, []*model.User{th.User, userAlternate}, users.InChannel)
th.assertUsersMatchInAnyOrder(t, []*model.User{th.User2}, users.OutOfChannel)
})
t.Run("Should search inactive users if we allow it", func(t *testing.T) {
users, apperr := th.Store.User().Search(th.Team.Id, "alternate-username", options)
options.AllowInactive = true
users, apperr := th.Store.User().Search(th.Team.Id, "basicusername", options)
require.Nil(t, apperr)
th.assertUsersMatchInAnyOrder(t, []*model.User{userAlternate}, users)
th.assertUsersMatchInAnyOrder(t, []*model.User{th.User, th.User2, userAlternate}, users)
})
t.Run("Shouldn't autocomplete inactive users if we don't allow it", func(t *testing.T) {
options.AllowInactive = false
users, apperr := th.Store.User().AutocompleteUsersInChannel(th.Team.Id, th.ChannelBasic.Id, "alternate-username", options)
users, apperr := th.Store.User().AutocompleteUsersInChannel(th.Team.Id, th.ChannelBasic.Id, "basicusername", options)
require.Nil(t, apperr)
th.assertUsersMatchInAnyOrder(t, []*model.User{}, users.InChannel)
th.assertUsersMatchInAnyOrder(t, []*model.User{}, users.OutOfChannel)
th.assertUsersMatchInAnyOrder(t, []*model.User{th.User}, users.InChannel)
th.assertUsersMatchInAnyOrder(t, []*model.User{th.User2}, users.OutOfChannel)
})
t.Run("Shouldn't search inactive users if we don't allow it", func(t *testing.T) {
options.AllowInactive = false
users, apperr := th.Store.User().Search(th.Team.Id, "alternate-username", options)
users, apperr := th.Store.User().Search(th.Team.Id, "basicusername", options)
require.Nil(t, apperr)
th.assertUsersMatchInAnyOrder(t, []*model.User{}, users)
th.assertUsersMatchInAnyOrder(t, []*model.User{th.User, th.User2}, users)
})
}