discourse-assign/test/javascripts/acceptance/assign-enabled-test.js.es6

90 lines
2.6 KiB
JavaScript

import selectKit from "discourse/tests/helpers/select-kit-helper";
import {
acceptance,
exists,
updateCurrentUser,
} from "discourse/tests/helpers/qunit-helpers";
import { click, visit } from "@ember/test-helpers";
import { clearTopicFooterButtons } from "discourse/lib/register-topic-footer-button";
import { test } from "qunit";
acceptance("Discourse Assign | Assign mobile", function (needs) {
needs.user();
needs.mobileView();
needs.settings({ assign_enabled: true });
needs.hooks.beforeEach(() => clearTopicFooterButtons());
needs.pretender((server, helper) => {
server.get("/assign/suggestions", () => {
return helper.response({
success: true,
assign_allowed_groups: false,
suggestions: [
{
id: 19,
username: "eviltrout",
name: "Robin Ward",
avatar_template:
"/user_avatar/meta.discourse.org/eviltrout/{size}/5275_2.png",
},
],
});
});
server.put("/assign/assign", () => {
return helper.response({ success: true });
});
});
test("Footer dropdown contains button", async (assert) => {
updateCurrentUser({ can_assign: true });
await visit("/t/internationalization-localization/280");
const menu = selectKit(".topic-footer-mobile-dropdown");
await menu.expand();
assert.ok(menu.rowByValue("assign").exists());
await menu.selectRowByValue("assign");
assert.ok(exists(".assign.modal-body"), "assign modal opens");
await click(".assign-suggestions .avatar");
});
});
acceptance("Discourse Assign | Assign desktop", function (needs) {
needs.user();
needs.settings({ assign_enabled: true });
needs.hooks.beforeEach(() => clearTopicFooterButtons());
needs.pretender((server, helper) => {
server.get("/assign/suggestions", () => {
return helper.response({
success: true,
assign_allowed_groups: false,
suggestions: [
{
id: 19,
username: "eviltrout",
name: "Robin Ward",
avatar_template:
"/user_avatar/meta.discourse.org/eviltrout/{size}/5275_2.png",
},
],
});
});
server.put("/assign/assign", () => {
return helper.response({ success: true });
});
});
test("Footer dropdown contains button", async (assert) => {
updateCurrentUser({ can_assign: true });
await visit("/t/internationalization-localization/280");
await click("#topic-footer-button-assign");
assert.ok(exists(".assign.modal-body"), "assign modal opens");
await click(".assign-suggestions .avatar");
});
});