import { acceptance } from "helpers/qunit-helpers"; acceptance("Admin - Users List", { loggedIn: true }); QUnit.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"); }); QUnit.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" ); }); QUnit.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(), "eviltrout@example.com", "shows the emails" ); await click(".hide-emails"); assert.equal( find(".users-list .user:nth-child(1) .email").text(), "", "hides the emails" ); }); QUnit.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) ); });