107 lines
2.8 KiB
JavaScript
107 lines
2.8 KiB
JavaScript
import { visit } from "@ember/test-helpers";
|
|
import { test } from "qunit";
|
|
import DiscoveryFixtures from "discourse/tests/fixtures/discovery-fixtures";
|
|
import { acceptance } from "discourse/tests/helpers/qunit-helpers";
|
|
import { i18n } from "discourse-i18n";
|
|
|
|
function stubCategory(needs, customFields) {
|
|
needs.site({
|
|
categories: [
|
|
{
|
|
id: 6,
|
|
name: "test",
|
|
slug: "test",
|
|
custom_fields: customFields,
|
|
},
|
|
],
|
|
});
|
|
|
|
needs.pretender((server, helper) => {
|
|
server.get("/c/test/6/l/latest.json", () => {
|
|
return helper.response(
|
|
DiscoveryFixtures["/latest_can_create_topic.json"]
|
|
);
|
|
});
|
|
});
|
|
}
|
|
|
|
acceptance(
|
|
"Discourse Assign | Categories for users that can assign",
|
|
function (needs) {
|
|
needs.user({ can_assign: true });
|
|
needs.settings({
|
|
assign_enabled: true,
|
|
assigns_user_url_path: "/",
|
|
assigns_public: false,
|
|
});
|
|
stubCategory(needs, { enable_unassigned_filter: "true" });
|
|
|
|
test("can see Unassigned button", async function (assert) {
|
|
await visit("/c/test");
|
|
|
|
const title = i18n("filters.unassigned.help");
|
|
assert.dom(`#navigation-bar li[title='${title}']`).exists();
|
|
});
|
|
}
|
|
);
|
|
|
|
acceptance(
|
|
"Discourse Assign | Categories without enable_unassigned_filter",
|
|
function (needs) {
|
|
needs.user();
|
|
needs.settings({
|
|
assign_enabled: true,
|
|
assigns_user_url_path: "/",
|
|
assigns_public: false,
|
|
});
|
|
stubCategory(needs, { enable_unassigned_filter: "false" });
|
|
|
|
test("cannot see Unassigned button", async function (assert) {
|
|
await visit("/c/test");
|
|
|
|
const title = i18n("filters.unassigned.help");
|
|
assert.dom(`#navigation-bar li[title='${title}']`).doesNotExist();
|
|
});
|
|
}
|
|
);
|
|
|
|
acceptance(
|
|
"Discourse Assign | Categories when assigns are public",
|
|
function (needs) {
|
|
needs.user();
|
|
needs.settings({
|
|
assign_enabled: true,
|
|
assigns_user_url_path: "/",
|
|
assigns_public: true,
|
|
});
|
|
stubCategory(needs, { enable_unassigned_filter: "true" });
|
|
|
|
test("can see Unassigned button", async function (assert) {
|
|
await visit("/c/test");
|
|
|
|
const title = i18n("filters.unassigned.help");
|
|
assert.dom(`#navigation-bar li[title='${title}']`).exists();
|
|
});
|
|
}
|
|
);
|
|
|
|
acceptance(
|
|
"Discourse Assign | Categories when assigns are private",
|
|
function (needs) {
|
|
needs.user();
|
|
needs.settings({
|
|
assign_enabled: true,
|
|
assigns_user_url_path: "/",
|
|
assigns_public: false,
|
|
});
|
|
stubCategory(needs, { enable_unassigned_filter: "true" });
|
|
|
|
test("cannot see Unassigned button", async function (assert) {
|
|
await visit("/c/test");
|
|
|
|
const title = i18n("filters.unassigned.help");
|
|
assert.dom(`#navigation-bar li[title='${title}']`).doesNotExist();
|
|
});
|
|
}
|
|
);
|