test: 💍 refactor target worker test selectors (#2910)

* test: 💍 refactor target worker test selectors

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-16438

* test: 💍 update selector

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-16438
This commit is contained in:
Lisbet Alvarez authored and GitHub committed 2025-07-10 15:34:24 -07:00
1 parent aa7eb2e844
commit aa18f599ce
9 files changed
+134 -105

No files matched your search

@@ -98,7 +98,7 @@ module('Acceptance | credential-stores | create', function (hooks) {
await fillIn(commonSelectors.FIELD_NAME, commonSelectors.FIELD_NAME_VALUE);
await click(selectors.TYPE_VAULT);
await fillIn(
selectors.CODE_EDITOR_BODY,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
await click(commonSelectors.SAVE_BTN);
@@ -16,7 +16,6 @@ export const DELETE_ACTION =
// Search filtering selectors
export const NO_RESULTS_MSG = '[data-test-no-credential-store-results]';
export const CODE_EDITOR_BODY = '[data-test-code-editor-field-editor] textarea';
export const CODE_BLOCK_BODY = '.hds-code-block__code';
export const EDITOR_WORKER_FILTER_VALUE = '"dev" in "/tags/env"';
@@ -381,7 +381,7 @@ module('Acceptance | credential-stores | update', function (hooks) {
await click(commonSelectors.HREF(urls.workerFilter));
await click(selectors.MANAGE_DROPDOWN);
await click(selectors.EDIT_WORKER_FILTER_ACTION);
await fillIn(selectors.CODE_EDITOR_BODY, '"bar" in "/tags/foo"');
await fillIn(commonSelectors.CODE_EDITOR_CONTENT, '"bar" in "/tags/foo"');
await click(commonSelectors.SAVE_BTN);
assert.dom(selectors.CODE_BLOCK_BODY).exists();
@@ -58,7 +58,7 @@ module('Acceptance | storage-buckets | create', function (hooks) {
await select(selectors.FIELD_SCOPE, 'global');
await fillIn(
selectors.EDITOR_WORKER_FILTER,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
@@ -89,7 +89,7 @@ module('Acceptance | storage-buckets | create', function (hooks) {
await select(selectors.FIELD_SCOPE, instances.scopes.org.id);
await fillIn(
selectors.EDITOR_WORKER_FILTER,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
@@ -133,7 +133,7 @@ module('Acceptance | storage-buckets | create', function (hooks) {
await fillIn(selectors.FIELD_ACCESS_KEY, selectors.FIELD_ACCESS_KEY_VALUE);
await fillIn(selectors.FIELD_SECRET_KEY, selectors.FIELD_SECRET_KEY_VALUE);
await fillIn(
selectors.EDITOR_WORKER_FILTER,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
@@ -170,7 +170,7 @@ module('Acceptance | storage-buckets | create', function (hooks) {
await click(selectors.FIELD_DYNAMIC_CREDENTIAL);
await fillIn(selectors.FIELD_ROLE_ARN, selectors.FIELD_ROLE_ARN_VALUE);
await fillIn(
selectors.EDITOR_WORKER_FILTER,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
@@ -197,7 +197,7 @@ module('Acceptance | storage-buckets | create', function (hooks) {
await fillIn(selectors.FIELD_ACCESS_KEY, selectors.FIELD_ACCESS_KEY_VALUE);
await fillIn(selectors.FIELD_SECRET_KEY, selectors.FIELD_SECRET_KEY_VALUE);
await fillIn(
selectors.EDITOR_WORKER_FILTER,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
@@ -234,7 +234,7 @@ module('Acceptance | storage-buckets | create', function (hooks) {
await fillIn(selectors.FIELD_ACCESS_KEY, selectors.FIELD_ACCESS_KEY_VALUE);
await fillIn(selectors.FIELD_SECRET_KEY, selectors.FIELD_SECRET_KEY_VALUE);
await fillIn(
selectors.EDITOR_WORKER_FILTER,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
@@ -294,7 +294,7 @@ module('Acceptance | storage-buckets | create', function (hooks) {
await click(`[href="${urls.newStorageBucket}"]`);
await fillIn(
selectors.EDITOR_WORKER_FILTER,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
await click(commonSelectors.SAVE_BTN);
@@ -30,8 +30,6 @@ export const FIELD_SECRET_KEY_EDIT_BTN =
export const FIELD_WORKER_FILTER = '[name=worker_filter]';
export const FIELD_WORKER_FILTER_ERROR = '[data-test-worker-filter-error]';
export const READONLY_WORKER_FILTER = '[data-test-worker-filter]';
export const EDITOR_WORKER_FILTER =
'[data-test-code-editor-field-editor] textarea';
export const EDITOR_WORKER_FILTER_VALUE = '"dev" in "/tags/env"';
export const TOAST = '[role=alert] div';
export const TOAST_SUCCESSFUL_VALUE = 'Saved successfully.';
@@ -166,7 +166,7 @@ module('Acceptance | storage-buckets | update', function (hooks) {
await click(`[href="${urls.storageBucket}"]`);
await click(commonSelectors.EDIT_BTN, 'Activate edit mode');
await fillIn(
selectors.EDITOR_WORKER_FILTER,
commonSelectors.CODE_EDITOR_CONTENT,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
await click(commonSelectors.SAVE_BTN);
@@ -223,11 +223,11 @@ module('Acceptance | storage-buckets | update', function (hooks) {
await click(commonSelectors.HREF(urls.storageBucketMinio));
assert.dom(selectors.READONLY_WORKER_FILTER).isVisible();
assert.dom(selectors.EDITOR_WORKER_FILTER).doesNotExist();
assert.dom(commonSelectors.CODE_EDITOR_CONTENT).doesNotExist();
await click(commonSelectors.EDIT_BTN, 'Click edit mode');
assert.dom(selectors.EDITOR_WORKER_FILTER).isVisible();
assert.dom(commonSelectors.CODE_EDITOR_CONTENT).isVisible();
assert.dom(selectors.READONLY_WORKER_FILTER).doesNotExist();
});
});
@@ -58,3 +58,10 @@ export const TABLE_SESSIONS_ID = (id) =>
`tbody [data-test-sessions-table-row="${id}"] .hds-table__td:first-child`;
export const TABLE_CREDENTIAL_SOURCE_CHECKBOX = (type) =>
`tbody [data-test-credential-source="${type}"] input[type="checkbox"]`;
export const CODE_BLOCK_CONTENT = (name) =>
`[data-test-target-${name}-workers-accordion-item] .hds-code-block__body`;
export const WORKERS_ACCORDION_DROPDOWN = (name) =>
`[data-test-target-${name}-workers-accordion-item] .hds-accordion-item__button`;
export const WORKERS_ACCORDION_DROPDOWN_LINK = (name) =>
`[data-test-target-${name}-workers-accordion-item] a`;
+112 -90
View File
@@ -10,6 +10,7 @@ import setupMirage from 'ember-cli-mirage/test-support/setup-mirage';
import a11yAudit from 'ember-a11y-testing/test-support/audit';
import { authenticateSession } from 'ember-simple-auth/test-support';
import * as commonSelectors from 'admin/tests/helpers/selectors';
import * as selectors from './selectors';
module('Acceptance | targets | workers', function (hooks) {
setupApplicationTest(hooks);
@@ -19,16 +20,8 @@ module('Acceptance | targets | workers', function (hooks) {
let featuresService;
let featureEdition;
const ACCORDION_DROPDOWN_TEXT_SELECTOR = (name) =>
`[data-test-target-${name}-workers-accordion-item] a`;
const ACCORDION_DROPDOWN_SELECTOR = (name) =>
`[data-test-target-${name}-workers-accordion-item] .hds-accordion-item__button`;
const CODE_BLOCK_SELECTOR = (name) =>
`[data-test-target-${name}-workers-accordion-item] .hds-code-block__body`;
const CODE_EDITOR_CONTENT_SELECTOR =
'[data-test-code-editor-field-editor] textarea';
const SAVE_BUTTON_SELECTOR = '[type="submit"]';
const CANCEL_BUTTON_SELECTOR = '.rose-form-actions [type="button"]';
const EGRESS_WORKER_FILTER_VALUE = '"egress" in "/worker/filters"';
const INGRESS_WORKER_FILTER_VALUE = '"ingress" in "/worker/filters"';
const instances = {
scopes: {
@@ -40,7 +33,6 @@ module('Acceptance | targets | workers', function (hooks) {
};
const urls = {
orgScope: null,
projectScope: null,
targets: null,
target: null,
@@ -69,7 +61,6 @@ module('Acceptance | targets | workers', function (hooks) {
ingress_worker_filter: '"ingress" in "/worker/filter"',
});
urls.orgScope = `/scopes/${instances.scopes.org.id}/scopes`;
urls.projectScope = `/scopes/${instances.scopes.project.id}`;
urls.targets = `${urls.projectScope}/targets`;
urls.target = `${urls.targets}/${instances.target.id}`;
@@ -89,7 +80,7 @@ module('Acceptance | targets | workers', function (hooks) {
session.set('data.theme', 'light');
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await a11yAudit();
assert.strictEqual(currentURL(), urls.targetWorkers);
@@ -99,13 +90,13 @@ module('Acceptance | targets | workers', function (hooks) {
featureEdition.setEdition('enterprise');
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert
.dom(CODE_BLOCK_SELECTOR('ingress'))
.dom(selectors.CODE_BLOCK_CONTENT('ingress'))
.hasText(instances.target.ingress_worker_filter);
assert
.dom(CODE_BLOCK_SELECTOR('egress'))
.dom(selectors.CODE_BLOCK_CONTENT('egress'))
.hasText(instances.target.egress_worker_filter);
});
@@ -113,13 +104,13 @@ module('Acceptance | targets | workers', function (hooks) {
featureEdition.setEdition('hcp');
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert
.dom(CODE_BLOCK_SELECTOR('ingress'))
.dom(selectors.CODE_BLOCK_CONTENT('ingress'))
.hasText(instances.target.ingress_worker_filter);
assert
.dom(CODE_BLOCK_SELECTOR('egress'))
.dom(selectors.CODE_BLOCK_CONTENT('egress'))
.hasText(instances.target.egress_worker_filter);
});
@@ -127,11 +118,11 @@ module('Acceptance | targets | workers', function (hooks) {
featureEdition.setEdition('oss');
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert.dom(ACCORDION_DROPDOWN_SELECTOR('ingress')).doesNotExist();
assert.dom(selectors.WORKERS_ACCORDION_DROPDOWN('ingress')).doesNotExist();
assert
.dom(CODE_BLOCK_SELECTOR('egress'))
.dom(selectors.CODE_BLOCK_CONTENT('egress'))
.hasText(instances.target.egress_worker_filter);
});
@@ -139,13 +130,13 @@ module('Acceptance | targets | workers', function (hooks) {
featureEdition.setEdition('hcp');
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert
.dom(CODE_BLOCK_SELECTOR('ingress'))
.dom(selectors.CODE_BLOCK_CONTENT('ingress'))
.hasText(instances.target.ingress_worker_filter);
assert
.dom(CODE_BLOCK_SELECTOR('egress'))
.dom(selectors.CODE_BLOCK_CONTENT('egress'))
.hasText(instances.target.egress_worker_filter);
});
@@ -155,23 +146,23 @@ module('Acceptance | targets | workers', function (hooks) {
instances.target.ingress_worker_filter = null;
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert.dom(CODE_BLOCK_SELECTOR('ingress')).doesNotExist();
assert.dom(CODE_BLOCK_SELECTOR('egress')).doesNotExist();
assert.dom(selectors.CODE_BLOCK_CONTENT('ingress')).doesNotExist();
assert.dom(selectors.CODE_BLOCK_CONTENT('egress')).doesNotExist();
});
test('user can view egress and ingress filters when `worker-filter` is enabled', async function (assert) {
featuresService.enable('worker-filter');
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert
.dom(CODE_BLOCK_SELECTOR('ingress'))
.dom(selectors.CODE_BLOCK_CONTENT('ingress'))
.hasText(instances.target.ingress_worker_filter);
assert
.dom(CODE_BLOCK_SELECTOR('egress'))
.dom(selectors.CODE_BLOCK_CONTENT('egress'))
.hasText(instances.target.egress_worker_filter);
});
@@ -179,70 +170,80 @@ module('Acceptance | targets | workers', function (hooks) {
featuresService.disable('worker-filter');
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert.dom(ACCORDION_DROPDOWN_SELECTOR('ingress')).doesNotExist();
assert.dom(selectors.WORKERS_ACCORDION_DROPDOWN('ingress')).doesNotExist();
assert
.dom(CODE_BLOCK_SELECTOR('egress'))
.dom(selectors.CODE_BLOCK_CONTENT('egress'))
.hasText(instances.target.egress_worker_filter);
});
test('user can save ingress worker filter to a target when `worker-filter` is enabled', async function (assert) {
featuresService.enable('worker-filter');
instances.target.update({ ingress_worker_filter: '' });
const ingressWorkerFilter = '"random" in "/worker/filters"';
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(`[href="${urls.targetEditIngressFilter}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await click(commonSelectors.HREF(urls.targetEditIngressFilter));
assert.strictEqual(currentURL(), urls.targetEditIngressFilter);
await fillIn(CODE_EDITOR_CONTENT_SELECTOR, ingressWorkerFilter);
await click(SAVE_BUTTON_SELECTOR);
await fillIn(
commonSelectors.CODE_EDITOR_CONTENT,
INGRESS_WORKER_FILTER_VALUE,
);
await click(commonSelectors.SAVE_BTN);
assert.strictEqual(currentURL(), urls.targetWorkers);
assert.dom(CODE_BLOCK_SELECTOR('ingress')).hasText(ingressWorkerFilter);
assert
.dom(selectors.CODE_BLOCK_CONTENT('ingress'))
.hasText(INGRESS_WORKER_FILTER_VALUE);
});
test('user can cancel changes to ingress worker filter in a target when `worker-filter` is enabled', async function (assert) {
featuresService.enable('worker-filter');
const ingressWorkerFilter = '"random" in "/worker/filters"';
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(`[href="${urls.targetEditIngressFilter}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await click(commonSelectors.HREF(urls.targetEditIngressFilter));
assert.strictEqual(currentURL(), urls.targetEditIngressFilter);
await fillIn(CODE_EDITOR_CONTENT_SELECTOR, ingressWorkerFilter);
await click(CANCEL_BUTTON_SELECTOR);
await fillIn(
commonSelectors.CODE_EDITOR_CONTENT,
INGRESS_WORKER_FILTER_VALUE,
);
await click(commonSelectors.CANCEL_BTN);
assert.strictEqual(currentURL(), urls.targetWorkers);
assert.notEqual(
instances.target.ingress_worker_filter,
ingressWorkerFilter,
INGRESS_WORKER_FILTER_VALUE,
);
assert
.dom(CODE_BLOCK_SELECTOR('ingress'))
.dom(selectors.CODE_BLOCK_CONTENT('ingress'))
.hasText(instances.target.ingress_worker_filter);
});
test('user can save egress worker filter to a target', async function (assert) {
instances.target.update({ egress_worker_filter: '' });
const egressWorkerFilter = '"random" in "/worker/filters"';
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(`[href="${urls.targetEditEgressFilter}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await click(commonSelectors.HREF(urls.targetEditEgressFilter));
assert.strictEqual(currentURL(), urls.targetEditEgressFilter);
await fillIn(CODE_EDITOR_CONTENT_SELECTOR, egressWorkerFilter);
await click(SAVE_BUTTON_SELECTOR);
await fillIn(
commonSelectors.CODE_EDITOR_CONTENT,
EGRESS_WORKER_FILTER_VALUE,
);
await click(commonSelectors.SAVE_BTN);
assert.strictEqual(currentURL(), urls.targetWorkers);
assert.dom(CODE_BLOCK_SELECTOR('egress')).hasText(egressWorkerFilter);
assert
.dom(selectors.CODE_BLOCK_CONTENT('egress'))
.hasText(EGRESS_WORKER_FILTER_VALUE);
});
test('user will see "Add worker filter" if no filter set', async function (assert) {
@@ -253,13 +254,13 @@ module('Acceptance | targets | workers', function (hooks) {
});
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert
.dom(ACCORDION_DROPDOWN_TEXT_SELECTOR('egress'))
.dom(selectors.WORKERS_ACCORDION_DROPDOWN_LINK('egress'))
.hasText(intl.t('actions.add-worker-filter'));
assert
.dom(ACCORDION_DROPDOWN_TEXT_SELECTOR('ingress'))
.dom(selectors.WORKERS_ACCORDION_DROPDOWN_LINK('ingress'))
.hasText(intl.t('actions.add-worker-filter'));
});
@@ -267,31 +268,37 @@ module('Acceptance | targets | workers', function (hooks) {
featuresService.enable('worker-filter');
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
assert
.dom(ACCORDION_DROPDOWN_TEXT_SELECTOR('egress'))
.dom(selectors.WORKERS_ACCORDION_DROPDOWN_LINK('egress'))
.hasText(intl.t('actions.edit-worker-filter'));
assert
.dom(ACCORDION_DROPDOWN_TEXT_SELECTOR('ingress'))
.dom(selectors.WORKERS_ACCORDION_DROPDOWN_LINK('ingress'))
.hasText(intl.t('actions.edit-worker-filter'));
});
test('user can cancel changes to egress worker filter in a target', async function (assert) {
const egressWorkerFilter = '"random" in "/worker/filters"';
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(`[href="${urls.targetEditEgressFilter}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await click(commonSelectors.HREF(urls.targetEditEgressFilter));
assert.strictEqual(currentURL(), urls.targetEditEgressFilter);
await fillIn(CODE_EDITOR_CONTENT_SELECTOR, egressWorkerFilter);
await click(CANCEL_BUTTON_SELECTOR);
await fillIn(
commonSelectors.CODE_EDITOR_CONTENT,
EGRESS_WORKER_FILTER_VALUE,
);
await click(commonSelectors.CANCEL_BTN);
assert.strictEqual(currentURL(), urls.targetWorkers);
assert.notEqual(instances.target.egress_worker_filter, egressWorkerFilter);
assert.notEqual(
instances.target.egress_worker_filter,
EGRESS_WORKER_FILTER_VALUE,
);
assert
.dom(CODE_BLOCK_SELECTOR('egress'))
.dom(selectors.CODE_BLOCK_CONTENT('egress'))
.hasText(instances.target.egress_worker_filter);
});
@@ -299,15 +306,17 @@ module('Acceptance | targets | workers', function (hooks) {
featuresService.enable('worker-filter');
const confirmService = this.owner.lookup('service:confirm');
confirmService.enabled = true;
const ingressWorkerFilter = '"random" in "/worker/filters"';
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(`[href="${urls.targetEditIngressFilter}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await click(commonSelectors.HREF(urls.targetEditIngressFilter));
assert.strictEqual(currentURL(), urls.targetEditIngressFilter);
await fillIn(CODE_EDITOR_CONTENT_SELECTOR, ingressWorkerFilter);
await click(`[href="${urls.target}"]`);
await fillIn(
commonSelectors.CODE_EDITOR_CONTENT,
INGRESS_WORKER_FILTER_VALUE,
);
await click(commonSelectors.HREF(urls.target));
assert.dom(commonSelectors.MODAL_WARNING).isVisible();
@@ -316,7 +325,7 @@ module('Acceptance | targets | workers', function (hooks) {
assert.strictEqual(currentURL(), urls.target);
assert.notEqual(
instances.target.ingress_worker_filter,
ingressWorkerFilter,
INGRESS_WORKER_FILTER_VALUE,
);
});
@@ -324,15 +333,17 @@ module('Acceptance | targets | workers', function (hooks) {
featuresService.enable('worker-filter');
const confirmService = this.owner.lookup('service:confirm');
confirmService.enabled = true;
const ingressWorkerFilter = '"random" in "/worker/filters"';
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(`[href="${urls.targetEditIngressFilter}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await click(commonSelectors.HREF(urls.targetEditIngressFilter));
assert.strictEqual(currentURL(), urls.targetEditIngressFilter);
await fillIn(CODE_EDITOR_CONTENT_SELECTOR, ingressWorkerFilter);
await click(`[href="${urls.target}"]`);
await fillIn(
commonSelectors.CODE_EDITOR_CONTENT,
INGRESS_WORKER_FILTER_VALUE,
);
await click(commonSelectors.HREF(urls.target));
assert.dom(commonSelectors.MODAL_WARNING).isVisible();
@@ -341,49 +352,60 @@ module('Acceptance | targets | workers', function (hooks) {
assert.strictEqual(currentURL(), urls.targetEditIngressFilter);
assert.notEqual(
instances.target.ingress_worker_filter,
ingressWorkerFilter,
INGRESS_WORKER_FILTER_VALUE,
);
});
test('can discard unsaved egress worker filter changes in a target via dialog', async function (assert) {
const confirmService = this.owner.lookup('service:confirm');
confirmService.enabled = true;
const egressWorkerFilter = '"random" in "/worker/filters"';
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(`[href="${urls.targetEditEgressFilter}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await click(commonSelectors.HREF(urls.targetEditEgressFilter));
assert.strictEqual(currentURL(), urls.targetEditEgressFilter);
await fillIn(CODE_EDITOR_CONTENT_SELECTOR, egressWorkerFilter);
await click(`[href="${urls.target}"]`);
await fillIn(
commonSelectors.CODE_EDITOR_CONTENT,
EGRESS_WORKER_FILTER_VALUE,
);
await click(commonSelectors.HREF(urls.target));
assert.dom(commonSelectors.MODAL_WARNING).isVisible();
await click(commonSelectors.MODAL_WARNING_CONFIRM_BTN, 'Click Discard');
assert.strictEqual(currentURL(), urls.target);
assert.notEqual(instances.target.egress_worker_filter, egressWorkerFilter);
assert.notEqual(
instances.target.egress_worker_filter,
EGRESS_WORKER_FILTER_VALUE,
);
});
test('can click cancel on discard dialog box for unsaved egress worker filter changes', async function (assert) {
const confirmService = this.owner.lookup('service:confirm');
confirmService.enabled = true;
const egressWorkerFilter = '"random" in "/worker/filters"';
await visit(urls.target);
await click(`[href="${urls.targetWorkers}"]`);
await click(`[href="${urls.targetEditEgressFilter}"]`);
await click(commonSelectors.HREF(urls.targetWorkers));
await click(commonSelectors.HREF(urls.targetEditEgressFilter));
assert.strictEqual(currentURL(), urls.targetEditEgressFilter);
await fillIn(CODE_EDITOR_CONTENT_SELECTOR, egressWorkerFilter);
await click(`[href="${urls.target}"]`);
await fillIn(
commonSelectors.CODE_EDITOR_CONTENT,
EGRESS_WORKER_FILTER_VALUE,
);
await click(commonSelectors.HREF(urls.target));
assert.dom(commonSelectors.MODAL_WARNING).isVisible();
await click(commonSelectors.MODAL_WARNING_CANCEL_BTN, 'Click Cancel');
assert.strictEqual(currentURL(), urls.targetEditEgressFilter);
assert.notEqual(instances.target.egress_worker_filter, egressWorkerFilter);
assert.notEqual(
instances.target.egress_worker_filter,
EGRESS_WORKER_FILTER_VALUE,
);
});
});
+3
View File
@@ -95,3 +95,6 @@ export const TABLE_SORT_BTN_ARROW_UP = (column) =>
`thead tr th:nth-child(${column}) button .hds-icon-arrow-up`;
export const TABLE_SORT_BTN_ARROW_DOWN = (column) =>
`thead tr th:nth-child(${column}) button .hds-icon-arrow-down`;
export const CODE_EDITOR_CONTENT =
'[data-test-code-editor-field-editor] textarea';