We used many global functions to handle tests when they should be imported like other libraries in our application. This also gets us closer to the way Ember CLI prefers our tests to be laid out.
98 lines
2.4 KiB
JavaScript
98 lines
2.4 KiB
JavaScript
import { test } from "qunit";
|
|
import I18n from "I18n";
|
|
import { acceptance } from "discourse/tests/helpers/qunit-helpers";
|
|
|
|
acceptance("Admin - Users List", { loggedIn: true });
|
|
|
|
test("lists users", async (assert) => {
|
|
await visit("/admin/users/list/active");
|
|
|
|
assert.ok(exists(".users-list .user"));
|
|
assert.ok(!exists(".user:eq(0) .email small"), "escapes email");
|
|
});
|
|
|
|
test("sorts users", async (assert) => {
|
|
await visit("/admin/users/list/active");
|
|
|
|
assert.ok(exists(".users-list .user"));
|
|
|
|
await click(".users-list .sortable:nth-child(1)");
|
|
|
|
assert.ok(
|
|
find(".users-list .user:nth-child(1) .username")
|
|
.text()
|
|
.includes("eviltrout"),
|
|
"list should be sorted by username"
|
|
);
|
|
|
|
await click(".users-list .sortable:nth-child(1)");
|
|
|
|
assert.ok(
|
|
find(".users-list .user:nth-child(1) .username")
|
|
.text()
|
|
.includes("discobot"),
|
|
"list should be sorted ascending by username"
|
|
);
|
|
});
|
|
|
|
test("toggles email visibility", async (assert) => {
|
|
await visit("/admin/users/list/active");
|
|
|
|
assert.ok(exists(".users-list .user"));
|
|
|
|
await click(".show-emails");
|
|
|
|
assert.equal(
|
|
find(".users-list .user:nth-child(1) .email").text(),
|
|
"<small>eviltrout@example.com</small>",
|
|
"shows the emails"
|
|
);
|
|
|
|
await click(".hide-emails");
|
|
|
|
assert.equal(
|
|
find(".users-list .user:nth-child(1) .email").text(),
|
|
"",
|
|
"hides the emails"
|
|
);
|
|
});
|
|
|
|
test("switching tabs", async (assert) => {
|
|
const activeUser = "eviltrout";
|
|
const suspectUser = "sam";
|
|
const activeTitle = I18n.t("admin.users.titles.active");
|
|
const suspectTitle = I18n.t("admin.users.titles.new");
|
|
|
|
await visit("/admin/users/list/active");
|
|
|
|
assert.equal(find(".admin-title h2").text(), activeTitle);
|
|
assert.ok(
|
|
find(".users-list .user:nth-child(1) .username").text().includes(activeUser)
|
|
);
|
|
|
|
await click('a[href="/admin/users/list/new"]');
|
|
|
|
assert.equal(find(".admin-title h2").text(), suspectTitle);
|
|
assert.ok(
|
|
find(".users-list .user:nth-child(1) .username")
|
|
.text()
|
|
.includes(suspectUser)
|
|
);
|
|
|
|
await click(".users-list .sortable:nth-child(4)");
|
|
|
|
assert.equal(find(".admin-title h2").text(), suspectTitle);
|
|
assert.ok(
|
|
find(".users-list .user:nth-child(1) .username")
|
|
.text()
|
|
.includes(suspectUser)
|
|
);
|
|
|
|
await click('a[href="/admin/users/list/active"]');
|
|
|
|
assert.equal(find(".admin-title h2").text(), activeTitle);
|
|
assert.ok(
|
|
find(".users-list .user:nth-child(1) .username").text().includes(activeUser)
|
|
);
|
|
});
|