87 lines
2.3 KiB
JavaScript
87 lines
2.3 KiB
JavaScript
import {
|
|
acceptance,
|
|
count,
|
|
exists,
|
|
queryAll,
|
|
updateCurrentUser,
|
|
} from "discourse/tests/helpers/qunit-helpers";
|
|
import { click, visit } from "@ember/test-helpers";
|
|
import I18n from "I18n";
|
|
import selectKit from "discourse/tests/helpers/select-kit-helper";
|
|
import { test } from "qunit";
|
|
|
|
acceptance("Group Members - Anonymous", function () {
|
|
test("Viewing Members as anon user", async function (assert) {
|
|
await visit("/g/discourse");
|
|
|
|
assert.ok(
|
|
count(".avatar-flair .d-icon-adjust") === 1,
|
|
"it displays the group's avatar flair"
|
|
);
|
|
assert.ok(exists(".group-members tr"), "it lists group members");
|
|
|
|
assert.ok(
|
|
!exists(".group-member-dropdown"),
|
|
"it does not allow anon user to manage group members"
|
|
);
|
|
|
|
assert.strictEqual(
|
|
queryAll(".group-username-filter").attr("placeholder"),
|
|
I18n.t("groups.members.filter_placeholder"),
|
|
"it should display the right filter placeholder"
|
|
);
|
|
});
|
|
});
|
|
|
|
acceptance("Group Members", function (needs) {
|
|
needs.user();
|
|
|
|
needs.pretender((server, helper) => {
|
|
server.put("/admin/groups/47/owners.json", () => {
|
|
return helper.response({ success: true });
|
|
});
|
|
});
|
|
|
|
test("Viewing Members as a group owner", async function (assert) {
|
|
updateCurrentUser({ moderator: false, admin: false });
|
|
|
|
await visit("/g/discourse");
|
|
await click(".group-members-add");
|
|
|
|
assert.strictEqual(
|
|
count(".user-chooser"),
|
|
1,
|
|
"it should display the add members modal"
|
|
);
|
|
});
|
|
|
|
test("Viewing Members as an admin user", async function (assert) {
|
|
await visit("/g/discourse");
|
|
|
|
assert.ok(
|
|
exists(".group-member-dropdown"),
|
|
"it allows admin user to manage group members"
|
|
);
|
|
|
|
assert.strictEqual(
|
|
queryAll(".group-username-filter").attr("placeholder"),
|
|
I18n.t("groups.members.filter_placeholder_admin"),
|
|
"it should display the right filter placeholder"
|
|
);
|
|
});
|
|
|
|
test("Shows bulk actions", async function (assert) {
|
|
await visit("/g/discourse");
|
|
|
|
assert.ok(exists("button.bulk-select"));
|
|
await click("button.bulk-select");
|
|
|
|
await click(queryAll("input.bulk-select")[0]);
|
|
await click(queryAll("input.bulk-select")[1]);
|
|
|
|
const memberDropdown = selectKit(".group-member-dropdown");
|
|
await memberDropdown.expand();
|
|
await memberDropdown.selectRowByValue("makeOwners");
|
|
});
|
|
});
|