fix: align group private chat permission semantics
This commit is contained in:
@@ -171,3 +171,24 @@ func TestSharedDBGroupFileLinkIncludesTenantID(t *testing.T) {
|
||||
t.Fatal("TenantGroupFileCreate must not rely on im_filemsglinks.tenant_id default")
|
||||
}
|
||||
}
|
||||
|
||||
func TestTenantUsersShareOpenPrivateGroupChecksBothMembersAndSetting(t *testing.T) {
|
||||
source, err := os.ReadFile("tenant_groups.go")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
body := sourceBetween(t, string(source), "func (a *adapter) TenantUsersShareOpenPrivateGroup", "\nfunc (a *adapter) TenantGroupMemberUpdate")
|
||||
for _, required := range []string{
|
||||
"INNER JOIN im_group_members AS gm2",
|
||||
"gm2.topic=gm1.topic",
|
||||
"INNER JOIN im_group_settings AS gs",
|
||||
"gs.member_private_chat=1",
|
||||
"gm1.member_status=?",
|
||||
"gm2.member_status=?",
|
||||
"gs.group_status=?",
|
||||
} {
|
||||
if !strings.Contains(body, required) {
|
||||
t.Fatalf("TenantUsersShareOpenPrivateGroup must check active shared group and setting; missing %q", required)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user