diff --git a/ui/admin/tests/acceptance/managed-groups/create-test.js b/ui/admin/tests/acceptance/managed-groups/create-test.js index 751796496..3830123b8 100644 --- a/ui/admin/tests/acceptance/managed-groups/create-test.js +++ b/ui/admin/tests/acceptance/managed-groups/create-test.js @@ -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); diff --git a/ui/admin/tests/acceptance/managed-groups/delete-test.js b/ui/admin/tests/acceptance/managed-groups/delete-test.js index a1144fe6d..cabe3245c 100644 --- a/ui/admin/tests/acceptance/managed-groups/delete-test.js +++ b/ui/admin/tests/acceptance/managed-groups/delete-test.js @@ -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.'); diff --git a/ui/admin/tests/acceptance/managed-groups/list-test.js b/ui/admin/tests/acceptance/managed-groups/list-test.js index f906a9af7..f5b99bd9b 100644 --- a/ui/admin/tests/acceptance/managed-groups/list-test.js +++ b/ui/admin/tests/acceptance/managed-groups/list-test.js @@ -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(); }); }); diff --git a/ui/admin/tests/acceptance/managed-groups/members-test.js b/ui/admin/tests/acceptance/managed-groups/members-test.js index 95f1ec123..02fb79fb1 100644 --- a/ui/admin/tests/acceptance/managed-groups/members-test.js +++ b/ui/admin/tests/acceptance/managed-groups/members-test.js @@ -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 }); }); }); diff --git a/ui/admin/tests/acceptance/managed-groups/read-test.js b/ui/admin/tests/acceptance/managed-groups/read-test.js index ddeddf531..fb73e42e7 100644 --- a/ui/admin/tests/acceptance/managed-groups/read-test.js +++ b/ui/admin/tests/acceptance/managed-groups/read-test.js @@ -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) { diff --git a/ui/admin/tests/acceptance/managed-groups/selectors.js b/ui/admin/tests/acceptance/managed-groups/selectors.js index 3f288ff54..2cfe89a08 100644 --- a/ui/admin/tests/acceptance/managed-groups/selectors.js +++ b/ui/admin/tests/acceptance/managed-groups/selectors.js @@ -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';