/
poster-name-test.js
74 lines (61 loc) · 2.26 KB
/
poster-name-test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import { module, test } from "qunit";
import { setupRenderingTest } from "discourse/tests/helpers/component-test";
import { render } from "@ember/test-helpers";
import { exists, query } from "discourse/tests/helpers/qunit-helpers";
import { hbs } from "ember-cli-htmlbars";
module("Integration | Component | Widget | poster-name", function (hooks) {
setupRenderingTest(hooks);
test("basic rendering", async function (assert) {
this.set("args", {
username: "eviltrout",
usernameUrl: "/u/eviltrout",
name: "Robin Ward",
user_title: "Trout Master",
});
await render(
hbs`<MountWidget @widget="poster-name" @args={{this.args}} />`
);
assert.ok(exists(".names"));
assert.ok(exists("span.username"));
assert.ok(exists('a[data-user-card="eviltrout"]'));
assert.strictEqual(query(".username a").innerText, "eviltrout");
assert.strictEqual(query(".user-title").innerText, "Trout Master");
});
test("extra classes and glyphs", async function (assert) {
this.set("args", {
username: "eviltrout",
usernameUrl: "/u/eviltrout",
staff: true,
admin: true,
moderator: true,
new_user: true,
primary_group_name: "fish",
});
await render(
hbs`<MountWidget @widget="poster-name" @args={{this.args}} />`
);
assert.ok(exists("span.staff"));
assert.ok(exists("span.admin"));
assert.ok(exists("span.moderator"));
assert.ok(exists(".d-icon-shield-alt"));
assert.ok(exists("span.new-user"));
assert.ok(exists("span.group--fish"));
});
test("disable display name on posts", async function (assert) {
this.siteSettings.display_name_on_posts = false;
this.set("args", { username: "eviltrout", name: "Robin Ward" });
await render(
hbs`<MountWidget @widget="poster-name" @args={{this.args}} />`
);
assert.ok(!exists(".full-name"));
});
test("doesn't render a name if it's similar to the username", async function (assert) {
this.siteSettings.prioritize_username_in_ux = true;
this.siteSettings.display_name_on_posts = true;
this.set("args", { username: "eviltrout", name: "evil-trout" });
await render(
hbs`<MountWidget @widget="poster-name" @args={{this.args}} />`
);
assert.ok(!exists(".second"));
});
});