Add parameter to return group members in order of display name (#21775)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
fae9bdf173
Коммит
33b59e0e96
@@ -36,6 +36,7 @@ func TestGroupStore(t *testing.T, ss store.Store) {
|
||||
|
||||
t.Run("GetMemberUsers", func(t *testing.T) { testGroupGetMemberUsers(t, ss) })
|
||||
t.Run("GetMemberUsersPage", func(t *testing.T) { testGroupGetMemberUsersPage(t, ss) })
|
||||
t.Run("GetMemberUsersSortedPage", func(t *testing.T) { testGroupGetMemberUsersSortedPage(t, ss) })
|
||||
|
||||
t.Run("GetMemberUsersInTeam", func(t *testing.T) { testGroupGetMemberUsersInTeam(t, ss) })
|
||||
t.Run("GetMemberUsersNotInChannel", func(t *testing.T) { testGroupGetMemberUsersNotInChannel(t, ss) })
|
||||
@@ -861,7 +862,7 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
|
||||
u1 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
Username: "user1" + model.NewId(),
|
||||
}
|
||||
user1, nErr := ss.User().Save(u1)
|
||||
require.NoError(t, nErr)
|
||||
@@ -871,7 +872,7 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
|
||||
u2 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
Username: "user2" + model.NewId(),
|
||||
}
|
||||
user2, nErr := ss.User().Save(u2)
|
||||
require.NoError(t, nErr)
|
||||
@@ -881,7 +882,7 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
|
||||
u3 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: model.NewId(),
|
||||
Username: "user3" + model.NewId(),
|
||||
}
|
||||
user3, nErr := ss.User().Save(u3)
|
||||
require.NoError(t, nErr)
|
||||
@@ -898,13 +899,13 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
groupMembers, err = ss.Group().GetMemberUsersPage(group.Id, 0, 2, nil)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 2, len(groupMembers))
|
||||
require.ElementsMatch(t, []*model.User{user2, user3}, groupMembers)
|
||||
require.ElementsMatch(t, []*model.User{user1, user2}, groupMembers)
|
||||
|
||||
// Check page 2
|
||||
groupMembers, err = ss.Group().GetMemberUsersPage(group.Id, 1, 2, nil)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 1, len(groupMembers))
|
||||
require.ElementsMatch(t, []*model.User{user1}, groupMembers)
|
||||
require.ElementsMatch(t, []*model.User{user3}, groupMembers)
|
||||
|
||||
// Check madeup id
|
||||
groupMembers, err = ss.Group().GetMemberUsersPage(model.NewId(), 0, 100, nil)
|
||||
@@ -921,6 +922,87 @@ func testGroupGetMemberUsersPage(t *testing.T, ss store.Store) {
|
||||
require.Equal(t, 2, len(groupMembers))
|
||||
}
|
||||
|
||||
func testGroupGetMemberUsersSortedPage(t *testing.T, ss store.Store) {
|
||||
// Save a group
|
||||
g1 := &model.Group{
|
||||
Name: model.NewString(model.NewId()),
|
||||
DisplayName: model.NewId(),
|
||||
Description: model.NewId(),
|
||||
Source: model.GroupSourceLdap,
|
||||
RemoteId: model.NewString(model.NewId()),
|
||||
}
|
||||
group, err := ss.Group().Create(g1)
|
||||
require.NoError(t, err)
|
||||
|
||||
// First by nickname, third by full name, second by username
|
||||
u1 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: "y" + model.NewId(),
|
||||
Nickname: "a" + model.NewId(),
|
||||
FirstName: "z" + model.NewId(),
|
||||
LastName: "z" + model.NewId(),
|
||||
}
|
||||
user1, nErr := ss.User().Save(u1)
|
||||
require.NoError(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user1.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Second by nickname, first by full name, third by username
|
||||
u2 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: "z" + model.NewId(),
|
||||
FirstName: "b" + model.NewId(),
|
||||
LastName: "b" + model.NewId(),
|
||||
}
|
||||
user2, nErr := ss.User().Save(u2)
|
||||
require.NoError(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user2.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Third by nickname, second by full name, first by username
|
||||
u3 := &model.User{
|
||||
Email: MakeEmail(),
|
||||
Username: "d" + model.NewId(),
|
||||
}
|
||||
user3, nErr := ss.User().Save(u3)
|
||||
require.NoError(t, nErr)
|
||||
|
||||
_, err = ss.Group().UpsertMember(group.Id, user3.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Check nickname ordering, paged
|
||||
groupMembers, err := ss.Group().GetMemberUsersSortedPage(group.Id, 0, 2, nil, model.ShowNicknameFullName)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 2, len(groupMembers))
|
||||
require.ElementsMatch(t, []*model.User{user1, user2}, groupMembers)
|
||||
groupMembers, err = ss.Group().GetMemberUsersSortedPage(group.Id, 1, 2, nil, model.ShowNicknameFullName)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 1, len(groupMembers))
|
||||
require.ElementsMatch(t, []*model.User{user3}, groupMembers)
|
||||
|
||||
// Check full name ordering, paged
|
||||
groupMembers, err = ss.Group().GetMemberUsersSortedPage(group.Id, 0, 2, nil, model.ShowFullName)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 2, len(groupMembers))
|
||||
require.ElementsMatch(t, []*model.User{user2, user3}, groupMembers)
|
||||
groupMembers, err = ss.Group().GetMemberUsersSortedPage(group.Id, 1, 2, nil, model.ShowFullName)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 1, len(groupMembers))
|
||||
require.ElementsMatch(t, []*model.User{user1}, groupMembers)
|
||||
|
||||
// Check username ordering
|
||||
groupMembers, err = ss.Group().GetMemberUsersSortedPage(group.Id, 0, 2, nil, model.ShowUsername)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 2, len(groupMembers))
|
||||
require.ElementsMatch(t, []*model.User{user3, user1}, groupMembers)
|
||||
groupMembers, err = ss.Group().GetMemberUsersSortedPage(group.Id, 1, 2, nil, model.ShowUsername)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 1, len(groupMembers))
|
||||
require.ElementsMatch(t, []*model.User{user2}, groupMembers)
|
||||
}
|
||||
|
||||
func testGroupGetMemberUsersInTeam(t *testing.T, ss store.Store) {
|
||||
// Save a team
|
||||
team := &model.Team{
|
||||
|
||||
@@ -826,6 +826,29 @@ func (_m *GroupStore) GetMemberUsersPage(groupID string, page int, perPage int,
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetMemberUsersSortedPage provides a mock function with given fields: groupID, page, perPage, viewRestrictions, teammateNameDisplay
|
||||
func (_m *GroupStore) GetMemberUsersSortedPage(groupID string, page int, perPage int, viewRestrictions *model.ViewUsersRestrictions, teammateNameDisplay string) ([]*model.User, error) {
|
||||
ret := _m.Called(groupID, page, perPage, viewRestrictions, teammateNameDisplay)
|
||||
|
||||
var r0 []*model.User
|
||||
if rf, ok := ret.Get(0).(func(string, int, int, *model.ViewUsersRestrictions, string) []*model.User); ok {
|
||||
r0 = rf(groupID, page, perPage, viewRestrictions, teammateNameDisplay)
|
||||
} else {
|
||||
if ret.Get(0) != nil {
|
||||
r0 = ret.Get(0).([]*model.User)
|
||||
}
|
||||
}
|
||||
|
||||
var r1 error
|
||||
if rf, ok := ret.Get(1).(func(string, int, int, *model.ViewUsersRestrictions, string) error); ok {
|
||||
r1 = rf(groupID, page, perPage, viewRestrictions, teammateNameDisplay)
|
||||
} else {
|
||||
r1 = ret.Error(1)
|
||||
}
|
||||
|
||||
return r0, r1
|
||||
}
|
||||
|
||||
// GetNonMemberUsersPage provides a mock function with given fields: groupID, page, perPage, viewRestrictions
|
||||
func (_m *GroupStore) GetNonMemberUsersPage(groupID string, page int, perPage int, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, error) {
|
||||
ret := _m.Called(groupID, page, perPage, viewRestrictions)
|
||||
|
||||
Ссылка в новой задаче
Block a user