import selectKit from "helpers/select-kit-helper"; import { acceptance } from "helpers/qunit-helpers"; acceptance("Category Edit - security", { loggedIn: true }); QUnit.test("default", async assert => { await visit("/c/bug"); await click(".edit-category"); await click("li.edit-category-security a"); const $permissionListItems = find(".permission-list li"); const badgeName = $permissionListItems .eq(0) .find(".badge-group") .text(); assert.equal(badgeName, "everyone"); const permission = $permissionListItems .eq(0) .find(".permission") .text(); assert.equal(permission, "Create / Reply / See"); }); QUnit.test("removing a permission", async assert => { const availableGroups = selectKit(".available-groups"); await visit("/c/bug"); await click(".edit-category"); await click("li.edit-category-security a"); await click(".edit-category-tab-security .edit-permission"); await availableGroups.expand(); assert.notOk( availableGroups.rowByValue("everyone").exists(), "everyone is already used and is not in the available groups" ); await click( ".edit-category-tab-security .permission-list li:first-of-type .remove-permission" ); await availableGroups.expand(); assert.ok( availableGroups.rowByValue("everyone").exists(), "everyone has been removed and appears in the available groups" ); }); QUnit.test("adding a permission", async assert => { const availableGroups = selectKit(".available-groups"); const permissionSelector = selectKit(".permission-selector"); await visit("/c/bug"); await click(".edit-category"); await click("li.edit-category-security a"); await click(".edit-category-tab-security .edit-permission"); await availableGroups.expand(); await availableGroups.selectRowByValue("staff"); await permissionSelector.expand(); await permissionSelector.selectRowByValue("2"); await click(".edit-category-tab-security .add-permission"); const $addedPermissionItem = find( ".edit-category-tab-security .permission-list li:nth-child(2)" ); const badgeName = $addedPermissionItem.find(".badge-group").text(); assert.equal(badgeName, "staff"); const permission = $addedPermissionItem.find(".permission").text(); assert.equal(permission, "Reply / See"); }); QUnit.test("adding a previously removed permission", async assert => { const availableGroups = selectKit(".available-groups"); await visit("/c/bug"); await click(".edit-category"); await await click("li.edit-category-security a"); await click(".edit-category-tab-security .edit-permission"); await click( ".edit-category-tab-security .permission-list li:first-of-type .remove-permission" ); assert.equal( find(".edit-category-tab-security .permission-list li").length, 0, "it removes the permission from the list" ); await availableGroups.expand(); await availableGroups.selectRowByValue("everyone"); await click(".edit-category-tab-security .add-permission"); assert.equal( find(".edit-category-tab-security .permission-list li").length, 1, "it adds the permission to the list" ); const $permissionListItems = find(".permission-list li"); const badgeName = $permissionListItems .eq(0) .find(".badge-group") .text(); assert.equal(badgeName, "everyone"); const permission = $permissionListItems .eq(0) .find(".permission") .text(); assert.equal(permission, "Create / Reply / See"); });