FIX: hides user card button when current user can't DM (#19093)

This commit is contained in:
Joffrey JAFFEUX 2022-11-17 23:44:05 +01:00 committed by GitHub
parent 4548ddf560
commit 26fadbdece
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 1 deletions

View File

@ -1 +1,8 @@
<DButton @class="btn-primary user-card-chat-btn" @action={{action "startChatting"}} @label="chat.title_capitalized" @icon="comment" />
{{#if this.chat.userCanDirectMessage}}
<DButton
@class="btn-primary user-card-chat-btn"
@action={{action "startChatting"}}
@label="chat.title_capitalized"
@icon="comment"
/>
{{/if}}

View File

@ -0,0 +1,33 @@
import { setupRenderingTest } from "discourse/tests/helpers/component-test";
import hbs from "htmlbars-inline-precompile";
import { render } from "@ember/test-helpers";
import { module, test } from "qunit";
import sinon from "sinon";
import { exists } from "discourse/tests/helpers/qunit-helpers";
module("Discourse Chat | Component | user-card-chat-button", function (hooks) {
setupRenderingTest(hooks);
test("when current user can send direct messages", async function (assert) {
sinon
.stub(this.owner.lookup("service:chat"), "userCanDirectMessage")
.value(true);
await render(hbs`<UserCardChatButton/>`);
assert.ok(exists(".user-card-chat-btn"), "it shows the chat button");
});
test("when current user cant send direct messages", async function (assert) {
sinon
.stub(this.owner.lookup("service:chat"), "userCanDirectMessage")
.value(false);
await render(hbs`<UserCardChatButton/>`);
assert.notOk(
exists(".user-card-chat-btn"),
"it doesnt show the chat button"
);
});
});