fix: group moderation and profile sync
This commit is contained in:
@@ -15,6 +15,30 @@ func TestForTenantRejectsZero(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGroupMemberPostRoleUsesCurrentBusinessRole(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
member *types.GroupMember
|
||||
allowed bool
|
||||
checkMute bool
|
||||
}{
|
||||
{name: "missing member"},
|
||||
{name: "ordinary member", member: &types.GroupMember{Role: types.GroupMemberRoleMember, MemberStatus: types.GroupMemberStatusActive}, checkMute: true},
|
||||
{name: "administrator", member: &types.GroupMember{Role: types.GroupMemberRoleAdmin, MemberStatus: types.GroupMemberStatusActive}, allowed: true},
|
||||
{name: "owner", member: &types.GroupMember{Role: types.GroupMemberRoleOwner, MemberStatus: types.GroupMemberStatusActive}, allowed: true},
|
||||
{name: "departed administrator", member: &types.GroupMember{Role: types.GroupMemberRoleAdmin, MemberStatus: types.GroupMemberStatusLeft}},
|
||||
{name: "unknown role", member: &types.GroupMember{Role: "unknown", MemberStatus: types.GroupMemberStatusActive}},
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
allowed, checkMute := groupMemberPostRole(test.member)
|
||||
if allowed != test.allowed || checkMute != test.checkMute {
|
||||
t.Fatalf("got allowed=%t checkMute=%t, want allowed=%t checkMute=%t", allowed, checkMute, test.allowed, test.checkMute)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateMessageHeadersProductContract(t *testing.T) {
|
||||
valid := []types.KVMap{
|
||||
{"x-im-schema": float64(1), "x-im-type": "text"},
|
||||
|
||||
Reference in New Issue
Block a user