This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/tests/acceptance/group-index-test.js
2021-11-08 10:26:28 +01:00

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");
});
});