Icu 16393 managed groups read (#2709)
* chore: 🤖 update managed-groups read test selectors * chore: 🤖 add test selectors to managed-groups delete * chore: 🤖 use test selectors in managed-groups list tests * chore: 🤖 refactor managed-groups members tests * refactor: 💡 update selector name for DELETE action
This commit is contained in:
1 parent
29bde998ed
commit
42bcefa068
6 files changed
+60
-63
No files matched your search
@@ -77,7 +77,7 @@ module('Acceptance | managed-groups | create', function (hooks) {
|
||||
test('can create a new managed group', async function (assert) {
|
||||
const managedGroupsCount = getManagedGroupCount();
|
||||
await visit(urls.authMethod);
|
||||
await click(selectors.MANAGE_DROPDOWN);
|
||||
await click(selectors.MANAGE_DROPDOWN_AUTH_METHOD);
|
||||
await click(commonSelectors.HREF(urls.newManagedGroup));
|
||||
|
||||
await fillIn(commonSelectors.FIELD_NAME, commonSelectors.FIELD_NAME_VALUE);
|
||||
@@ -101,7 +101,7 @@ module('Acceptance | managed-groups | create', function (hooks) {
|
||||
test('can create a new ldap managed group', async function (assert) {
|
||||
const managedGroupsCount = getManagedGroupCount();
|
||||
await visit(urls.ldapAuthMethod);
|
||||
await click(selectors.MANAGE_DROPDOWN);
|
||||
await click(selectors.MANAGE_DROPDOWN_AUTH_METHOD);
|
||||
|
||||
await click(commonSelectors.HREF(urls.newLdapManagedGroup));
|
||||
await fillIn(commonSelectors.FIELD_NAME, commonSelectors.FIELD_NAME_VALUE);
|
||||
@@ -168,7 +168,7 @@ module('Acceptance | managed-groups | create', function (hooks) {
|
||||
test('User can cancel a new managed group creation', async function (assert) {
|
||||
const managedGroupsCount = getManagedGroupCount();
|
||||
await visit(urls.authMethod);
|
||||
await click(selectors.MANAGE_DROPDOWN);
|
||||
await click(selectors.MANAGE_DROPDOWN_AUTH_METHOD);
|
||||
|
||||
await click(commonSelectors.HREF(urls.newManagedGroup));
|
||||
await fillIn(commonSelectors.FIELD_NAME, commonSelectors.FIELD_NAME_VALUE);
|
||||
@@ -181,7 +181,7 @@ module('Acceptance | managed-groups | create', function (hooks) {
|
||||
test('User can cancel a new ldap managed group creation', async function (assert) {
|
||||
const managedGroupsCount = getManagedGroupCount();
|
||||
await visit(urls.ldapAuthMethod);
|
||||
await click(selectors.MANAGE_DROPDOWN);
|
||||
await click(selectors.MANAGE_DROPDOWN_AUTH_METHOD);
|
||||
|
||||
await click(commonSelectors.HREF(urls.newLdapManagedGroup));
|
||||
await fillIn(commonSelectors.FIELD_NAME, commonSelectors.FIELD_NAME_VALUE);
|
||||
@@ -212,7 +212,7 @@ module('Acceptance | managed-groups | create', function (hooks) {
|
||||
);
|
||||
});
|
||||
await visit(urls.authMethod);
|
||||
await click(selectors.MANAGE_DROPDOWN);
|
||||
await click(selectors.MANAGE_DROPDOWN_AUTH_METHOD);
|
||||
|
||||
await click(commonSelectors.HREF(urls.newManagedGroup));
|
||||
await click(commonSelectors.SAVE_BTN);
|
||||
@@ -245,7 +245,7 @@ module('Acceptance | managed-groups | create', function (hooks) {
|
||||
);
|
||||
});
|
||||
await visit(urls.ldapAuthMethod);
|
||||
await click(selectors.MANAGE_DROPDOWN);
|
||||
await click(selectors.MANAGE_DROPDOWN_AUTH_METHOD);
|
||||
|
||||
await click(commonSelectors.HREF(urls.newLdapManagedGroup));
|
||||
await click(commonSelectors.SAVE_BTN);
|
||||
|
||||
@@ -15,6 +15,7 @@ import {
|
||||
TYPE_AUTH_METHOD_LDAP,
|
||||
} from 'api/models/auth-method';
|
||||
import * as commonSelectors from 'admin/tests/helpers/selectors';
|
||||
import * as selectors from './selectors';
|
||||
|
||||
module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
@@ -22,11 +23,6 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
|
||||
let getManagedGroupCount;
|
||||
|
||||
const MANAGE_DROPDOWN_SELECTOR =
|
||||
'[data-test-managed-group-dropdown] button:first-child';
|
||||
const DELETE_ACTION_SELECTOR =
|
||||
'[data-test-managed-group-dropdown] ul li button';
|
||||
|
||||
const instances = {
|
||||
scopes: {
|
||||
global: null,
|
||||
@@ -39,7 +35,6 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
};
|
||||
|
||||
const urls = {
|
||||
orgScope: null,
|
||||
authMethods: null,
|
||||
authMethod: null,
|
||||
ldapAuthMethod: null,
|
||||
@@ -73,8 +68,7 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
authMethod: instances.ldapAuthMethod,
|
||||
});
|
||||
// Generate route URLs for resources
|
||||
urls.orgScope = `/scopes/${instances.scopes.org.id}`;
|
||||
urls.authMethods = `${urls.orgScope}/auth-methods`;
|
||||
urls.authMethods = `/scopes/${instances.scopes.org.id}/auth-methods`;
|
||||
urls.authMethod = `${urls.authMethods}/${instances.authMethod.id}`;
|
||||
urls.ldapAuthMethod = `${urls.authMethods}/${instances.ldapAuthMethod.id}`;
|
||||
urls.managedGroups = `${urls.authMethod}/managed-groups`;
|
||||
@@ -90,9 +84,9 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
const managedGroupsCount = getManagedGroupCount();
|
||||
await visit(urls.managedGroups);
|
||||
|
||||
await click(`[href="${urls.managedGroup}"]`);
|
||||
await click(MANAGE_DROPDOWN_SELECTOR);
|
||||
await click(DELETE_ACTION_SELECTOR);
|
||||
await click(commonSelectors.HREF(urls.managedGroup));
|
||||
await click(selectors.MANAGE_DROPDOWN_MANAGED_GROUPS);
|
||||
await click(selectors.MANAGE_DROPDOWN_MANAGED_GROUP_DELETE);
|
||||
|
||||
assert.strictEqual(getManagedGroupCount(), managedGroupsCount - 1);
|
||||
assert.strictEqual(currentURL(), urls.managedGroups);
|
||||
@@ -102,9 +96,9 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
const managedGroupsCount = getManagedGroupCount();
|
||||
await visit(urls.ldapManagedGroups);
|
||||
|
||||
await click(`[href="${urls.ldapManagedGroup}"]`);
|
||||
await click(MANAGE_DROPDOWN_SELECTOR);
|
||||
await click(DELETE_ACTION_SELECTOR);
|
||||
await click(commonSelectors.HREF(urls.ldapManagedGroup));
|
||||
await click(selectors.MANAGE_DROPDOWN_MANAGED_GROUPS);
|
||||
await click(selectors.MANAGE_DROPDOWN_MANAGED_GROUP_DELETE);
|
||||
|
||||
assert.strictEqual(getManagedGroupCount(), managedGroupsCount - 1);
|
||||
assert.strictEqual(currentURL(), urls.ldapManagedGroups);
|
||||
@@ -117,9 +111,9 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
);
|
||||
await visit(urls.managedGroups);
|
||||
|
||||
await click(`[href="${urls.managedGroup}"]`);
|
||||
await click(commonSelectors.HREF(urls.managedGroup));
|
||||
|
||||
assert.dom(MANAGE_DROPDOWN_SELECTOR).doesNotExist();
|
||||
assert.dom(selectors.MANAGE_DROPDOWN_MANAGED_GROUPS).doesNotExist();
|
||||
});
|
||||
|
||||
test('User cannot delete a ldap managed-group without proper authorization', async function (assert) {
|
||||
@@ -129,9 +123,9 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
);
|
||||
await visit(urls.ldapManagedGroups);
|
||||
|
||||
await click(`[href="${urls.ldapManagedGroup}"]`);
|
||||
await click(commonSelectors.HREF(urls.ldapManagedGroup));
|
||||
|
||||
assert.dom(MANAGE_DROPDOWN_SELECTOR).doesNotExist();
|
||||
assert.dom(selectors.MANAGE_DROPDOWN_MANAGED_GROUPS).doesNotExist();
|
||||
});
|
||||
|
||||
test('Errors are displayed when delete on managed group fails', async function (assert) {
|
||||
@@ -148,9 +142,9 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
});
|
||||
await visit(urls.managedGroups);
|
||||
|
||||
await click(`[href="${urls.managedGroup}"]`);
|
||||
await click(MANAGE_DROPDOWN_SELECTOR);
|
||||
await click(DELETE_ACTION_SELECTOR);
|
||||
await click(commonSelectors.HREF(urls.managedGroup));
|
||||
await click(selectors.MANAGE_DROPDOWN_MANAGED_GROUPS);
|
||||
await click(selectors.MANAGE_DROPDOWN_MANAGED_GROUP_DELETE);
|
||||
await a11yAudit();
|
||||
|
||||
assert.dom(commonSelectors.ALERT_TOAST_BODY).hasText('Oops.');
|
||||
@@ -171,9 +165,9 @@ module('Acceptance | managed-groups | delete', function (hooks) {
|
||||
});
|
||||
await visit(urls.ldapManagedGroups);
|
||||
|
||||
await click(`[href="${urls.ldapManagedGroup}"]`);
|
||||
await click(MANAGE_DROPDOWN_SELECTOR);
|
||||
await click(DELETE_ACTION_SELECTOR);
|
||||
await click(commonSelectors.HREF(urls.ldapManagedGroup));
|
||||
await click(selectors.MANAGE_DROPDOWN_MANAGED_GROUPS);
|
||||
await click(selectors.MANAGE_DROPDOWN_MANAGED_GROUP_DELETE);
|
||||
await a11yAudit();
|
||||
|
||||
assert.dom(commonSelectors.ALERT_TOAST_BODY).hasText('Oops.');
|
||||
|
||||
@@ -13,6 +13,8 @@ import {
|
||||
TYPE_AUTH_METHOD_OIDC,
|
||||
TYPE_AUTH_METHOD_LDAP,
|
||||
} from 'api/models/auth-method';
|
||||
import * as commonSelectors from 'admin/tests/helpers/selectors';
|
||||
import * as selectors from './selectors';
|
||||
|
||||
module('Acceptance | managed-groups | list', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
@@ -20,8 +22,6 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
setupIndexedDb(hooks);
|
||||
|
||||
let featuresService;
|
||||
const MANAGE_DROPDOWN_SELECTOR =
|
||||
'[data-test-manage-auth-method] button:first-child';
|
||||
|
||||
const instances = {
|
||||
scopes: {
|
||||
@@ -33,7 +33,6 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
managedGroup: null,
|
||||
};
|
||||
const urls = {
|
||||
orgScope: null,
|
||||
authMethods: null,
|
||||
authMethod: null,
|
||||
ldapAuthMethod: null,
|
||||
@@ -64,8 +63,7 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
});
|
||||
|
||||
// Generate route URLs for resources
|
||||
urls.orgScope = `/scopes/${instances.scopes.org.id}`;
|
||||
urls.authMethods = `${urls.orgScope}/auth-methods`;
|
||||
urls.authMethods = `/scopes/${instances.scopes.org.id}/auth-methods`;
|
||||
urls.authMethod = `${urls.authMethods}/${instances.authMethod.id}`;
|
||||
urls.ldapAuthMethod = `${urls.authMethods}/${instances.ldapAuthMethod.id}`;
|
||||
urls.managedGroups = `${urls.authMethod}/managed-groups`;
|
||||
@@ -78,7 +76,7 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
test('User can navigate to managed groups with proper authorization', async function (assert) {
|
||||
await visit(urls.authMethods);
|
||||
|
||||
await click(`[href="${urls.authMethod}"]`);
|
||||
await click(commonSelectors.HREF(urls.authMethod));
|
||||
|
||||
assert.true(
|
||||
instances.authMethod.authorized_collection_actions[
|
||||
@@ -90,14 +88,14 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
'managed-groups'
|
||||
].includes('create'),
|
||||
);
|
||||
assert.dom(`[href="${urls.managedGroups}"]`).exists();
|
||||
assert.dom(commonSelectors.HREF(urls.managedGroups)).exists();
|
||||
});
|
||||
|
||||
test('User can navigate to ldap managed groups with proper authorization', async function (assert) {
|
||||
featuresService.enable('ldap-auth-methods');
|
||||
await visit(urls.authMethods);
|
||||
|
||||
await click(`[href="${urls.ldapAuthMethod}"]`);
|
||||
await click(commonSelectors.HREF(urls.ldapAuthMethod));
|
||||
|
||||
assert.true(
|
||||
instances.ldapAuthMethod.authorized_collection_actions[
|
||||
@@ -109,14 +107,14 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
'managed-groups'
|
||||
].includes('create'),
|
||||
);
|
||||
assert.dom(`[href="${urls.ldapManagedGroups}"]`).exists();
|
||||
assert.dom(commonSelectors.HREF(urls.ldapManagedGroups)).exists();
|
||||
});
|
||||
|
||||
test('User cannot navigate to index without either list or create actions', async function (assert) {
|
||||
instances.authMethod.authorized_collection_actions['managed-groups'] = [];
|
||||
await visit(urls.authMethods);
|
||||
|
||||
await click(`[href="${urls.authMethod}"]`);
|
||||
await click(commonSelectors.HREF(urls.authMethod));
|
||||
|
||||
assert.false(
|
||||
instances.authMethod.authorized_collection_actions[
|
||||
@@ -128,7 +126,7 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
'managed-groups'
|
||||
].includes('create'),
|
||||
);
|
||||
assert.dom(`[href="${urls.managedGroups}"]`).doesNotExist();
|
||||
assert.dom(commonSelectors.HREF(urls.managedGroups)).doesNotExist();
|
||||
});
|
||||
|
||||
test('User cannot navigate to ldap managed group index without either list or create actions', async function (assert) {
|
||||
@@ -137,7 +135,7 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
[];
|
||||
await visit(urls.authMethods);
|
||||
|
||||
await click(`[href="${urls.ldapAuthMethod}"]`);
|
||||
await click(commonSelectors.HREF(urls.ldapAuthMethod));
|
||||
|
||||
assert.false(
|
||||
instances.ldapAuthMethod.authorized_collection_actions[
|
||||
@@ -149,7 +147,7 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
'managed-groups'
|
||||
].includes('create'),
|
||||
);
|
||||
assert.dom(`[href="${urls.ldapManagedGroups}"]`).doesNotExist();
|
||||
assert.dom(commonSelectors.HREF(urls.ldapManagedGroups)).doesNotExist();
|
||||
});
|
||||
|
||||
test('User can navigate to index with only create action', async function (assert) {
|
||||
@@ -158,11 +156,11 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
];
|
||||
await visit(urls.authMethods);
|
||||
|
||||
await click(`[href="${urls.authMethod}"]`);
|
||||
await click(MANAGE_DROPDOWN_SELECTOR);
|
||||
await click(commonSelectors.HREF(urls.authMethod));
|
||||
await click(selectors.MANAGE_DROPDOWN_AUTH_METHOD);
|
||||
|
||||
assert.dom(`[href="${urls.managedGroups}"]`).exists();
|
||||
assert.dom(`[href="${urls.newManagedGroup}"]`).exists();
|
||||
assert.dom(commonSelectors.HREF(urls.managedGroups)).exists();
|
||||
assert.dom(commonSelectors.HREF(urls.newManagedGroup)).exists();
|
||||
});
|
||||
|
||||
test('User can navigate to ldap managed groups index with only create action', async function (assert) {
|
||||
@@ -171,10 +169,11 @@ module('Acceptance | managed-groups | list', function (hooks) {
|
||||
'create',
|
||||
];
|
||||
await visit(urls.authMethods);
|
||||
await click(`[href="${urls.ldapAuthMethod}"]`);
|
||||
await click(MANAGE_DROPDOWN_SELECTOR);
|
||||
|
||||
assert.dom(`[href="${urls.ldapManagedGroups}"]`).exists();
|
||||
assert.dom(`[href="${urls.newLdapManagedGroup}"]`).exists();
|
||||
await click(commonSelectors.HREF(urls.ldapAuthMethod));
|
||||
await click(selectors.MANAGE_DROPDOWN_AUTH_METHOD);
|
||||
|
||||
assert.dom(commonSelectors.HREF(urls.ldapManagedGroups)).exists();
|
||||
assert.dom(commonSelectors.HREF(urls.newLdapManagedGroup)).exists();
|
||||
});
|
||||
});
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
import { module, test } from 'qunit';
|
||||
import { visit, currentURL, findAll } from '@ember/test-helpers';
|
||||
import { visit, currentURL } from '@ember/test-helpers';
|
||||
import { setupApplicationTest } from 'admin/tests/helpers';
|
||||
import setupMirage from 'ember-cli-mirage/test-support/setup-mirage';
|
||||
import a11yAudit from 'ember-a11y-testing/test-support/audit';
|
||||
@@ -25,7 +25,6 @@ module('Acceptance | managed-groups | members', function (hooks) {
|
||||
accounts: null,
|
||||
};
|
||||
const urls = {
|
||||
orgScope: null,
|
||||
authMethods: null,
|
||||
authMethod: null,
|
||||
managedGroups: null,
|
||||
@@ -51,8 +50,7 @@ module('Acceptance | managed-groups | members', function (hooks) {
|
||||
|
||||
instances.managedGroup = this.server.db.managedGroups[0];
|
||||
// Generate route URLs for resources
|
||||
urls.orgScope = `/scopes/${instances.scopes.org.id}`;
|
||||
urls.authMethods = `${urls.orgScope}/auth-methods`;
|
||||
urls.authMethods = `/scopes/${instances.scopes.org.id}/auth-methods`;
|
||||
urls.authMethod = `${urls.authMethods}/${instances.authMethod.id}`;
|
||||
urls.managedGroups = `${urls.authMethod}/managed-groups`;
|
||||
urls.managedGroup = `${urls.managedGroups}/${instances.managedGroup.id}`;
|
||||
@@ -62,9 +60,10 @@ module('Acceptance | managed-groups | members', function (hooks) {
|
||||
test('User can navigate to index', async function (assert) {
|
||||
const membersCount = instances.managedGroup.memberIds.length;
|
||||
await visit(urls.managedGroupMembers);
|
||||
|
||||
await a11yAudit();
|
||||
assert.strictEqual(currentURL(), urls.managedGroupMembers);
|
||||
assert.ok(membersCount);
|
||||
assert.strictEqual(findAll('tbody tr').length, membersCount);
|
||||
assert.dom('tbody tr').exists({ count: membersCount });
|
||||
});
|
||||
});
|
||||
@@ -13,6 +13,7 @@ import {
|
||||
TYPE_AUTH_METHOD_OIDC,
|
||||
TYPE_AUTH_METHOD_LDAP,
|
||||
} from 'api/models/auth-method';
|
||||
import * as commonSelectors from 'admin/tests/helpers/selectors';
|
||||
|
||||
module('Acceptance | managed-groups | read', function (hooks) {
|
||||
setupApplicationTest(hooks);
|
||||
@@ -76,7 +77,7 @@ module('Acceptance | managed-groups | read', function (hooks) {
|
||||
test('User can navigate to a managed group form', async function (assert) {
|
||||
await visit(urls.managedGroups);
|
||||
|
||||
await click(`[href="${urls.managedGroup}"]`);
|
||||
await click(commonSelectors.HREF(urls.managedGroup));
|
||||
await a11yAudit();
|
||||
|
||||
assert.strictEqual(currentURL(), urls.managedGroup);
|
||||
@@ -85,7 +86,7 @@ module('Acceptance | managed-groups | read', function (hooks) {
|
||||
test('User can navigate to a ldap managed group form', async function (assert) {
|
||||
await visit(urls.ldapManagedGroups);
|
||||
|
||||
await click(`[href="${urls.ldapManagedGroup}"]`);
|
||||
await click(commonSelectors.HREF(urls.ldapManagedGroup));
|
||||
await a11yAudit();
|
||||
|
||||
assert.strictEqual(currentURL(), urls.ldapManagedGroup);
|
||||
@@ -98,9 +99,9 @@ module('Acceptance | managed-groups | read', function (hooks) {
|
||||
);
|
||||
await visit(urls.authMethod);
|
||||
|
||||
await click(`[href="${urls.managedGroups}"]`);
|
||||
await click(commonSelectors.HREF(urls.managedGroups));
|
||||
|
||||
assert.dom(`[href="${urls.managedGroup}"]`).doesNotExist();
|
||||
assert.dom(commonSelectors.HREF(urls.managedGroup)).doesNotExist();
|
||||
});
|
||||
|
||||
test('User cannot navigate to a ldap managed group form without proper authorization', async function (assert) {
|
||||
@@ -110,9 +111,9 @@ module('Acceptance | managed-groups | read', function (hooks) {
|
||||
);
|
||||
await visit(urls.ldapAuthMethod);
|
||||
|
||||
await click(`[href="${urls.ldapManagedGroups}"]`);
|
||||
await click(commonSelectors.HREF(urls.ldapManagedGroups));
|
||||
|
||||
assert.dom(`[href="${urls.ldapManagedGroup}"]`).doesNotExist();
|
||||
assert.dom(commonSelectors.HREF(urls.ldapManagedGroup)).doesNotExist();
|
||||
});
|
||||
|
||||
test('User can navigate to managed group and incorrect url autocorrects', async function (assert) {
|
||||
|
||||
@@ -3,8 +3,12 @@
|
||||
* SPDX-License-Identifier: BUSL-1.1
|
||||
*/
|
||||
|
||||
export const MANAGE_DROPDOWN =
|
||||
export const MANAGE_DROPDOWN_AUTH_METHOD =
|
||||
'[data-test-manage-auth-method] button:first-child';
|
||||
export const MANAGE_DROPDOWN_MANAGED_GROUPS =
|
||||
'[data-test-managed-group-dropdown] button:first-child';
|
||||
export const MANAGE_DROPDOWN_MANAGED_GROUP_DELETE =
|
||||
'[data-test-managed-group-dropdown] ul li button';
|
||||
|
||||
export const FIELD_GROUP_NAMES = '[name="group_names"] input';
|
||||
export const FIELD_GROUP_NAMES_VALUE = 'group name';
|
||||
|
||||
Reference in new issue
Block a user