|
|
|
|
@ -152,6 +152,23 @@ func TestTeamCommandsAndQueries(t *testing.T) { |
|
|
|
|
So(len(q2.Result), ShouldEqual, 0) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("When ProtectLastAdmin is set to true", func() { |
|
|
|
|
err = AddTeamMember(&m.AddTeamMemberCommand{OrgId: testOrgId, TeamId: group1.Result.Id, UserId: userIds[0], Permission: int64(m.PERMISSION_ADMIN)}) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
Convey("A user should not be able to remove the last admin", func() { |
|
|
|
|
err = RemoveTeamMember(&m.RemoveTeamMemberCommand{OrgId: testOrgId, TeamId: group1.Result.Id, UserId: userIds[0], ProtectLastAdmin: true}) |
|
|
|
|
So(err, ShouldEqual, m.ErrLastTeamAdmin) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("A user should be able to remove an admin if there are other admins", func() { |
|
|
|
|
err = AddTeamMember(&m.AddTeamMemberCommand{OrgId: testOrgId, TeamId: group1.Result.Id, UserId: userIds[1], Permission: int64(m.PERMISSION_ADMIN)}) |
|
|
|
|
err = RemoveTeamMember(&m.RemoveTeamMemberCommand{OrgId: testOrgId, TeamId: group1.Result.Id, UserId: userIds[0], ProtectLastAdmin: true}) |
|
|
|
|
So(err, ShouldEqual, nil) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("Should be able to remove a group with users and permissions", func() { |
|
|
|
|
groupId := group2.Result.Id |
|
|
|
|
err := AddTeamMember(&m.AddTeamMemberCommand{OrgId: testOrgId, TeamId: groupId, UserId: userIds[1]}) |
|
|
|
|
|