* removed server side

* Updated store layer

* unused import

* Updated autogenerated code template

* Updated tests

* lint fix

* unused translations

* webapp side

* Updated i18n

* lint fix:

* type fix

* Updated snapshots

* Removed insights from API specs

* updated e2e

* Updated e2e tests

* Updated e2e tests

* Removed insights tests

* Removed Insights as possible channel to load in sidebar from test

* Removed more insights tests

* More e2e fixed

* More cleanup

* Lint

* More cleanup in client4 and boards api

* More cleanup

* Fixes

* lint fix

---------

Co-authored-by: maria.nunez <maria.nunez@mattermost.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Harshil Sharma
2023-07-25 12:34:38 +05:30
коммит произвёл GitHub
родитель e37459cd00
Коммит 26617fcbdc
192 изменённых файлов: 47 добавлений и 19885 удалений

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

@@ -1620,200 +1620,6 @@ func TestInviteGuestsToChannelsGracefully(t *testing.T) {
})
}
func TestGetNewTeamMembersSince(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()
th.ConfigStore.SetReadOnlyFF(false)
defer th.ConfigStore.SetReadOnlyFF(true)
th.App.UpdateConfig(func(cfg *model.Config) { cfg.FeatureFlags.InsightsEnabled = true })
team := th.CreateTeam()
t.Run("counts team members", func(t *testing.T) {
var originalExpectedCount int64
var newTeamMemberJoinTime int64
var anotherUser *model.User
t.Run("since time 0", func(t *testing.T) {
teamMembers, err := th.App.Srv().Store().Team().GetMembers(team.Id, 0, 1000, nil)
require.NoError(t, err)
originalExpectedCount = int64(len(teamMembers))
_, actualCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Equal(t, originalExpectedCount, actualCount)
})
t.Run("after a new team member was added", func(t *testing.T) {
anotherUser = th.CreateUser()
newTeamMember, appErr := th.App.JoinUserToTeam(th.Context, team, anotherUser, "")
newTeamMemberJoinTime = newTeamMember.CreateAt
require.Nil(t, appErr)
_, actualCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Equal(t, originalExpectedCount+1, actualCount)
})
t.Run("after a team member was added to a different team, ensuring the wrong team's member count isn't incremented", func(t *testing.T) {
anotherUser2 := th.CreateUser()
anotherTeam := th.CreateTeam()
_, appErr := th.App.JoinUserToTeam(th.Context, anotherTeam, anotherUser2, "")
require.Nil(t, appErr)
_, actualCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Equal(t, originalExpectedCount+1, actualCount)
})
t.Run("since a given time", func(t *testing.T) {
_, actualCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: newTeamMemberJoinTime, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Equal(t, int64(1), actualCount)
})
t.Run("after a team member was removed", func(t *testing.T) {
th.RemoveUserFromTeam(anotherUser, team)
_, actualCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Equal(t, originalExpectedCount, actualCount)
})
t.Run("after a user was deactivated", func(t *testing.T) {
_, appErr := th.App.JoinUserToTeam(th.Context, team, anotherUser, "")
require.Nil(t, appErr)
_, beforeCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
_, appErr = th.App.UpdateActive(th.Context, anotherUser, false)
defer th.App.UpdateActive(th.Context, anotherUser, true)
require.Nil(t, appErr)
_, afterCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Equal(t, beforeCount-1, afterCount)
})
t.Run("after a user was permanently deleted", func(t *testing.T) {
_, beforeCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
appErr = th.App.PermanentDeleteUser(th.Context, anotherUser)
require.Nil(t, appErr)
_, afterCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Equal(t, beforeCount-1, afterCount)
})
t.Run("exclude bots", func(t *testing.T) {
user := th.CreateUser()
_, appErr := th.App.ConvertUserToBot(user)
require.Nil(t, appErr)
_, appErr = th.App.JoinUserToTeam(th.Context, team, user, "")
require.Nil(t, appErr)
_, actualCount, appErr := th.App.GetNewTeamMembersSince(th.Context, team.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Equal(t, originalExpectedCount, actualCount)
})
})
t.Run("returns the correct team members", func(t *testing.T) {
var originalExpectedMembers []*model.TeamMember
var newTeamMemberJoinTime int64
var anotherUser *model.User
uIDs := func(members []*model.TeamMember) []string {
ids := []string{}
for _, member := range members {
ids = append(ids, member.UserId)
}
return ids
}
nUIDs := func(members []*model.NewTeamMember) []string {
ids := []string{}
for _, member := range members {
ids = append(ids, member.Id)
}
return ids
}
t.Run("since time 0", func(t *testing.T) {
var err error
originalExpectedMembers, err = th.App.Srv().Store().Team().GetMembers(th.BasicTeam.Id, 0, 1000, nil)
require.NoError(t, err)
actualMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.ElementsMatch(t, uIDs(originalExpectedMembers), nUIDs(actualMembersList.Items))
})
t.Run("after a new team member was added", func(t *testing.T) {
anotherUser = th.CreateUser()
newTeamMember, appErr := th.App.JoinUserToTeam(th.Context, th.BasicTeam, anotherUser, "")
newTeamMemberJoinTime = newTeamMember.CreateAt
require.Nil(t, appErr)
actualMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.ElementsMatch(t, append(uIDs(originalExpectedMembers), anotherUser.Id), nUIDs(actualMembersList.Items))
})
t.Run("after a team member was added to a different team, ensuring the wrong team's member count isn't incremented", func(t *testing.T) {
anotherUser2 := th.CreateUser()
anotherTeam := th.CreateTeam()
_, appErr := th.App.JoinUserToTeam(th.Context, anotherTeam, anotherUser2, "")
require.Nil(t, appErr)
actualMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.ElementsMatch(t, append(uIDs(originalExpectedMembers), anotherUser.Id), nUIDs(actualMembersList.Items))
})
t.Run("since a given time", func(t *testing.T) {
actualMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: newTeamMemberJoinTime, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Len(t, actualMembersList.Items, 1)
require.Equal(t, anotherUser.Id, actualMembersList.Items[0].Id)
})
t.Run("after a team member was removed", func(t *testing.T) {
th.RemoveUserFromTeam(anotherUser, th.BasicTeam)
actualMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.ElementsMatch(t, uIDs(originalExpectedMembers), nUIDs(actualMembersList.Items))
})
t.Run("after a user was deactivated", func(t *testing.T) {
_, appErr := th.App.JoinUserToTeam(th.Context, th.BasicTeam, anotherUser, "")
require.Nil(t, appErr)
beforeMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Contains(t, nUIDs(beforeMembersList.Items), anotherUser.Id)
_, appErr = th.App.UpdateActive(th.Context, anotherUser, false)
defer th.App.UpdateActive(th.Context, anotherUser, true)
require.Nil(t, appErr)
afterMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.NotContains(t, nUIDs(afterMembersList.Items), anotherUser.Id)
})
t.Run("after a user was permanently deleted", func(t *testing.T) {
beforeMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.Contains(t, nUIDs(beforeMembersList.Items), anotherUser.Id)
appErr = th.App.PermanentDeleteUser(th.Context, anotherUser)
require.Nil(t, appErr)
afterMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.NotContains(t, nUIDs(afterMembersList.Items), anotherUser.Id)
})
t.Run("exclude bots", func(t *testing.T) {
user := th.CreateUser()
_, appErr := th.App.ConvertUserToBot(user)
require.Nil(t, appErr)
_, appErr = th.App.JoinUserToTeam(th.Context, th.BasicTeam, user, "")
require.Nil(t, appErr)
actualMembersList, _, appErr := th.App.GetNewTeamMembersSince(th.Context, th.BasicTeam.Id, &model.InsightsOpts{StartUnixMilli: 0, Page: 0, PerPage: 1000})
require.Nil(t, appErr)
require.ElementsMatch(t, uIDs(originalExpectedMembers), nUIDs(actualMembersList.Items))
})
})
}
func TestTeamSendEvents(t *testing.T) {
th := Setup(t).InitBasic()
defer th.TearDown()