import EmberObject from "@ember/object"; import pretender, { response } from "discourse/tests/helpers/create-pretender"; import { discourseModule } from "discourse/tests/helpers/qunit-helpers"; import { test } from "qunit"; discourseModule("Unit | Controller | assign-user", function () { test("assigning a user via suggestions makes API call and closes the modal", async function (assert) { pretender.get("/assign/suggestions", () => response({ suggestions: [], assign_allowed_on_groups: ["nat"], assign_allowed_for_groups: [], }) ); pretender.put("/assign/assign", () => response({})); let modalClosed = false; const controller = this.getController("assign-user", { model: { target: EmberObject.create({}), }, allowedGroupsForAssignment: ["nat"], taskActions: { allowedGroups: [] }, }); controller.set("actions.closeModal", () => { modalClosed = true; }); await controller.assignUser("nat"); assert.strictEqual(modalClosed, true); }); test("assigning a user by selector does not close the modal", async function (assert) { pretender.get("/assign/suggestions", () => response({ suggestions: [], assign_allowed_on_groups: ["nat"], assign_allowed_for_groups: [], }) ); let modalClosed = false; const controller = this.getController("assign-user", { model: { target: EmberObject.create({}), }, allowedGroupsForAssignment: ["nat"], taskActions: { allowedGroups: [] }, }); controller.set("actions.closeModal", () => { modalClosed = true; }); await controller.assignUsername("nat"); assert.strictEqual(modalClosed, false); }); });