FIX: correctly hides admin settings in channel settings (#19384)

This would need even more test which are being created in a separate branch.
This commit is contained in:
Joffrey JAFFEUX 2022-12-08 22:48:29 +01:00 committed by GitHub
parent 44191dd850
commit c2fd9d5116
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 18 deletions

View File

@ -61,7 +61,7 @@ export default class ChatChannelSettingsView extends Component {
@computed("autoJoinAvailable", "togglingChannelWideMentionsAvailable") @computed("autoJoinAvailable", "togglingChannelWideMentionsAvailable")
get adminSectionAvailable() { get adminSectionAvailable() {
return ( return (
this.chatGuardian.canEditChatChannel && this.chatGuardian.canEditChatChannel() &&
(this.autoJoinAvailable || this.togglingChannelWideMentionsAvailable) (this.autoJoinAvailable || this.togglingChannelWideMentionsAvailable)
); );
} }

View File

@ -119,7 +119,7 @@ module(
}, },
}); });
componentTest("allow channel wide mentions", { componentTest("hide channel wide mentions", {
template: hbs`{{chat-channel-settings-view channel=channel}}`, template: hbs`{{chat-channel-settings-view channel=channel}}`,
beforeEach() { beforeEach() {
@ -127,23 +127,21 @@ module(
}, },
async test(assert) { async test(assert) {
pretender.put(`/chat/api/chat_channels/${this.channel.id}.json`, () => { assert
return [ .dom(".channel-settings-view__channel-wide-mentions-selector")
200, .doesNotExist();
{ "Content-Type": "application/json" }, },
{ });
allow_channel_wide_mentions: false,
},
];
});
const sk = selectKit( componentTest("hide channel auto join", {
".channel-settings-view__channel-wide-mentions-selector" template: hbs`{{chat-channel-settings-view channel=channel}}`,
);
await sk.expand();
await sk.selectRowByName("No");
assert.equal(sk.header().value(), "false"); beforeEach() {
this.set("channel", fabricators.chatChannel());
},
async test(assert) {
assert.dom(".channel-settings-view__auto-join-selector").doesNotExist();
}, },
}); });
} }
@ -253,7 +251,7 @@ module(
}, },
}); });
componentTest("allow channel wide mentions", { componentTest("hide channel wide mentions", {
template: hbs`{{chat-channel-settings-view channel=channel}}`, template: hbs`{{chat-channel-settings-view channel=channel}}`,
beforeEach() { beforeEach() {
@ -271,5 +269,22 @@ module(
.doesNotExist(); .doesNotExist();
}, },
}); });
componentTest("hide channel auto join", {
template: hbs`{{chat-channel-settings-view channel=channel}}`,
beforeEach() {
this.set(
"channel",
fabricators.chatChannel({
chatable_type: CHATABLE_TYPES.directMessageChannel,
})
);
},
async test(assert) {
assert.dom(".channel-settings-view__auto-join-selector").doesNotExist();
},
});
} }
); );