discourse/test/javascripts/acceptance/topic-admin-menu-test.js
Martin Brennan 594d919d22
FIX: Focus first button in topic admin menu (#10562)
When using Shift+A to toggle the admin menu for a topic the first button was not focused, so the menu could not be navigated with tab.
2020-09-01 10:29:35 +10:00

50 lines
1.6 KiB
JavaScript

import { acceptance, updateCurrentUser } from "helpers/qunit-helpers";
acceptance("Topic - Admin Menu Anonymous Users", { loggedIn: false });
QUnit.test("Enter as a regular user", async assert => {
await visit("/t/internationalization-localization/280");
assert.ok(exists("#topic"), "The topic was rendered");
assert.ok(
!exists(".toggle-admin-menu"),
"The admin menu button was not rendered"
);
});
acceptance("Topic - Admin Menu", { loggedIn: true });
QUnit.test("Enter as a user with group moderator permissions", async assert => {
updateCurrentUser({ moderator: false, admin: false, trust_level: 1 });
await visit("/t/topic-for-group-moderators/2480");
assert.ok(exists("#topic"), "The topic was rendered");
assert.ok(exists(".toggle-admin-menu"), "The admin menu button was rendered");
});
QUnit.test(
"Enter as a user with moderator and admin permissions",
async assert => {
updateCurrentUser({ moderator: true, admin: true, trust_level: 4 });
await visit("/t/internationalization-localization/280");
assert.ok(exists("#topic"), "The topic was rendered");
assert.ok(
exists(".toggle-admin-menu"),
"The admin menu button was rendered"
);
}
);
QUnit.test("Toggle the menu as admin focuses the first item", async assert => {
updateCurrentUser({ admin: true });
await visit("/t/internationalization-localization/280");
assert.ok(exists("#topic"), "The topic was rendered");
await click(".toggle-admin-menu");
assert.equal(
document.activeElement,
document.querySelector(".topic-admin-multi-select > button")
);
});