Migrate tests from store/storetest/team_store.go to use testify (#12877)

* Migrate tests from store/storetest/team_store.go to use testify

* fix test

* fix varible declaration

* fix tests

* casting int64 to int for Equal check

* fix int64 int Equal check

* changes as per review
Этот коммит содержится в:
Nikhil Ranjan
2019-11-07 15:31:32 +01:00
коммит произвёл Sudheer
родитель 5646b12686
Коммит 540cfb0239

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

@@ -69,18 +69,15 @@ func testTeamStoreSave(t *testing.T, ss store.Store) {
o1.Email = MakeEmail() o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
if _, err := ss.Team().Save(&o1); err != nil { _, err := ss.Team().Save(&o1)
t.Fatal("couldn't save item", err) require.Nil(t, err, "couldn't save item")
}
if _, err := ss.Team().Save(&o1); err == nil { _, err = ss.Team().Save(&o1)
t.Fatal("shouldn't be able to update from save") require.NotNil(t, err, "shouldn't be able to update from save")
}
o1.Id = "" o1.Id = ""
if _, err := ss.Team().Save(&o1); err == nil { _, err = ss.Team().Save(&o1)
t.Fatal("should be unique domain") require.NotNil(t, err, "should be unique domain")
}
} }
func testTeamStoreUpdate(t *testing.T, ss store.Store) { func testTeamStoreUpdate(t *testing.T, ss store.Store) {
@@ -89,25 +86,21 @@ func testTeamStoreUpdate(t *testing.T, ss store.Store) {
o1.Name = "z-z-z" + model.NewId() + "b" o1.Name = "z-z-z" + model.NewId() + "b"
o1.Email = MakeEmail() o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
if _, err := ss.Team().Save(&o1); err != nil { _, err := ss.Team().Save(&o1)
t.Fatal(err) require.Nil(t, err)
}
time.Sleep(100 * time.Millisecond) time.Sleep(100 * time.Millisecond)
if _, err := ss.Team().Update(&o1); err != nil { _, err = ss.Team().Update(&o1)
t.Fatal(err) require.Nil(t, err)
}
o1.Id = "missing" o1.Id = "missing"
if _, err := ss.Team().Update(&o1); err == nil { _, err = ss.Team().Update(&o1)
t.Fatal("Update should have failed because of missing key") require.NotNil(t, err, "Update should have failed because of missing key")
}
o1.Id = model.NewId() o1.Id = model.NewId()
if _, err := ss.Team().Update(&o1); err == nil { _, err = ss.Team().Update(&o1)
t.Fatal("Update should have faile because id change") require.NotNil(t, err, "Update should have faile because id change")
}
} }
func testTeamStoreGet(t *testing.T, ss store.Store) { func testTeamStoreGet(t *testing.T, ss store.Store) {
@@ -134,21 +127,15 @@ func testTeamStoreGetByName(t *testing.T, ss store.Store) {
o1.Email = MakeEmail() o1.Email = MakeEmail()
o1.Type = model.TEAM_OPEN o1.Type = model.TEAM_OPEN
if _, err := ss.Team().Save(&o1); err != nil { _, err := ss.Team().Save(&o1)
t.Fatal(err) require.Nil(t, err)
}
if team, err := ss.Team().GetByName(o1.Name); err != nil { team, err := ss.Team().GetByName(o1.Name)
t.Fatal(err) require.Nil(t, err)
} else { require.Equal(t, *team, o1, "invalid returned team")
if team.ToJson() != o1.ToJson() {
t.Fatal("invalid returned team")
}
}
if _, err := ss.Team().GetByName(""); err == nil { _, err = ss.Team().GetByName("")
t.Fatal("Missing id should have failed") require.NotNil(t, err, "Missing id should have failed")
}
} }
func testTeamStoreSearchAll(t *testing.T, ss store.Store) { func testTeamStoreSearchAll(t *testing.T, ss store.Store) {
@@ -363,9 +350,7 @@ func testTeamStoreGetByInviteId(t *testing.T, ss store.Store) {
o1.InviteId = model.NewId() o1.InviteId = model.NewId()
save1, err := ss.Team().Save(&o1) save1, err := ss.Team().Save(&o1)
if err != nil { require.Nil(t, err)
t.Fatal(err)
}
o2 := model.Team{} o2 := model.Team{}
o2.DisplayName = "DisplayName" o2.DisplayName = "DisplayName"
@@ -373,17 +358,12 @@ func testTeamStoreGetByInviteId(t *testing.T, ss store.Store) {
o2.Email = MakeEmail() o2.Email = MakeEmail()
o2.Type = model.TEAM_OPEN o2.Type = model.TEAM_OPEN
if r1, err := ss.Team().GetByInviteId(save1.InviteId); err != nil { r1, err := ss.Team().GetByInviteId(save1.InviteId)
t.Fatal(err) require.Nil(t, err)
} else { require.Equal(t, *r1, o1, "invalid returned team")
if r1.ToJson() != o1.ToJson() {
t.Fatal("invalid returned team")
}
}
if _, err := ss.Team().GetByInviteId(""); err == nil { _, err = ss.Team().GetByInviteId("")
t.Fatal("Missing id should have failed") require.NotNil(t, err, "Missing id should have failed")
}
} }
func testTeamStoreByUserId(t *testing.T, ss store.Store) { func testTeamStoreByUserId(t *testing.T, ss store.Store) {
@@ -400,18 +380,10 @@ func testTeamStoreByUserId(t *testing.T, ss store.Store) {
_, err = ss.Team().SaveMember(m1, -1) _, err = ss.Team().SaveMember(m1, -1)
require.Nil(t, err) require.Nil(t, err)
if teams, err := ss.Team().GetTeamsByUserId(m1.UserId); err != nil { teams, err := ss.Team().GetTeamsByUserId(m1.UserId)
t.Fatal(err) require.Nil(t, err)
} else { require.Len(t, teams, 1, "Should return a team")
if len(teams) == 0 { require.Equal(t, teams[0].Id, o1.Id, "should be a member")
t.Fatal("Should return a team")
}
if teams[0].Id != o1.Id {
t.Fatal("should be a member")
}
}
} }
func testGetAllTeamListing(t *testing.T, ss store.Store) { func testGetAllTeamListing(t *testing.T, ss store.Store) {
@@ -449,19 +421,13 @@ func testGetAllTeamListing(t *testing.T, ss store.Store) {
_, err = ss.Team().Save(&o4) _, err = ss.Team().Save(&o4)
require.Nil(t, err) require.Nil(t, err)
if teams, err := ss.Team().GetAllTeamListing(); err != nil { teams, err := ss.Team().GetAllTeamListing()
t.Fatal(err) require.Nil(t, err)
} else { for _, team := range teams {
for _, team := range teams { require.True(t, team.AllowOpenInvite, "should have returned team with AllowOpenInvite as true")
if !team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as true")
}
}
if len(teams) == 0 {
t.Fatal("failed team listing")
}
} }
require.NotEmpty(t, teams, "failed team listing")
} }
func testGetAllTeamPageListing(t *testing.T, ss store.Store) { func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
@@ -505,14 +471,10 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
require.Nil(t, err) require.Nil(t, err)
for _, team := range teams { for _, team := range teams {
if !team.AllowOpenInvite { require.True(t, team.AllowOpenInvite, "should have returned team with AllowOpenInvite as true")
t.Fatal("should have returned team with AllowOpenInvite as true")
}
} }
if len(teams) > 10 { require.LessOrEqual(t, len(teams), 10, "should have returned max of 10 teams")
t.Fatal("should have returned max of 10 teams")
}
o5 := model.Team{} o5 := model.Team{}
o5.DisplayName = "DisplayName" o5.DisplayName = "DisplayName"
@@ -527,27 +489,19 @@ func testGetAllTeamPageListing(t *testing.T, ss store.Store) {
require.Nil(t, err) require.Nil(t, err)
for _, team := range teams { for _, team := range teams {
if !team.AllowOpenInvite { require.True(t, team.AllowOpenInvite, "should have returned team with AllowOpenInvite as true")
t.Fatal("should have returned team with AllowOpenInvite as true")
}
} }
if len(teams) > 4 { require.LessOrEqual(t, len(teams), 4, "should have returned max of 4 teams")
t.Fatal("should have returned max of 4 teams")
}
teams, err = ss.Team().GetAllTeamPageListing(1, 1) teams, err = ss.Team().GetAllTeamPageListing(1, 1)
require.Nil(t, err) require.Nil(t, err)
for _, team := range teams { for _, team := range teams {
if !team.AllowOpenInvite { require.True(t, team.AllowOpenInvite, "should have returned team with AllowOpenInvite as true")
t.Fatal("should have returned team with AllowOpenInvite as true")
}
} }
if len(teams) > 1 { require.LessOrEqual(t, len(teams), 1, "should have returned max of 1 team")
t.Fatal("should have returned max of 1 team")
}
} }
func testGetAllPrivateTeamListing(t *testing.T, ss store.Store) { func testGetAllPrivateTeamListing(t *testing.T, ss store.Store) {
@@ -585,18 +539,12 @@ func testGetAllPrivateTeamListing(t *testing.T, ss store.Store) {
_, err = ss.Team().Save(&o4) _, err = ss.Team().Save(&o4)
require.Nil(t, err) require.Nil(t, err)
if teams, err := ss.Team().GetAllPrivateTeamListing(); err != nil { teams, err := ss.Team().GetAllPrivateTeamListing()
t.Fatal(err) require.Nil(t, err)
} else { require.NotEmpty(t, teams, "failed team listing")
for _, team := range teams {
if team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as false")
}
}
if len(teams) == 0 { for _, team := range teams {
t.Fatal("failed team listing") require.False(t, team.AllowOpenInvite, "should have returned team with AllowOpenInvite as false")
}
} }
} }
@@ -637,20 +585,14 @@ func testGetAllPrivateTeamPageListing(t *testing.T, ss store.Store) {
_, err = ss.Team().Save(&o4) _, err = ss.Team().Save(&o4)
require.Nil(t, err) require.Nil(t, err)
if teams, listErr := ss.Team().GetAllPrivateTeamPageListing(0, 10); listErr != nil { teams, listErr := ss.Team().GetAllPrivateTeamPageListing(0, 10)
t.Fatal(listErr) require.Nil(t, listErr)
} else { for _, team := range teams {
for _, team := range teams { require.False(t, team.AllowOpenInvite, "should have returned team with AllowOpenInvite as false")
if team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as false")
}
}
if len(teams) > 10 {
t.Fatal("should have returned max of 10 teams")
}
} }
require.LessOrEqual(t, len(teams), 10, "should have returned max of 10 teams")
o5 := model.Team{} o5 := model.Team{}
o5.DisplayName = "DisplayName" o5.DisplayName = "DisplayName"
o5.Name = "z-z-z" + model.NewId() + "b" o5.Name = "z-z-z" + model.NewId() + "b"
@@ -660,33 +602,21 @@ func testGetAllPrivateTeamPageListing(t *testing.T, ss store.Store) {
_, err = ss.Team().Save(&o5) _, err = ss.Team().Save(&o5)
require.Nil(t, err) require.Nil(t, err)
if teams, listErr := ss.Team().GetAllPrivateTeamPageListing(0, 4); listErr != nil { teams, listErr = ss.Team().GetAllPrivateTeamPageListing(0, 4)
t.Fatal(listErr) require.Nil(t, listErr)
} else { for _, team := range teams {
for _, team := range teams { require.False(t, team.AllowOpenInvite, "should have returned team with AllowOpenInvite as false")
if team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as false")
}
}
if len(teams) > 4 {
t.Fatal("should have returned max of 4 teams")
}
} }
if teams, listErr := ss.Team().GetAllPrivateTeamPageListing(1, 1); listErr != nil { require.LessOrEqual(t, len(teams), 4, "should have returned max of 4 teams")
t.Fatal(listErr)
} else {
for _, team := range teams {
if team.AllowOpenInvite {
t.Fatal("should have returned team with AllowOpenInvite as false")
}
}
if len(teams) > 1 { teams, listErr = ss.Team().GetAllPrivateTeamPageListing(1, 1)
t.Fatal("should have returned max of 1 team") require.Nil(t, listErr)
} for _, team := range teams {
require.False(t, team.AllowOpenInvite, "should have returned team with AllowOpenInvite as false")
} }
require.LessOrEqual(t, len(teams), 1, "should have returned max of 1 team")
} }
func testGetAllPublicTeamPageListing(t *testing.T, ss store.Store) { func testGetAllPublicTeamPageListing(t *testing.T, ss store.Store) {
@@ -767,9 +697,8 @@ func testDelete(t *testing.T, ss store.Store) {
_, err = ss.Team().Save(&o2) _, err = ss.Team().Save(&o2)
require.Nil(t, err) require.Nil(t, err)
if r1 := ss.Team().PermanentDelete(o1.Id); r1 != nil { r1 := ss.Team().PermanentDelete(o1.Id)
t.Fatal(r1) require.Nil(t, r1)
}
} }
func testPublicTeamCount(t *testing.T, ss store.Store) { func testPublicTeamCount(t *testing.T, ss store.Store) {
@@ -852,13 +781,9 @@ func testTeamCount(t *testing.T, ss store.Store) {
_, err := ss.Team().Save(&o1) _, err := ss.Team().Save(&o1)
require.Nil(t, err) require.Nil(t, err)
if teamCount, err := ss.Team().AnalyticsTeamCount(); err != nil { teamCount, err := ss.Team().AnalyticsTeamCount()
t.Fatal(err) require.Nil(t, err)
} else { require.NotEqual(t, 0, int(teamCount), "should be at least 1 team")
if teamCount == 0 {
t.Fatal("should be at least 1 team")
}
}
} }
func testTeamMembers(t *testing.T, ss store.Store) { func testTeamMembers(t *testing.T, ss store.Store) {
@@ -880,47 +805,33 @@ func testTeamMembers(t *testing.T, ss store.Store) {
require.Nil(t, err) require.Nil(t, err)
assert.Len(t, ms, 2) assert.Len(t, ms, 2)
if ms, err = ss.Team().GetMembers(teamId2, 0, 100, nil); err != nil { ms, err = ss.Team().GetMembers(teamId2, 0, 100, nil)
t.Fatal(err) require.Nil(t, err)
} else { require.Len(t, ms, 1)
require.Equal(t, m3.UserId, ms[0].UserId)
require.Len(t, ms, 1) ms, err = ss.Team().GetTeamsForUser(m1.UserId)
require.Equal(t, m3.UserId, ms[0].UserId) require.Nil(t, err)
} require.Len(t, ms, 1)
require.Equal(t, m1.TeamId, ms[0].TeamId)
if ms, err = ss.Team().GetTeamsForUser(m1.UserId); err != nil { err = ss.Team().RemoveMember(teamId1, m1.UserId)
t.Fatal(err) require.Nil(t, err)
} else {
require.Len(t, ms, 1) ms, err = ss.Team().GetMembers(teamId1, 0, 100, nil)
require.Equal(t, m1.TeamId, ms[0].TeamId) require.Nil(t, err)
} require.Len(t, ms, 1)
require.Equal(t, m2.UserId, ms[0].UserId)
if err = ss.Team().RemoveMember(teamId1, m1.UserId); err != nil {
t.Fatal(err)
}
if ms, err = ss.Team().GetMembers(teamId1, 0, 100, nil); err != nil {
t.Fatal(err)
} else {
require.Len(t, ms, 1)
require.Equal(t, m2.UserId, ms[0].UserId)
}
_, err = ss.Team().SaveMember(m1, -1) _, err = ss.Team().SaveMember(m1, -1)
require.Nil(t, err) require.Nil(t, err)
if err = ss.Team().RemoveAllMembersByTeam(teamId1); err != nil { err = ss.Team().RemoveAllMembersByTeam(teamId1)
t.Fatal(err) require.Nil(t, err)
}
if ms, err = ss.Team().GetMembers(teamId1, 0, 100, nil); err != nil { ms, err = ss.Team().GetMembers(teamId1, 0, 100, nil)
t.Fatal(err) require.Nil(t, err)
} else { require.Len(t, ms, 0)
require.Len(t, ms, 0)
}
uid := model.NewId() uid := model.NewId()
m4 := &model.TeamMember{TeamId: teamId1, UserId: uid} m4 := &model.TeamMember{TeamId: teamId1, UserId: uid}
@@ -930,23 +841,16 @@ func testTeamMembers(t *testing.T, ss store.Store) {
_, err = ss.Team().SaveMember(m5, -1) _, err = ss.Team().SaveMember(m5, -1)
require.Nil(t, err) require.Nil(t, err)
if ms, err = ss.Team().GetTeamsForUser(uid); err != nil { ms, err = ss.Team().GetTeamsForUser(uid)
t.Fatal(err) require.Nil(t, err)
} else { require.Len(t, ms, 2)
require.Len(t, ms, 2) err = ss.Team().RemoveAllMembersByUser(uid)
} require.Nil(t, err)
if err = ss.Team().RemoveAllMembersByUser(uid); err != nil { ms, err = ss.Team().GetTeamsForUser(m1.UserId)
t.Fatal(err) require.Nil(t, err)
} require.Len(t, ms, 0)
if ms, err = ss.Team().GetTeamsForUser(m1.UserId); err != nil {
t.Fatal(err)
} else {
require.Len(t, ms, 0)
}
} }
func testTeamMembersWithPagination(t *testing.T, ss store.Store) { func testTeamMembersWithPagination(t *testing.T, ss store.Store) {
@@ -1044,11 +948,9 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
}(userIds[i]) }(userIds[i])
} }
if totalMemberCount, err := ss.Team().GetTotalMemberCount(team.Id, nil); err != nil { totalMemberCount, err := ss.Team().GetTotalMemberCount(team.Id, nil)
t.Fatal(err) require.Nil(t, err)
} else if int(totalMemberCount) != maxUsersPerTeam { require.Equal(t, int(totalMemberCount), maxUsersPerTeam, "should start with 5 team members, had %v instead", totalMemberCount)
t.Fatalf("should start with 5 team members, had %v instead", totalMemberCount)
}
user, err := ss.User().Save(&model.User{ user, err := ss.User().Save(&model.User{
Username: model.NewId(), Username: model.NewId(),
@@ -1060,47 +962,36 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
ss.User().PermanentDelete(newUserId) ss.User().PermanentDelete(newUserId)
}() }()
if _, err = ss.Team().SaveMember(&model.TeamMember{ _, err = ss.Team().SaveMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: newUserId, UserId: newUserId,
}, maxUsersPerTeam); err == nil { }, maxUsersPerTeam)
t.Fatal("shouldn't be able to save member when at maximum members per team") require.NotNil(t, err, "shouldn't be able to save member when at maximum members per team")
}
if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id, nil); teamErr != nil { totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id, nil)
t.Fatal(teamErr) require.Nil(t, teamErr)
} else if int(totalMemberCount) != maxUsersPerTeam { require.Equal(t, maxUsersPerTeam, int(totalMemberCount), "should still have 5 team members, had %v instead", totalMemberCount)
t.Fatalf("should still have 5 team members, had %v instead", totalMemberCount)
}
// Leaving the team from the UI sets DeleteAt instead of using TeamStore.RemoveMember // Leaving the team from the UI sets DeleteAt instead of using TeamStore.RemoveMember
if _, teamErr := ss.Team().UpdateMember(&model.TeamMember{ _, teamErr = ss.Team().UpdateMember(&model.TeamMember{
TeamId: team.Id, TeamId: team.Id,
UserId: userIds[0], UserId: userIds[0],
DeleteAt: 1234, DeleteAt: 1234,
}); teamErr != nil { })
panic(teamErr) require.Nil(t, teamErr)
}
if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id, nil); teamErr != nil { totalMemberCount, teamErr = ss.Team().GetTotalMemberCount(team.Id, nil)
t.Fatal(teamErr) require.Nil(t, teamErr)
} else if int(totalMemberCount) != maxUsersPerTeam-1 { require.Equal(t, maxUsersPerTeam-1, int(totalMemberCount), "should now only have 4 team members, had %v instead", totalMemberCount)
t.Fatalf("should now only have 4 team members, had %v instead", totalMemberCount)
}
if _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId}, maxUsersPerTeam); err != nil { _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId}, maxUsersPerTeam)
t.Fatal("should've been able to save new member after deleting one", err) require.Nil(t, err, "should've been able to save new member after deleting one")
} else {
defer func(userId string) {
ss.Team().RemoveMember(team.Id, userId)
}(newUserId)
}
if totalMemberCount, teamErr := ss.Team().GetTotalMemberCount(team.Id, nil); teamErr != nil { defer ss.Team().RemoveMember(team.Id, newUserId)
t.Fatal(teamErr)
} else if int(totalMemberCount) != maxUsersPerTeam { totalMemberCount, teamErr = ss.Team().GetTotalMemberCount(team.Id, nil)
t.Fatalf("should have 5 team members again, had %v instead", totalMemberCount) require.Nil(t, teamErr)
} require.Equal(t, maxUsersPerTeam, int(totalMemberCount), "should have 5 team members again, had %v instead", totalMemberCount)
// Deactivating a user should make them stop counting against max members // Deactivating a user should make them stop counting against max members
user2, err := ss.User().Get(userIds[1]) user2, err := ss.User().Get(userIds[1])
@@ -1115,13 +1006,10 @@ func testSaveTeamMemberMaxMembers(t *testing.T, ss store.Store) {
}) })
require.Nil(t, err) require.Nil(t, err)
newUserId2 := user.Id newUserId2 := user.Id
if _, err := ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId2}, maxUsersPerTeam); err != nil { _, err = ss.Team().SaveMember(&model.TeamMember{TeamId: team.Id, UserId: newUserId2}, maxUsersPerTeam)
t.Fatal("should've been able to save new member after deleting one", err) require.Nil(t, err, "should've been able to save new member after deleting one")
} else {
defer func(userId string) { defer ss.Team().RemoveMember(team.Id, newUserId2)
ss.Team().RemoveMember(team.Id, userId)
}(newUserId2)
}
} }
func testGetTeamMember(t *testing.T, ss store.Store) { func testGetTeamMember(t *testing.T, ss store.Store) {
@@ -1132,26 +1020,18 @@ func testGetTeamMember(t *testing.T, ss store.Store) {
require.Nil(t, err) require.Nil(t, err)
var rm1 *model.TeamMember var rm1 *model.TeamMember
if rm1, err = ss.Team().GetMember(m1.TeamId, m1.UserId); err != nil { rm1, err = ss.Team().GetMember(m1.TeamId, m1.UserId)
t.Fatal(err) require.Nil(t, err)
} else {
if rm1.TeamId != m1.TeamId { require.Equal(t, rm1.TeamId, m1.TeamId, "bad team id")
t.Fatal("bad team id")
}
if rm1.UserId != m1.UserId { require.Equal(t, rm1.UserId, m1.UserId, "bad user id")
t.Fatal("bad user id")
}
}
if _, err = ss.Team().GetMember(m1.TeamId, ""); err == nil { _, err = ss.Team().GetMember(m1.TeamId, "")
t.Fatal("empty user id - should have failed") require.NotNil(t, err, "empty user id - should have failed")
}
if _, err = ss.Team().GetMember("", m1.UserId); err == nil { _, err = ss.Team().GetMember("", m1.UserId)
t.Fatal("empty team id - should have failed") require.NotNil(t, err, "empty team id - should have failed")
}
// Test with a custom team scheme. // Test with a custom team scheme.
s2 := &model.Scheme{ s2 := &model.Scheme{
@@ -1204,36 +1084,24 @@ func testGetTeamMembersByIds(t *testing.T, ss store.Store) {
require.Nil(t, err) require.Nil(t, err)
var r []*model.TeamMember var r []*model.TeamMember
if r, err = ss.Team().GetMembersByIds(m1.TeamId, []string{m1.UserId}, nil); err != nil { r, err = ss.Team().GetMembersByIds(m1.TeamId, []string{m1.UserId}, nil)
t.Fatal(err) require.Nil(t, err)
} else { rm1 := r[0]
rm1 := r[0]
if rm1.TeamId != m1.TeamId { require.Equal(t, rm1.TeamId, m1.TeamId, "bad team id")
t.Fatal("bad team id") require.Equal(t, rm1.UserId, m1.UserId, "bad user id")
}
if rm1.UserId != m1.UserId {
t.Fatal("bad user id")
}
}
m2 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()} m2 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()}
_, err = ss.Team().SaveMember(m2, -1) _, err = ss.Team().SaveMember(m2, -1)
require.Nil(t, err) require.Nil(t, err)
if rm, err := ss.Team().GetMembersByIds(m1.TeamId, []string{m1.UserId, m2.UserId, model.NewId()}, nil); err != nil { rm, err := ss.Team().GetMembersByIds(m1.TeamId, []string{m1.UserId, m2.UserId, model.NewId()}, nil)
t.Fatal(err) require.Nil(t, err)
} else {
if len(rm) != 2 { require.Len(t, rm, 2, "return wrong number of results")
t.Fatal("return wrong number of results")
}
}
if _, err := ss.Team().GetMembersByIds(m1.TeamId, []string{}, nil); err == nil { _, err = ss.Team().GetMembersByIds(m1.TeamId, []string{}, nil)
t.Fatal("empty user ids - should have failed") require.NotNil(t, err, "empty user ids - should have failed")
}
} }
func testTeamStoreMemberCount(t *testing.T, ss store.Store) { func testTeamStoreMemberCount(t *testing.T, ss store.Store) {
@@ -1258,42 +1126,26 @@ func testTeamStoreMemberCount(t *testing.T, ss store.Store) {
require.Nil(t, err) require.Nil(t, err)
var totalMemberCount int64 var totalMemberCount int64
if totalMemberCount, err = ss.Team().GetTotalMemberCount(teamId1, nil); err != nil { totalMemberCount, err = ss.Team().GetTotalMemberCount(teamId1, nil)
t.Fatal(err) require.Nil(t, err)
} else { require.Equal(t, int(totalMemberCount), 2, "wrong count")
if totalMemberCount != 2 {
t.Fatal("wrong count")
}
}
var result int64 var result int64
if result, err = ss.Team().GetActiveMemberCount(teamId1, nil); err != nil { result, err = ss.Team().GetActiveMemberCount(teamId1, nil)
t.Fatal(err) require.Nil(t, err)
} else { require.Equal(t, 1, int(result), "wrong count")
if result != 1 {
t.Fatal("wrong count")
}
}
m3 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()} m3 := &model.TeamMember{TeamId: teamId1, UserId: model.NewId()}
_, err = ss.Team().SaveMember(m3, -1) _, err = ss.Team().SaveMember(m3, -1)
require.Nil(t, err) require.Nil(t, err)
if totalMemberCount, err := ss.Team().GetTotalMemberCount(teamId1, nil); err != nil { totalMemberCount, err = ss.Team().GetTotalMemberCount(teamId1, nil)
t.Fatal(err) require.Nil(t, err)
} else { require.Equal(t, 2, int(totalMemberCount), "wrong count")
if totalMemberCount != 2 {
t.Fatal("wrong count")
}
}
if result, err := ss.Team().GetActiveMemberCount(teamId1, nil); err != nil { result, err = ss.Team().GetActiveMemberCount(teamId1, nil)
t.Fatal(err) require.Nil(t, err)
} else { require.Equal(t, 1, int(result), "wrong count")
if result != 1 {
t.Fatal("wrong count")
}
}
} }
func testGetChannelUnreadsForAllTeams(t *testing.T, ss store.Store) { func testGetChannelUnreadsForAllTeams(t *testing.T, ss store.Store) {
@@ -1323,48 +1175,35 @@ func testGetChannelUnreadsForAllTeams(t *testing.T, ss store.Store) {
_, err = ss.Channel().SaveMember(cm2) _, err = ss.Channel().SaveMember(cm2)
require.Nil(t, err) require.Nil(t, err)
if ms1, err := ss.Team().GetChannelUnreadsForAllTeams("", uid); err != nil { ms1, err := ss.Team().GetChannelUnreadsForAllTeams("", uid)
t.Fatal(err) require.Nil(t, err)
} else { membersMap := make(map[string]bool)
membersMap := make(map[string]bool) for i := range ms1 {
for i := range ms1 { id := ms1[i].TeamId
id := ms1[i].TeamId if _, ok := membersMap[id]; !ok {
if _, ok := membersMap[id]; !ok { membersMap[id] = true
membersMap[id] = true
}
}
if len(membersMap) != 2 {
t.Fatal("Should be the unreads for all the teams")
} }
}
require.Len(t, membersMap, 2, "Should be the unreads for all the teams")
if ms1[0].MsgCount != 10 { require.Equal(t, 10, int(ms1[0].MsgCount), "subtraction failed")
t.Fatal("subtraction failed")
ms2, err := ss.Team().GetChannelUnreadsForAllTeams(teamId1, uid)
require.Nil(t, err)
membersMap = make(map[string]bool)
for i := range ms2 {
id := ms2[i].TeamId
if _, ok := membersMap[id]; !ok {
membersMap[id] = true
} }
} }
if ms2, err := ss.Team().GetChannelUnreadsForAllTeams(teamId1, uid); err != nil { require.Len(t, membersMap, 1, "Should be the unreads for just one team")
t.Fatal(err)
} else {
membersMap := make(map[string]bool)
for i := range ms2 {
id := ms2[i].TeamId
if _, ok := membersMap[id]; !ok {
membersMap[id] = true
}
}
if len(membersMap) != 1 { require.Equal(t, 10, int(ms2[0].MsgCount), "subtraction failed")
t.Fatal("Should be the unreads for just one team")
}
if ms2[0].MsgCount != 10 { err = ss.Team().RemoveAllMembersByUser(uid)
t.Fatal("subtraction failed") require.Nil(t, err)
}
}
if err := ss.Team().RemoveAllMembersByUser(uid); err != nil {
t.Fatal(err)
}
} }
func testGetChannelUnreadsForTeam(t *testing.T, ss store.Store) { func testGetChannelUnreadsForTeam(t *testing.T, ss store.Store) {
@@ -1390,17 +1229,11 @@ func testGetChannelUnreadsForTeam(t *testing.T, ss store.Store) {
_, err = ss.Channel().SaveMember(cm2) _, err = ss.Channel().SaveMember(cm2)
require.Nil(t, err) require.Nil(t, err)
if ms, err := ss.Team().GetChannelUnreadsForTeam(m1.TeamId, m1.UserId); err != nil { ms, err := ss.Team().GetChannelUnreadsForTeam(m1.TeamId, m1.UserId)
t.Fatal(err) require.Nil(t, err)
} else { require.Len(t, ms, 2, "wrong length")
if len(ms) != 2 {
t.Fatal("wrong length")
}
if ms[0].MsgCount != 10 { require.Equal(t, 10, int(ms[0].MsgCount), "subtraction failed")
t.Fatal("subtraction failed")
}
}
} }
func testUpdateLastTeamIconUpdate(t *testing.T, ss store.Store) { func testUpdateLastTeamIconUpdate(t *testing.T, ss store.Store) {
@@ -1419,16 +1252,13 @@ func testUpdateLastTeamIconUpdate(t *testing.T, ss store.Store) {
curTime := model.GetMillis() curTime := model.GetMillis()
if err = ss.Team().UpdateLastTeamIconUpdate(o1.Id, curTime); err != nil { err = ss.Team().UpdateLastTeamIconUpdate(o1.Id, curTime)
t.Fatal(err) require.Nil(t, err)
}
ro1, err := ss.Team().Get(o1.Id) ro1, err := ss.Team().Get(o1.Id)
require.Nil(t, err) require.Nil(t, err)
if ro1.LastTeamIconUpdate <= lastTeamIconUpdateInitial { require.Greater(t, ro1.LastTeamIconUpdate, lastTeamIconUpdateInitial, "LastTeamIconUpdate not updated")
t.Fatal("LastTeamIconUpdate not updated")
}
} }
func testGetTeamsByScheme(t *testing.T, ss store.Store) { func testGetTeamsByScheme(t *testing.T, ss store.Store) {