mirror of
https://github.com/discourse/discourse.git
synced 2025-05-24 14:12:10 +08:00
FIX: hides user card button when current user can't DM (#19093)
This commit is contained in:
@ -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}}
|
||||||
|
@ -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 can’t 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 doesn’t show the chat button"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
Reference in New Issue
Block a user