discourse-assign/test/javascripts/acceptance/user-assignments-list.js.es6

48 lines
1.8 KiB
JavaScript

import selectKit from "discourse/tests/helpers/select-kit-helper";
import {acceptance, count, exists} from "discourse/tests/helpers/qunit-helpers";
import {visit} from "@ember/test-helpers";
import AssignedTopics from "../fixtures/assigned-topics-fixtures";
import {test} from "qunit";
acceptance("Discourse Assign | UnAssign/Re-assign from the topics list", function (needs) {
needs.user();
needs.settings({ assign_enabled: true, assigns_user_url_path: "/" });
needs.pretender((server, helper) => {
const messagesPath = "/topics/messages-assigned/eviltrout.json";
const assigns = AssignedTopics[messagesPath];
server.get(messagesPath, () => helper.response(assigns));
});
test("Unassign/Re-assign options are visible", async (assert) => {
const options = selectKit(".assign-actions-dropdown");
await visit("/u/eviltrout/activity/assigned");
await options.expand();
assert.equal(count("li[data-value='unassign']"), 1);
assert.equal(count("li[data-value='reassign']"), 1);
});
});
acceptance("Discourse Assign | A user doesn't have assignments", function (needs) {
needs.user();
needs.settings({ assign_enabled: true, assigns_user_url_path: "/" });
needs.pretender((server, helper) => {
const assignments = AssignedTopics["/topics/messages-assigned/eviltrout.json"];
assignments.topic_list.topics = [];
server.get(
"/topics/messages-assigned/eviltrout.json",
() => helper.response(assignments));
});
test("It renders the empty state panel", async function (assert) {
await visit("/u/eviltrout/activity/assigned");
assert.ok(exists("div.empty-state"));
});
test("It does not render the search form", async function (assert) {
await visit("/u/eviltrout/activity/assigned");
assert.notOk(exists("div.topic-search-div"));
});
});