From b51c8203ee52711fe5016ead3021c714b8b9f92c Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Corvo Date: Fri, 8 Dec 2023 12:56:00 -0800 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=A4=96=20Upgrade=20eslint-plugin?= =?UTF-8?q?-qunit=20(#2011)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: 🤖 Upgrade eslint-plugin-qunit * Delete unnecessary assert.expect from tests --- addons/api/.eslintrc.js | 3 +++ addons/api/package.json | 2 +- .../api/tests/unit/abilities/account-test.js | 7 ----- .../tests/unit/abilities/auth-method-test.js | 6 ----- .../unit/abilities/channel-recording-test.js | 4 --- addons/api/tests/unit/abilities/group-test.js | 2 -- .../api/tests/unit/abilities/host-set-test.js | 2 -- addons/api/tests/unit/abilities/model-test.js | 6 ----- addons/api/tests/unit/abilities/role-test.js | 5 ---- .../unit/abilities/session-recording-test.js | 2 -- .../api/tests/unit/abilities/session-test.js | 24 ----------------- .../api/tests/unit/abilities/target-test.js | 6 ----- addons/api/tests/unit/abilities/user-test.js | 4 --- .../tests/unit/adapters/application-test.js | 10 ------- .../tests/unit/adapters/host-catalog-test.js | 2 -- .../unit/adapters/session-recording-test.js | 2 -- .../unit/adapters/storage-bucket-test.js | 1 - .../unit/mixins/adapter-build-url-test.js | 4 --- addons/api/tests/unit/models/account-test.js | 5 ---- .../api/tests/unit/models/auth-method-test.js | 4 --- addons/api/tests/unit/models/base-test.js | 3 --- .../unit/models/channel-recording-test.js | 2 -- .../unit/models/connection-recording-test.js | 1 - .../unit/models/credential-library-test.js | 1 - .../unit/models/credential-store-test.js | 2 -- .../api/tests/unit/models/credential-test.js | 3 --- addons/api/tests/unit/models/group-test.js | 1 - .../tests/unit/models/host-catalog-test.js | 7 ----- addons/api/tests/unit/models/host-test.js | 9 ------- addons/api/tests/unit/models/scope-test.js | 2 -- .../unit/models/session-recording-test.js | 6 ----- addons/api/tests/unit/models/session-test.js | 3 --- .../tests/unit/models/storage-bucket-test.js | 6 ----- addons/api/tests/unit/models/target-test.js | 5 ---- addons/api/tests/unit/models/user-test.js | 1 - addons/api/tests/unit/models/worker-test.js | 1 - .../tests/unit/serializers/account-test.js | 12 --------- .../unit/serializers/application-test.js | 12 --------- .../unit/serializers/auth-method-test.js | 8 ------ .../serializers/credential-library-test.js | 5 ---- .../unit/serializers/credential-store-test.js | 9 ------- .../tests/unit/serializers/credential-test.js | 10 ------- .../api/tests/unit/serializers/group-test.js | 3 --- .../unit/serializers/host-catalog-test.js | 8 ------ .../tests/unit/serializers/host-set-test.js | 7 ----- .../api/tests/unit/serializers/host-test.js | 3 --- .../unit/serializers/managed-group-test.js | 7 ----- .../api/tests/unit/serializers/role-test.js | 4 --- .../tests/unit/serializers/session-test.js | 1 - .../unit/serializers/storage-bucket-test.js | 5 ---- .../api/tests/unit/serializers/target-test.js | 16 ------------ .../api/tests/unit/serializers/user-test.js | 3 --- .../api/tests/unit/services/storage-test.js | 4 --- .../account-value-map-array-test.js | 2 -- .../tests/unit/transforms/duration-test.js | 2 -- .../transforms/host-source-id-array-test.js | 2 -- .../unit/transforms/object-as-array-test.js | 4 --- .../unit/transforms/string-array-test.js | 4 --- addons/auth/.eslintrc.js | 3 +++ addons/auth/package.json | 2 +- .../tests/unit/authenticators/oidc-test.js | 1 - .../tests/unit/session-stores/cookie-test.js | 4 --- addons/core/.eslintrc.js | 3 +++ addons/core/package.json | 2 +- .../tests/integration/components/doc-link.js | 1 - .../components/form/authenticate-test.js | 6 ----- .../integration/components/image-test.js | 1 - .../components/pending-confirmations-test.js | 1 - .../components/session-status-test.js | 6 +---- .../integration/helpers/app-name-test.js | 1 - .../helpers/company-copyright-test.js | 1 - .../integration/helpers/company-name-test.js | 1 - .../tests/integration/helpers/doc-url-test.js | 2 -- .../helpers/format-bytes-size-test.js | 1 - .../helpers/relative-datetime-live-test.js | 4 --- .../integration/helpers/truncate-list-test.js | 3 --- .../unit/authenticators/password-test.js | 2 -- .../core/tests/unit/services/confirm-test.js | 3 --- addons/rose/.eslintrc.js | 3 +++ addons/rose/package.json | 2 +- .../integration/components/rose/cards-test.js | 1 - .../components/rose/dialog/cover-test.js | 2 -- .../integration/components/rose/form-test.js | 8 +++--- .../components/rose/form/actions-test.js | 3 --- .../rose/form/actions/edit-toggle-test.js | 1 - .../components/rose/form/checkbox-test.js | 3 --- .../rose/form/checkbox/group-test.js | 3 --- .../components/rose/form/errors-test.js | 1 - .../components/rose/form/fieldset-test.js | 4 --- .../components/rose/form/helper-text-test.js | 1 - .../components/rose/form/input-test.js | 1 - .../components/rose/form/label-test.js | 1 - .../components/rose/header/brand-test.js | 1 - .../components/rose/layout/sidebar-test.js | 1 - .../components/rose/list/key-value-test.js | 1 - .../components/rose/message-test.js | 1 - .../components/rose/separator-test.js | 1 - .../components/rose/toolbar-test.js | 2 -- ui/admin/.eslintrc.js | 3 +++ ui/admin/package.json | 2 +- .../accounts/change-password-test.js | 5 ---- .../tests/acceptance/accounts/create-test.js | 10 ------- .../tests/acceptance/accounts/delete-test.js | 3 --- .../tests/acceptance/accounts/list-test.js | 3 --- .../tests/acceptance/accounts/read-test.js | 3 --- .../acceptance/accounts/set-password-test.js | 5 ---- .../tests/acceptance/accounts/update-test.js | 6 ----- .../acceptance/auth-methods/create-test.js | 15 ----------- .../acceptance/auth-methods/delete-test.js | 10 ------- .../acceptance/auth-methods/list-test.js | 3 --- .../acceptance/auth-methods/oidc-test.js | 6 ----- .../acceptance/auth-methods/read-test.js | 9 ------- .../acceptance/auth-methods/update-test.js | 9 ------- .../tests/acceptance/authentication-test.js | 24 ----------------- .../credential-library/create-test.js | 9 ------- .../credential-library/delete-test.js | 5 ---- .../credential-library/list-test.js | 3 --- .../credential-library/read-test.js | 5 ---- .../credential-library/update-test.js | 5 ---- .../credential-store/create-test.js | 7 ----- .../credentials/create-test.js | 13 ---------- .../credentials/delete-test.js | 15 ----------- .../credential-store/credentials/list-test.js | 3 --- .../credential-store/credentials/read-test.js | 10 ------- .../credentials/update-test.js | 16 ------------ .../credential-store/delete-test.js | 10 ------- .../acceptance/credential-store/list-test.js | 4 --- .../acceptance/credential-store/read-test.js | 8 ------ .../credential-store/update-test.js | 8 ------ ui/admin/tests/acceptance/develop-test.js | 2 -- .../tests/acceptance/groups/create-test.js | 6 ----- .../tests/acceptance/groups/delete-test.js | 3 --- ui/admin/tests/acceptance/groups/list-test.js | 3 --- .../tests/acceptance/groups/members-test.js | 10 ------- ui/admin/tests/acceptance/groups/read-test.js | 3 --- .../tests/acceptance/groups/update-test.js | 4 --- .../acceptance/host-catalogs/create-test.js | 10 ------- .../acceptance/host-catalogs/delete-test.js | 5 ---- .../host-catalogs/host-sets/create-test.js | 8 ------ .../host-catalogs/host-sets/delete-test.js | 5 ---- .../host-catalogs/host-sets/hosts-test.js | 16 ------------ .../host-catalogs/host-sets/list-test.js | 3 --- .../host-catalogs/host-sets/read-test.js | 6 ----- .../host-catalogs/host-sets/update-test.js | 9 ------- .../host-catalogs/hosts/create-test.js | 7 ----- .../host-catalogs/hosts/delete-test.js | 5 ---- .../host-catalogs/hosts/list-test.js | 3 --- .../host-catalogs/hosts/read-test.js | 6 ----- .../host-catalogs/hosts/update-test.js | 4 --- .../acceptance/host-catalogs/list-test.js | 4 --- .../acceptance/host-catalogs/read-test.js | 6 ----- .../acceptance/host-catalogs/update-test.js | 6 ----- .../acceptance/managed-groups/create-test.js | 9 ------- .../acceptance/managed-groups/delete-test.js | 6 ----- .../acceptance/managed-groups/list-test.js | 6 ----- .../acceptance/managed-groups/members-test.js | 1 - .../acceptance/managed-groups/read-test.js | 5 ---- .../acceptance/onboarding/onboarding-test.js | 3 --- .../acceptance/onboarding/success-test.js | 3 --- .../tests/acceptance/roles/create-test.js | 6 ----- .../tests/acceptance/roles/delete-test.js | 3 --- .../tests/acceptance/roles/grants-test.js | 9 ------- ui/admin/tests/acceptance/roles/list-test.js | 3 --- .../tests/acceptance/roles/principals-test.js | 8 ------ ui/admin/tests/acceptance/roles/read-test.js | 5 ---- .../tests/acceptance/roles/update-test.js | 4 --- ui/admin/tests/acceptance/scopes-test.js | 10 ------- .../tests/acceptance/scopes/delete-test.js | 5 ---- ui/admin/tests/acceptance/scopes/read-test.js | 2 -- .../tests/acceptance/scopes/update-test.js | 6 ----- .../session-recordings/list-test.js | 3 --- .../session-recordings/read-test.js | 5 ---- .../channels-by-connection/channel-test.js | 8 ------ ui/admin/tests/acceptance/sessions-test.js | 7 ----- .../acceptance/storage-buckets/create-test.js | 7 ----- .../acceptance/storage-buckets/delete-test.js | 5 ---- .../acceptance/storage-buckets/list-test.js | 6 ----- .../acceptance/storage-buckets/read-test.js | 5 ---- .../acceptance/storage-buckets/update-test.js | 6 ----- .../brokered-credential-sources-test.js | 21 --------------- .../tests/acceptance/targets/create-test.js | 18 ------------- .../tests/acceptance/targets/delete-test.js | 5 ---- .../targets/enable-session-recording-test.js | 10 ------- .../create-storage-bucket-test.js | 4 --- .../enable-session-recording/index-test.js | 10 ------- .../acceptance/targets/host-sources-test.js | 12 --------- ...ted-application-credential-sources-test.js | 19 -------------- .../tests/acceptance/targets/list-test.js | 4 --- .../tests/acceptance/targets/read-test.js | 14 ---------- .../tests/acceptance/targets/update-test.js | 20 -------------- .../tests/acceptance/users/accounts-test.js | 14 ---------- .../tests/acceptance/users/create-test.js | 6 ----- .../tests/acceptance/users/delete-test.js | 5 ---- ui/admin/tests/acceptance/users/list-test.js | 4 --- ui/admin/tests/acceptance/users/read-test.js | 5 ---- .../tests/acceptance/users/update-test.js | 6 ----- .../tests/acceptance/workers/create-test.js | 9 ------- .../tests/acceptance/workers/delete-test.js | 5 ---- .../tests/acceptance/workers/list-test.js | 4 --- .../tests/acceptance/workers/read-test.js | 4 --- .../tests/acceptance/workers/update-test.js | 3 --- .../breadcrumbs/container/index-test.js | 1 - .../form/field/json-secret-skeleton-test.js | 2 -- .../components/form/field/json-secret-test.js | 4 --- .../form/target/worker-filter-test.js | 2 -- .../integration/components/info-field-test.js | 4 --- .../components/link-list-panel/index-test.js | 5 ---- .../group/index-test.js | 2 -- .../ordered-series-diagram/index-test.js | 2 -- .../ordered-series-diagram/item/index-test.js | 2 -- .../session-recording/status-test.js | 5 ---- .../components/worker-diagram/index-test.js | 3 --- .../single-filter/index-test.js | 2 -- .../tests/integration/helpers/can-test.js | 2 -- .../tests/unit/abilities/auth-method-test.js | 7 ----- .../unit/abilities/channel-recording-test.js | 4 --- .../tests/unit/abilities/collection-test.js | 1 - .../unit/abilities/credential-library-test.js | 4 --- .../tests/unit/abilities/credential-test.js | 4 --- .../unit/abilities/session-recording-test.js | 12 --------- .../unit/abilities/storage-bucket-test.js | 26 ------------------- ui/admin/tests/unit/abilities/user-test.js | 6 ----- .../tests/unit/services/breadcrumbs-test.js | 3 --- .../unit/utils/param-value-finder-test.js | 2 -- ui/desktop/.eslintrc.js | 3 +++ ui/desktop/package.json | 2 +- yarn.lock | 8 +++--- 227 files changed, 32 insertions(+), 1179 deletions(-) diff --git a/addons/api/.eslintrc.js b/addons/api/.eslintrc.js index 6da8dfce7..26bd9f51f 100644 --- a/addons/api/.eslintrc.js +++ b/addons/api/.eslintrc.js @@ -59,6 +59,9 @@ module.exports = { // Test files: files: ['tests/**/*-test.{js,ts}'], extends: ['plugin:qunit/recommended'], + rules: { + 'qunit/require-expect': [2, 'except-simple'], + }, }, ], }; diff --git a/addons/api/package.json b/addons/api/package.json index b16506c10..0a8834a91 100644 --- a/addons/api/package.json +++ b/addons/api/package.json @@ -61,7 +61,7 @@ "eslint-config-prettier": "^9.0.0", "eslint-plugin-ember": "^11.11.1", "eslint-plugin-n": "^16.3.1", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.0.1", "js-bexpr": "hashicorp/js-bexpr#9b4a4b54d85eba67fdfc0990133d1518d890b1e1", "loader.js": "^4.7.0", "prettier": "^3.0.0", diff --git a/addons/api/tests/unit/abilities/account-test.js b/addons/api/tests/unit/abilities/account-test.js index 8c7824ff8..89d47e9e7 100644 --- a/addons/api/tests/unit/abilities/account-test.js +++ b/addons/api/tests/unit/abilities/account-test.js @@ -23,7 +23,6 @@ module('Unit | Abilities | Account', function (hooks) { }); test('it reflects when a given account may set password based on authorized_actions', function (assert) { - assert.expect(2); const account = store.createRecord('auth-method', { authorized_actions: ['set-password'], }); @@ -33,7 +32,6 @@ module('Unit | Abilities | Account', function (hooks) { }); test('can read known account types when authorized', function (assert) { - assert.expect(4); const account = store.createRecord('account', { authorized_actions: ['read'], type: TYPE_AUTH_METHOD_OIDC, @@ -48,7 +46,6 @@ module('Unit | Abilities | Account', function (hooks) { }); test('cannot read accounts when unauthorized', function (assert) { - assert.expect(4); const account = store.createRecord('account', { authorized_actions: [], type: TYPE_AUTH_METHOD_OIDC, @@ -63,7 +60,6 @@ module('Unit | Abilities | Account', function (hooks) { }); test('can delete known account types when authorized', function (assert) { - assert.expect(4); const account = store.createRecord('account', { authorized_actions: ['delete'], type: TYPE_AUTH_METHOD_OIDC, @@ -78,7 +74,6 @@ module('Unit | Abilities | Account', function (hooks) { }); test('cannot delete accounts when unauthorized', function (assert) { - assert.expect(4); const account = store.createRecord('account', { authorized_actions: ['delete'], type: TYPE_AUTH_METHOD_OIDC, @@ -93,7 +88,6 @@ module('Unit | Abilities | Account', function (hooks) { }); test('can update known account types when authorized', function (assert) { - assert.expect(4); const account = store.createRecord('account', { authorized_actions: ['update'], type: TYPE_AUTH_METHOD_OIDC, @@ -108,7 +102,6 @@ module('Unit | Abilities | Account', function (hooks) { }); test('cannot update accounts when unauthorized', function (assert) { - assert.expect(4); const account = store.createRecord('account', { authorized_actions: [], type: TYPE_AUTH_METHOD_OIDC, diff --git a/addons/api/tests/unit/abilities/auth-method-test.js b/addons/api/tests/unit/abilities/auth-method-test.js index ade783e69..67d7cb8bc 100644 --- a/addons/api/tests/unit/abilities/auth-method-test.js +++ b/addons/api/tests/unit/abilities/auth-method-test.js @@ -23,7 +23,6 @@ module('Unit | Abilities | Auth Method', function (hooks) { }); test('can read known auth method types when authorized', function (assert) { - assert.expect(4); const authMethod = store.createRecord('auth-method', { authorized_actions: ['read'], type: TYPE_AUTH_METHOD_OIDC, @@ -38,7 +37,6 @@ module('Unit | Abilities | Auth Method', function (hooks) { }); test('cannot read auth methods when unauthorized', function (assert) { - assert.expect(4); const authMethod = store.createRecord('auth-method', { authorized_actions: [], type: TYPE_AUTH_METHOD_OIDC, @@ -53,7 +51,6 @@ module('Unit | Abilities | Auth Method', function (hooks) { }); test('can delete known auth method types when authorized', function (assert) { - assert.expect(4); const authMethod = store.createRecord('auth-method', { authorized_actions: ['delete'], type: TYPE_AUTH_METHOD_OIDC, @@ -68,7 +65,6 @@ module('Unit | Abilities | Auth Method', function (hooks) { }); test('cannot delete auth methods when unauthorized', function (assert) { - assert.expect(4); const authMethod = store.createRecord('auth-method', { authorized_actions: ['delete'], type: TYPE_AUTH_METHOD_OIDC, @@ -83,7 +79,6 @@ module('Unit | Abilities | Auth Method', function (hooks) { }); test('can update known auth method types when authorized', function (assert) { - assert.expect(4); const authMethod = store.createRecord('auth-method', { authorized_actions: ['update'], type: TYPE_AUTH_METHOD_OIDC, @@ -98,7 +93,6 @@ module('Unit | Abilities | Auth Method', function (hooks) { }); test('cannot update auth methods when unauthorized', function (assert) { - assert.expect(4); const authMethod = store.createRecord('auth-method', { authorized_actions: [], type: TYPE_AUTH_METHOD_OIDC, diff --git a/addons/api/tests/unit/abilities/channel-recording-test.js b/addons/api/tests/unit/abilities/channel-recording-test.js index a5325d457..42d25af7c 100644 --- a/addons/api/tests/unit/abilities/channel-recording-test.js +++ b/addons/api/tests/unit/abilities/channel-recording-test.js @@ -25,8 +25,6 @@ module('Unit | Ability | channel-recording', function (hooks) { }); test('it can download asciicast', function (assert) { - assert.expect(1); - const sessionRecordingModel = store.createRecord('session-recording', { authorized_actions: ['download'], type: TYPE_SESSION_RECORDING_SSH, @@ -48,8 +46,6 @@ module('Unit | Ability | channel-recording', function (hooks) { }); test('it cannot download asciicast without the correct mime type', function (assert) { - assert.expect(1); - const sessionRecordingModel = store.createRecord('session-recording', { authorized_actions: ['download'], type: TYPE_SESSION_RECORDING_SSH, diff --git a/addons/api/tests/unit/abilities/group-test.js b/addons/api/tests/unit/abilities/group-test.js index 3fa493653..2d3b52953 100644 --- a/addons/api/tests/unit/abilities/group-test.js +++ b/addons/api/tests/unit/abilities/group-test.js @@ -10,7 +10,6 @@ module('Unit | Abilities | Group', function (hooks) { setupTest(hooks); test('it reflects when a given group resource may add members based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['add-members'], @@ -21,7 +20,6 @@ module('Unit | Abilities | Group', function (hooks) { }); test('it reflects when a given group resource may remove members based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['remove-members'], diff --git a/addons/api/tests/unit/abilities/host-set-test.js b/addons/api/tests/unit/abilities/host-set-test.js index 465847c02..386c01926 100644 --- a/addons/api/tests/unit/abilities/host-set-test.js +++ b/addons/api/tests/unit/abilities/host-set-test.js @@ -10,7 +10,6 @@ module('Unit | Abilities | Host Set', function (hooks) { setupTest(hooks); test('it reflects when a given host set resource may add hosts based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['add-hosts'], @@ -21,7 +20,6 @@ module('Unit | Abilities | Host Set', function (hooks) { }); test('it reflects when a given hostSet resource may remove hosts based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['remove-hosts'], diff --git a/addons/api/tests/unit/abilities/model-test.js b/addons/api/tests/unit/abilities/model-test.js index 7c92f8cab..cafd6a343 100644 --- a/addons/api/tests/unit/abilities/model-test.js +++ b/addons/api/tests/unit/abilities/model-test.js @@ -10,7 +10,6 @@ module('Unit | Abilities | Model', function (hooks) { setupTest(hooks); test('it reflects when a given model may be read based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['read'], @@ -21,7 +20,6 @@ module('Unit | Abilities | Model', function (hooks) { }); test('it reflects when a given model may be updated based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['update'], @@ -32,7 +30,6 @@ module('Unit | Abilities | Model', function (hooks) { }); test('it reflects when a given model may be saved based on isNew and authorized_actions', function (assert) { - assert.expect(4); const service = this.owner.lookup('service:can'); let model = { isNew: false, @@ -61,7 +58,6 @@ module('Unit | Abilities | Model', function (hooks) { }); test('it reflects when a given model may be deleted based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['delete'], @@ -74,7 +70,6 @@ module('Unit | Abilities | Model', function (hooks) { // =collections test('it reflects when a resource may be listed based on authorized_collection_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_collection_actions: { @@ -87,7 +82,6 @@ module('Unit | Abilities | Model', function (hooks) { }); test('it reflects when a resource may be created based on authorized_collection_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_collection_actions: { diff --git a/addons/api/tests/unit/abilities/role-test.js b/addons/api/tests/unit/abilities/role-test.js index 9c99a93db..8a5eff499 100644 --- a/addons/api/tests/unit/abilities/role-test.js +++ b/addons/api/tests/unit/abilities/role-test.js @@ -10,7 +10,6 @@ module('Unit | Abilities | Role', function (hooks) { setupTest(hooks); test('it reflects when a given role may set grants based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['set-grants'], @@ -21,7 +20,6 @@ module('Unit | Abilities | Role', function (hooks) { }); test('it reflects when a given role may add principals based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['add-principals'], @@ -32,7 +30,6 @@ module('Unit | Abilities | Role', function (hooks) { }); test('it reflects when a given role may remove principals based on authorized_actions', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const model = { authorized_actions: ['remove-principals'], @@ -43,7 +40,6 @@ module('Unit | Abilities | Role', function (hooks) { }); test('it proxies role principal read ability to the appropriate ability type', function (assert) { - assert.expect(6); const service = this.owner.lookup('service:can'); const user = { constructor: { modelName: 'user' }, @@ -69,7 +65,6 @@ module('Unit | Abilities | Role', function (hooks) { }); test('it throws an error for unknown principal types on principal read check', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:can'); const account = { constructor: { modelName: 'account' }, diff --git a/addons/api/tests/unit/abilities/session-recording-test.js b/addons/api/tests/unit/abilities/session-recording-test.js index f945e00da..48e8c0fc5 100644 --- a/addons/api/tests/unit/abilities/session-recording-test.js +++ b/addons/api/tests/unit/abilities/session-recording-test.js @@ -23,8 +23,6 @@ module('Unit | Ability | session-recording', function (hooks) { }); test('can download when a recording has download authorization', function (assert) { - assert.expect(2); - const recordingWithAuthorizedAction = store.createRecord( 'session-recording', { diff --git a/addons/api/tests/unit/abilities/session-test.js b/addons/api/tests/unit/abilities/session-test.js index 5cc2166d5..45ccf31a1 100644 --- a/addons/api/tests/unit/abilities/session-test.js +++ b/addons/api/tests/unit/abilities/session-test.js @@ -29,8 +29,6 @@ module('Unit | Ability | session', function (hooks) { }); test('can read a session that is active', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['read'], status: STATUS_SESSION_ACTIVE, @@ -40,8 +38,6 @@ module('Unit | Ability | session', function (hooks) { }); test('can read a session that is pending', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['read'], status: STATUS_SESSION_PENDING, @@ -51,8 +47,6 @@ module('Unit | Ability | session', function (hooks) { }); test('cannot read a session that is not authorized', function (assert) { - assert.expect(4); - const activeSession = store.createRecord('session', { authorized_actions: [], status: STATUS_SESSION_ACTIVE, @@ -77,8 +71,6 @@ module('Unit | Ability | session', function (hooks) { }); test('cannot read a session that is canceling', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['read'], status: STATUS_SESSION_CANCELING, @@ -88,8 +80,6 @@ module('Unit | Ability | session', function (hooks) { }); test('cannot read a session that is terminated', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['read'], status: STATUS_SESSION_TERMINATED, @@ -99,8 +89,6 @@ module('Unit | Ability | session', function (hooks) { }); test('can read a session that has read:self', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['read:self'], status: STATUS_SESSION_ACTIVE, @@ -110,8 +98,6 @@ module('Unit | Ability | session', function (hooks) { }); test('can cancel a session that is active', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['cancel'], status: STATUS_SESSION_ACTIVE, @@ -121,8 +107,6 @@ module('Unit | Ability | session', function (hooks) { }); test('can cancel a session that has cancel:self', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['cancel:self'], status: STATUS_SESSION_ACTIVE, @@ -132,8 +116,6 @@ module('Unit | Ability | session', function (hooks) { }); test('can cancel a session that is pending', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['cancel'], status: STATUS_SESSION_PENDING, @@ -143,8 +125,6 @@ module('Unit | Ability | session', function (hooks) { }); test('cannot cancel a session that is canceling', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['cancel'], status: STATUS_SESSION_CANCELING, @@ -154,8 +134,6 @@ module('Unit | Ability | session', function (hooks) { }); test('cannot cancel a session that is terminated', function (assert) { - assert.expect(1); - const session = store.createRecord('session', { authorized_actions: ['cancel'], status: STATUS_SESSION_TERMINATED, @@ -165,8 +143,6 @@ module('Unit | Ability | session', function (hooks) { }); test('cannot cancel a session that is not authorized', function (assert) { - assert.expect(4); - const activeSession = store.createRecord('session', { authorized_actions: [], status: STATUS_SESSION_ACTIVE, diff --git a/addons/api/tests/unit/abilities/target-test.js b/addons/api/tests/unit/abilities/target-test.js index 7d125b340..5daba4db4 100644 --- a/addons/api/tests/unit/abilities/target-test.js +++ b/addons/api/tests/unit/abilities/target-test.js @@ -16,7 +16,6 @@ module('Unit | Abilities | Target', function (hooks) { }); test('it reflects when a given target may connect based on authorized_actions', function (assert) { - assert.expect(2); const model = { authorized_actions: ['authorize-session'], }; @@ -26,7 +25,6 @@ module('Unit | Abilities | Target', function (hooks) { }); test('it reflects when a given target may add host sources', function (assert) { - assert.expect(2); const model = { authorized_actions: ['add-host-sources'], }; @@ -36,7 +34,6 @@ module('Unit | Abilities | Target', function (hooks) { }); test('it reflects when a given target may remove host sources', function (assert) { - assert.expect(2); const model = { authorized_actions: ['remove-host-sources'], }; @@ -46,7 +43,6 @@ module('Unit | Abilities | Target', function (hooks) { }); test('it reflects when a given target may add brokered credential sources', function (assert) { - assert.expect(2); const model = { authorized_actions: ['add-credential-sources'], }; @@ -56,7 +52,6 @@ module('Unit | Abilities | Target', function (hooks) { }); test('it reflects when a given target may remove credential sources', function (assert) { - assert.expect(2); const model = { authorized_actions: ['remove-credential-sources'], }; @@ -66,7 +61,6 @@ module('Unit | Abilities | Target', function (hooks) { }); test('it reflects when a given ssh target may add injected application credential sources', function (assert) { - assert.expect(3); const model = { authorized_actions: ['add-credential-sources'], isSSH: true, diff --git a/addons/api/tests/unit/abilities/user-test.js b/addons/api/tests/unit/abilities/user-test.js index 26ad213d6..516b00186 100644 --- a/addons/api/tests/unit/abilities/user-test.js +++ b/addons/api/tests/unit/abilities/user-test.js @@ -30,7 +30,6 @@ module('Unit | Abilities | User', function (hooks) { }); test('can add accounts to user when authorized and given a known account type', function (assert) { - assert.expect(5); instances.user.authorized_actions = ['add-accounts']; assert.true(canService.can('addAccounts user', instances.user)); instances.account.type = TYPE_AUTH_METHOD_OIDC; @@ -60,7 +59,6 @@ module('Unit | Abilities | User', function (hooks) { }); test('cannot add accounts to user when unauthorized', function (assert) { - assert.expect(5); instances.user.authorized_actions = []; assert.false(canService.can('addAccounts user', instances.user)); instances.account.type = TYPE_AUTH_METHOD_OIDC; @@ -90,7 +88,6 @@ module('Unit | Abilities | User', function (hooks) { }); test('can remove accounts from user when authorized and given a known account type', function (assert) { - assert.expect(5); instances.user.authorized_actions = ['remove-accounts']; assert.true(canService.can('removeAccounts user', instances.user)); instances.account.type = TYPE_AUTH_METHOD_OIDC; @@ -120,7 +117,6 @@ module('Unit | Abilities | User', function (hooks) { }); test('cannot remove accounts from user when unauthorized', function (assert) { - assert.expect(5); instances.user.authorized_actions = []; assert.false(canService.can('removeAccounts user', instances.user)); instances.account.type = TYPE_AUTH_METHOD_OIDC; diff --git a/addons/api/tests/unit/adapters/application-test.js b/addons/api/tests/unit/adapters/application-test.js index 9577f5f53..2f309f5a1 100644 --- a/addons/api/tests/unit/adapters/application-test.js +++ b/addons/api/tests/unit/adapters/application-test.js @@ -21,27 +21,23 @@ module('Unit | Adapter | application', function (hooks) { }); test('its namespace is equal to the configured namespace', function (assert) { - assert.expect(2); const adapter = this.owner.lookup('adapter:application'); assert.ok(adapter.namespace); assert.strictEqual(adapter.namespace, config.api.namespace); }); test('it generates correct URL prefixes', function (assert) { - assert.expect(2); const adapter = this.owner.lookup('adapter:application'); assert.ok(config.api.namespace); assert.strictEqual(adapter.urlPrefix(), config.api.namespace); }); test('it generates correct default URL suffixes', function (assert) { - assert.expect(1); const adapter = this.owner.lookup('adapter:application'); assert.strictEqual(adapter.urlSuffix(), ''); }); test('it generates URL suffixes with optional `method` from adapterOptions', function (assert) { - assert.expect(2); const method = 'set-something'; const adapter = this.owner.lookup('adapter:application'); const suffix = adapter.urlSuffix(null, null, { @@ -52,7 +48,6 @@ module('Unit | Adapter | application', function (hooks) { }); test('it generates correct complete URLs', function (assert) { - assert.expect(6); const scopeID = 'o_1'; const method = 'my-custom-method'; const mockSnapshot = { @@ -146,7 +141,6 @@ module('Unit | Adapter | application', function (hooks) { }); test('it prenormalizes "empty" responses into a form that the fetch-manager will not reject', async function (assert) { - assert.expect(1); const adapter = this.owner.lookup('adapter:application'); const store = this.owner.lookup('service:store'); this.server.get('/v1/users', () => new Response({})); @@ -160,14 +154,12 @@ module('Unit | Adapter | application', function (hooks) { }); test('it correctly identifies 400 responses as invalid', function (assert) { - assert.expect(2); const adapter = this.owner.lookup('adapter:application'); assert.ok(adapter.isInvalid(400)); assert.notOk(adapter.isInvalid(401)); }); test('it returns an proper InvalidError from handleResponse', function (assert) { - assert.expect(4); const adapter = this.owner.lookup('adapter:application'); const payload = { status: 400, @@ -182,7 +174,6 @@ module('Unit | Adapter | application', function (hooks) { }); test('it assigns convenience booleans for error types', function (assert) { - assert.expect(6); const adapter = this.owner.lookup('adapter:application'); const getResponse = (status) => adapter.handleResponse(status, {}, { status }); @@ -195,7 +186,6 @@ module('Unit | Adapter | application', function (hooks) { }); test('it returns field-level errors in InvalidError from handleResponse', function (assert) { - assert.expect(1); const adapter = this.owner.lookup('adapter:application'); const payload = { status: 400, diff --git a/addons/api/tests/unit/adapters/host-catalog-test.js b/addons/api/tests/unit/adapters/host-catalog-test.js index fc344fb15..a969b2cd9 100644 --- a/addons/api/tests/unit/adapters/host-catalog-test.js +++ b/addons/api/tests/unit/adapters/host-catalog-test.js @@ -10,7 +10,6 @@ module('Unit | Adapter | host catalog', function (hooks) { setupTest(hooks); test('it generates correct createRecord URLs for static host catalogs', function (assert) { - assert.expect(1); const scopeID = 'o_1'; const mockSnapshot = { adapterOptions: { @@ -31,7 +30,6 @@ module('Unit | Adapter | host catalog', function (hooks) { }); test('it generates correct createRecord URLs for dynamic host catalogs with extra query parameter ?plugin_name', function (assert) { - assert.expect(1); const scopeID = 'o_1'; const mockSnapshot = { adapterOptions: { diff --git a/addons/api/tests/unit/adapters/session-recording-test.js b/addons/api/tests/unit/adapters/session-recording-test.js index b84193a17..3c3b5e281 100644 --- a/addons/api/tests/unit/adapters/session-recording-test.js +++ b/addons/api/tests/unit/adapters/session-recording-test.js @@ -10,7 +10,6 @@ module('Unit | Adapter | session recording', function (hooks) { setupTest(hooks); test('it generates correct URLs for downloading asciicast', function (assert) { - assert.expect(1); const mockSnapshot = { adapterOptions: { method: 'download', @@ -34,7 +33,6 @@ module('Unit | Adapter | session recording', function (hooks) { }); test('it generates correct URLs for retrieving session-recordings', function (assert) { - assert.expect(1); const adapter = this.owner.lookup('adapter:session-recording'); const createRecordURL = adapter.buildURL( 'session-recording', diff --git a/addons/api/tests/unit/adapters/storage-bucket-test.js b/addons/api/tests/unit/adapters/storage-bucket-test.js index 82da19dd2..35d55169d 100644 --- a/addons/api/tests/unit/adapters/storage-bucket-test.js +++ b/addons/api/tests/unit/adapters/storage-bucket-test.js @@ -10,7 +10,6 @@ module('Unit | Adapter | storage bucket', function (hooks) { setupTest(hooks); test('it generates correct createRecord URLs for storage buckets with extra query parameter ?plugin_name', function (assert) { - assert.expect(1); const scopeID = 'o_1'; const mockSnapshot = { adapterOptions: { diff --git a/addons/api/tests/unit/mixins/adapter-build-url-test.js b/addons/api/tests/unit/mixins/adapter-build-url-test.js index 5261854a4..bbecf468e 100644 --- a/addons/api/tests/unit/mixins/adapter-build-url-test.js +++ b/addons/api/tests/unit/mixins/adapter-build-url-test.js @@ -13,7 +13,6 @@ module('Unit | Mixin | build-url', function (hooks) { setupTest(hooks); test('it does not interfere with basic URLs', function (assert) { - assert.expect(1); /* eslint-disable-next-line ember/no-new-mixins, ember/no-classic-classes */ const Adapter = RESTAdapter.extend(AdapterBuildURLMixin); this.owner.register('adapter:adapter', Adapter); @@ -23,7 +22,6 @@ module('Unit | Mixin | build-url', function (hooks) { }); test('it does not interfere with namespaced URLs', function (assert) { - assert.expect(1); /* eslint-disable-next-line ember/no-new-mixins, ember/no-classic-classes */ const Adapter = RESTAdapter.extend(AdapterBuildURLMixin, { namespace: 'api/v1', @@ -35,7 +33,6 @@ module('Unit | Mixin | build-url', function (hooks) { }); test('it can prepend a prefix', function (assert) { - assert.expect(1); /* eslint-disable-next-line ember/no-new-mixins, ember/no-classic-classes */ const Adapter = RESTAdapter.extend(AdapterBuildURLMixin, { urlPrefix() { @@ -49,7 +46,6 @@ module('Unit | Mixin | build-url', function (hooks) { }); test('it can append a suffix', function (assert) { - assert.expect(1); /* eslint-disable-next-line ember/no-new-mixins, ember/no-classic-classes */ const Adapter = RESTAdapter.extend(AdapterBuildURLMixin, { urlSuffix() { diff --git a/addons/api/tests/unit/models/account-test.js b/addons/api/tests/unit/models/account-test.js index 946b7362a..fd4e773db 100644 --- a/addons/api/tests/unit/models/account-test.js +++ b/addons/api/tests/unit/models/account-test.js @@ -27,7 +27,6 @@ module('Unit | Model | account', function (hooks) { }); test('it has an accountName attribute for password account', function (assert) { - assert.expect(2); store = this.owner.lookup('service:store'); let model = store.createRecord('account', { type: TYPE_AUTH_METHOD_PASSWORD, @@ -38,7 +37,6 @@ module('Unit | Model | account', function (hooks) { }); test('it has isPassword property and returns the expected values', function (assert) { - assert.expect(3); const modelA = store.createRecord('account', { type: TYPE_AUTH_METHOD_PASSWORD, }); @@ -54,7 +52,6 @@ module('Unit | Model | account', function (hooks) { }); test('it has isOIDC property and returns the expected values', function (assert) { - assert.expect(3); const modelA = store.createRecord('account', { type: TYPE_AUTH_METHOD_OIDC, }); @@ -70,7 +67,6 @@ module('Unit | Model | account', function (hooks) { }); test('it has isLDAP property and returns the expected values', function (assert) { - assert.expect(3); const modelA = store.createRecord('account', { type: TYPE_AUTH_METHOD_LDAP, }); @@ -86,7 +82,6 @@ module('Unit | Model | account', function (hooks) { }); test('it has isUnknown property and returns the expected values', function (assert) { - assert.expect(4); const modelA = store.createRecord('account', { type: TYPE_AUTH_METHOD_LDAP, }); diff --git a/addons/api/tests/unit/models/auth-method-test.js b/addons/api/tests/unit/models/auth-method-test.js index 1b1fbf1e8..c00e39ce3 100644 --- a/addons/api/tests/unit/models/auth-method-test.js +++ b/addons/api/tests/unit/models/auth-method-test.js @@ -62,7 +62,6 @@ module('Unit | Model | auth method', function (hooks) { }); test('it has isPassword property and returns the expected values', function (assert) { - assert.expect(3); const modelA = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_PASSWORD, }); @@ -78,7 +77,6 @@ module('Unit | Model | auth method', function (hooks) { }); test('it has isOIDC property and returns the expected values', function (assert) { - assert.expect(3); const modelA = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_OIDC, }); @@ -94,7 +92,6 @@ module('Unit | Model | auth method', function (hooks) { }); test('it has isLDAP property and returns the expected values', function (assert) { - assert.expect(3); const modelA = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_LDAP, }); @@ -110,7 +107,6 @@ module('Unit | Model | auth method', function (hooks) { }); test('it has isUnknown property and returns the expected values', function (assert) { - assert.expect(4); const modelA = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_LDAP, }); diff --git a/addons/api/tests/unit/models/base-test.js b/addons/api/tests/unit/models/base-test.js index a5ec427a6..82b8a2dcb 100644 --- a/addons/api/tests/unit/models/base-test.js +++ b/addons/api/tests/unit/models/base-test.js @@ -19,7 +19,6 @@ module('Unit | Model | base', function (hooks) { }); test('it may have a scope fragment (and thus a scopeModel)', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); store.push({ data: { @@ -46,7 +45,6 @@ module('Unit | Model | base', function (hooks) { }); test('it may accept a `scopeModel` for convenience, instead of a fragment', function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const scope = store.createRecord('scope', { id: 'o_1', type: 'org' }); const model = store.createRecord('user', '123abc'); @@ -57,7 +55,6 @@ module('Unit | Model | base', function (hooks) { }); test('it has a displayName attribute', function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); store.push({ data: { diff --git a/addons/api/tests/unit/models/channel-recording-test.js b/addons/api/tests/unit/models/channel-recording-test.js index 966645876..175754470 100644 --- a/addons/api/tests/unit/models/channel-recording-test.js +++ b/addons/api/tests/unit/models/channel-recording-test.js @@ -17,7 +17,6 @@ module('Unit | Model | channel-recording', function (hooks) { }); test('it has isAsciicast property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('channel-recording', { mime_types: [MIME_TYPE_ASCIICAST], @@ -30,7 +29,6 @@ module('Unit | Model | channel-recording', function (hooks) { }); test('it has isAsciicast property and returns the expected values when mime_types are not present', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('channel-recording', { mime_types: undefined, diff --git a/addons/api/tests/unit/models/connection-recording-test.js b/addons/api/tests/unit/models/connection-recording-test.js index e71e341ca..321cc9fbe 100644 --- a/addons/api/tests/unit/models/connection-recording-test.js +++ b/addons/api/tests/unit/models/connection-recording-test.js @@ -16,7 +16,6 @@ module('Unit | Model | connection-recording', function (hooks) { }); test('it has channels as a relationship', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const model = store.createRecord('connection-recording', { channel_recordings: [store.createRecord('channel-recording')], diff --git a/addons/api/tests/unit/models/credential-library-test.js b/addons/api/tests/unit/models/credential-library-test.js index d86607704..12d3a1bbf 100644 --- a/addons/api/tests/unit/models/credential-library-test.js +++ b/addons/api/tests/unit/models/credential-library-test.js @@ -17,7 +17,6 @@ module('Unit | Model | credential library', function (hooks) { }); test('it has isUnknown property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('credential-library', { type: TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC, diff --git a/addons/api/tests/unit/models/credential-store-test.js b/addons/api/tests/unit/models/credential-store-test.js index 19c2c20c9..a9e360457 100644 --- a/addons/api/tests/unit/models/credential-store-test.js +++ b/addons/api/tests/unit/models/credential-store-test.js @@ -16,7 +16,6 @@ module('Unit | Model | credential store', function (hooks) { }); test('it has a `isStatic` computed property and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelStatic = store.createRecord('credential-store', { type: 'static', @@ -30,7 +29,6 @@ module('Unit | Model | credential store', function (hooks) { }); test('it has a `isVault` computed property and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelVault = store.createRecord('credential-store', { type: 'vault', diff --git a/addons/api/tests/unit/models/credential-test.js b/addons/api/tests/unit/models/credential-test.js index afb624765..09b7cdc21 100644 --- a/addons/api/tests/unit/models/credential-test.js +++ b/addons/api/tests/unit/models/credential-test.js @@ -16,7 +16,6 @@ module('Unit | Model | credential', function (hooks) { }); test('it has isStatic property and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('credential', { id: 'credup_123' }); const modelB = store.createRecord('credential', { id: 'credspk_123' }); @@ -28,7 +27,6 @@ module('Unit | Model | credential', function (hooks) { }); test('it has isJSON property and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('credential', { type: 'json' }); const modelB = store.createRecord('credential', { @@ -44,7 +42,6 @@ module('Unit | Model | credential', function (hooks) { }); test('it has isUnknown property and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('credential', { type: 'username_password', diff --git a/addons/api/tests/unit/models/group-test.js b/addons/api/tests/unit/models/group-test.js index b8283c425..246ccdb2a 100644 --- a/addons/api/tests/unit/models/group-test.js +++ b/addons/api/tests/unit/models/group-test.js @@ -12,7 +12,6 @@ module('Unit | Model | group', function (hooks) { setupMirage(hooks); test('it has a `members` array of resolved model instances (if those instances are already in the store)', function (assert) { - assert.expect(4); const store = this.owner.lookup('service:store'); store.push({ data: { diff --git a/addons/api/tests/unit/models/host-catalog-test.js b/addons/api/tests/unit/models/host-catalog-test.js index 485e0ed4a..87595622e 100644 --- a/addons/api/tests/unit/models/host-catalog-test.js +++ b/addons/api/tests/unit/models/host-catalog-test.js @@ -16,7 +16,6 @@ module('Unit | Model | host catalog', function (hooks) { }); test('it has isStatic property and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('host-catalog', { compositeType: 'aws' }); const modelB = store.createRecord('host-catalog', { @@ -31,7 +30,6 @@ module('Unit | Model | host catalog', function (hooks) { }); test('it has isPlugin property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelPlugin = store.createRecord('host-catalog', { compositeType: 'aws', @@ -44,7 +42,6 @@ module('Unit | Model | host catalog', function (hooks) { }); test('it has isUnknown property and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('host-catalog', { compositeType: 'static', @@ -59,7 +56,6 @@ module('Unit | Model | host catalog', function (hooks) { }); test('it has isAWS property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelAws = store.createRecord('host-catalog', { type: 'plugin', @@ -73,7 +69,6 @@ module('Unit | Model | host catalog', function (hooks) { }); test('it has isAzure property and return the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelAzure = store.createRecord('host-catalog', { type: 'plugin', @@ -87,7 +82,6 @@ module('Unit | Model | host catalog', function (hooks) { }); test('get compositeType returns expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('host-catalog', { type: 'static', @@ -106,7 +100,6 @@ module('Unit | Model | host catalog', function (hooks) { }); test('set compositeType sets expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelPlugin = store.createRecord('host-catalog', { compositeType: 'aws', diff --git a/addons/api/tests/unit/models/host-test.js b/addons/api/tests/unit/models/host-test.js index 6a6c92a7c..139dc03d5 100644 --- a/addons/api/tests/unit/models/host-test.js +++ b/addons/api/tests/unit/models/host-test.js @@ -10,14 +10,12 @@ module('Unit | Model | host', function (hooks) { setupTest(hooks); test('it exists', function (assert) { - assert.expect(1); let store = this.owner.lookup('service:store'); let model = store.createRecord('host', {}); assert.ok(model); }); test('it contains attributes', function (assert) { - assert.expect(1); let store = this.owner.lookup('service:store'); let model = store.createRecord('host', { type: 'static', @@ -29,7 +27,6 @@ module('Unit | Model | host', function (hooks) { }); test('it has isStatic and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('host', { type: 'static' }); const modelB = store.createRecord('host', { type: 'plugin' }); @@ -39,7 +36,6 @@ module('Unit | Model | host', function (hooks) { }); test('it has isPlugin and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelPlugin = store.createRecord('host', { type: 'plugin' }); const modelStatic = store.createRecord('host', { type: 'static' }); @@ -49,7 +45,6 @@ module('Unit | Model | host', function (hooks) { }); test('it has isUnknown and returns the expected values', async function (assert) { - assert.expect(4); const store = this.owner.lookup('service:store'); const modelAws = store.createRecord('host', { type: 'plugin', @@ -71,7 +66,6 @@ module('Unit | Model | host', function (hooks) { }); test('it has isAWS and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelAws = store.createRecord('host', { type: 'plugin', @@ -86,7 +80,6 @@ module('Unit | Model | host', function (hooks) { }); test('it has isAzure and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelAzure = store.createRecord('host', { type: 'plugin', @@ -101,7 +94,6 @@ module('Unit | Model | host', function (hooks) { }); test('get compositeType returns expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelPlugin = store.createRecord('host', { type: 'plugin', @@ -116,7 +108,6 @@ module('Unit | Model | host', function (hooks) { }); test('set compositeType sets expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelPlugin = store.createRecord('host', { compositeType: 'aws', diff --git a/addons/api/tests/unit/models/scope-test.js b/addons/api/tests/unit/models/scope-test.js index 7439ba52f..89af688a0 100644 --- a/addons/api/tests/unit/models/scope-test.js +++ b/addons/api/tests/unit/models/scope-test.js @@ -12,7 +12,6 @@ module('Unit | Model | scope', function (hooks) { setupMirage(hooks); test('it may have a scope fragment', async function (assert) { - assert.expect(6); const store = this.owner.lookup('service:store'); this.server.get('/v1/scopes', () => ({ items: [ @@ -55,7 +54,6 @@ module('Unit | Model | scope', function (hooks) { }); test('it has isType boolean getters and setters', async function (assert) { - assert.expect(9); const store = this.owner.lookup('service:store'); const model = store.createRecord('scope', { type: 'global' }); assert.ok(model.isGlobal); diff --git a/addons/api/tests/unit/models/session-recording-test.js b/addons/api/tests/unit/models/session-recording-test.js index 70b820281..0e29b6b8d 100644 --- a/addons/api/tests/unit/models/session-recording-test.js +++ b/addons/api/tests/unit/models/session-recording-test.js @@ -24,7 +24,6 @@ module('Unit | Model | session-recording', function (hooks) { }); test('it has isUnknown property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('session-recording', { type: TYPE_SESSION_RECORDING_SSH, @@ -37,7 +36,6 @@ module('Unit | Model | session-recording', function (hooks) { }); test('it has isSSH property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('session-recording', { type: TYPE_SESSION_RECORDING_SSH, @@ -50,7 +48,6 @@ module('Unit | Model | session-recording', function (hooks) { }); test('it has isAvailable property and returns the expected values', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('session-recording', { state: STATE_SESSION_RECORDING_AVAILABLE, @@ -67,7 +64,6 @@ module('Unit | Model | session-recording', function (hooks) { }); test('it has connections as a relationship', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const model = store.createRecord('session-recording', { type: TYPE_SESSION_RECORDING_SSH, @@ -79,7 +75,6 @@ module('Unit | Model | session-recording', function (hooks) { }); test('it has targetScopeDisplayName and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const fakeName = 'Scope name'; const fakeId = 's_123456789'; @@ -109,7 +104,6 @@ module('Unit | Model | session-recording', function (hooks) { }); test('it has userDisplayName and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const fakeUserName = 'User name'; const fakeUserId = 'userid'; diff --git a/addons/api/tests/unit/models/session-test.js b/addons/api/tests/unit/models/session-test.js index 793fe52d8..ef431f046 100644 --- a/addons/api/tests/unit/models/session-test.js +++ b/addons/api/tests/unit/models/session-test.js @@ -33,7 +33,6 @@ module('Unit | Model | session', function (hooks) { }); test('it computes isActive', function (assert) { - assert.expect(2); let store = this.owner.lookup('service:store'); let model = store.createRecord('session', { status: 'pending', @@ -44,7 +43,6 @@ module('Unit | Model | session', function (hooks) { }); test('it computes isPending', function (assert) { - assert.expect(2); let store = this.owner.lookup('service:store'); let model = store.createRecord('session', { status: 'active', @@ -66,7 +64,6 @@ module('Unit | Model | session', function (hooks) { }); test('it has isUnknownStatus property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('session', { status: 'active' }); const modelB = store.createRecord('session', { diff --git a/addons/api/tests/unit/models/storage-bucket-test.js b/addons/api/tests/unit/models/storage-bucket-test.js index ef8687311..2bce398ca 100644 --- a/addons/api/tests/unit/models/storage-bucket-test.js +++ b/addons/api/tests/unit/models/storage-bucket-test.js @@ -21,7 +21,6 @@ module('Unit | Model | storage bucket', function (hooks) { }); test('it has the isPlugin property and returns the expected values', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const modelPlugin = store.createRecord('storage-bucket', { type: 'plugin', @@ -33,7 +32,6 @@ module('Unit | Model | storage bucket', function (hooks) { }); test('it has isUnknown property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('storage-bucket', { compositeType: TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3, @@ -46,7 +44,6 @@ module('Unit | Model | storage bucket', function (hooks) { }); test('it has credentialType property and returns the expected values', async function (assert) { - assert.expect(4); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('storage-bucket', { role_arn: 'test-role-arn', @@ -73,7 +70,6 @@ module('Unit | Model | storage bucket', function (hooks) { }); test('it has isAWS property and returns the expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelAws = store.createRecord('storage-bucket', { type: 'plugin', @@ -87,7 +83,6 @@ module('Unit | Model | storage bucket', function (hooks) { }); test('get compositeType returns expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelA = store.createRecord('storage-bucket', { type: 'plugin', @@ -102,7 +97,6 @@ module('Unit | Model | storage bucket', function (hooks) { }); test('set compositeType sets expected values', async function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelPlugin = store.createRecord('storage-bucket', { compositeType: TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3, diff --git a/addons/api/tests/unit/models/target-test.js b/addons/api/tests/unit/models/target-test.js index a42180e12..75762a22d 100644 --- a/addons/api/tests/unit/models/target-test.js +++ b/addons/api/tests/unit/models/target-test.js @@ -13,7 +13,6 @@ module('Unit | Model | target', function (hooks) { setupMirage(hooks); test('it has a `hostSets` array of resolved model instances (if those instances are already in the store)', function (assert) { - assert.expect(6); const store = this.owner.lookup('service:store'); store.push({ data: { @@ -190,7 +189,6 @@ module('Unit | Model | target', function (hooks) { }); test('it has a `sessions` array of session instances associated with the target (if those instances are already in the store)', function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); store.push({ data: { @@ -234,7 +232,6 @@ module('Unit | Model | target', function (hooks) { }); test('it has a `brokeredCredentialSources` array of resolved model instances (if those instances are already in the store)', function (assert) { - assert.expect(4); const store = this.owner.lookup('service:store'); store.push({ data: { @@ -386,7 +383,6 @@ module('Unit | Model | target', function (hooks) { }); test('it has isSSH property and returns the expected values', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelSSH = store.createRecord('target', { type: TYPE_TARGET_SSH, @@ -396,7 +392,6 @@ module('Unit | Model | target', function (hooks) { }); test('it has isTCP property and returns the expected values', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const modelTCP = store.createRecord('target', { type: TYPE_TARGET_TCP, diff --git a/addons/api/tests/unit/models/user-test.js b/addons/api/tests/unit/models/user-test.js index 3be2c3af2..5f5112138 100644 --- a/addons/api/tests/unit/models/user-test.js +++ b/addons/api/tests/unit/models/user-test.js @@ -105,7 +105,6 @@ module('Unit | Model | user', function (hooks) { }); test('it defaults `accounts_ids` to an empty array when model instance does not define it', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); store.push({ data: { diff --git a/addons/api/tests/unit/models/worker-test.js b/addons/api/tests/unit/models/worker-test.js index 4b78ea50c..440adfdc2 100644 --- a/addons/api/tests/unit/models/worker-test.js +++ b/addons/api/tests/unit/models/worker-test.js @@ -13,7 +13,6 @@ module('Unit | Model | worker', function (hooks) { test('it has a `createWorkerLed` method that targets a specific POST API', async function (assert) { assert.expect(2); - const scopeId = 'global'; const workerGeneratedAuthToken = 'token'; this.server.post('/v1/workers:create:worker-led', (schema, request) => { diff --git a/addons/api/tests/unit/serializers/account-test.js b/addons/api/tests/unit/serializers/account-test.js index caa5ca7d3..950a90a85 100644 --- a/addons/api/tests/unit/serializers/account-test.js +++ b/addons/api/tests/unit/serializers/account-test.js @@ -15,7 +15,6 @@ module('Unit | Serializer | account', function (hooks) { setupTest(hooks); test('it serializes OIDC-type with only issuer and subject in `attributes` on create', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('account'); const record = store.createRecord('account', { @@ -45,7 +44,6 @@ module('Unit | Serializer | account', function (hooks) { }); test('it serializes OIDC-type without `attributes` on update', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('account'); store.push({ @@ -77,7 +75,6 @@ module('Unit | Serializer | account', function (hooks) { }); test('it serializes password-type normally', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('account'); const record = store.createRecord('account', { @@ -103,7 +100,6 @@ module('Unit | Serializer | account', function (hooks) { }); test('it serializes password attribute when `adapterOptions.password` is true', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('account'); const record = store.createRecord('account', { @@ -132,12 +128,7 @@ module('Unit | Serializer | account', function (hooks) { }); }); - test('it does not serialize password for non-new records', function (assert) { - assert.expect(0); - }); - test('it serializes only password when `adapterOptions.method` is set to `set-password`', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('account'); const record = store.createRecord('account', { @@ -161,7 +152,6 @@ module('Unit | Serializer | account', function (hooks) { }); test('it serializes a custom payload when `adapterOptions.method` is set to `change-password`', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('account'); const record = store.createRecord('account', { @@ -187,7 +177,6 @@ module('Unit | Serializer | account', function (hooks) { }); test('it serializes LDAP-type with only login_name in `attributes` on create', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('account'); const record = store.createRecord('account', { @@ -217,7 +206,6 @@ module('Unit | Serializer | account', function (hooks) { }); test('it serializes LDAP-type without `attributes`', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('account'); store.push({ diff --git a/addons/api/tests/unit/serializers/application-test.js b/addons/api/tests/unit/serializers/application-test.js index 81964786f..57bfd08a7 100644 --- a/addons/api/tests/unit/serializers/application-test.js +++ b/addons/api/tests/unit/serializers/application-test.js @@ -11,14 +11,12 @@ module('Unit | Serializer | application', function (hooks) { setupTest(hooks); test('it exists', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('application'); assert.ok(serializer); }); test('it serializes records', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('user', { name: 'User', @@ -37,7 +35,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it serializes scope_id', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('user', { name: 'User', @@ -56,7 +53,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it does not serialize scope_id when serializeScopeID is false', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('user'); const record = store.createRecord('user', { @@ -77,7 +73,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it serializes empty strings to null', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('user', { name: '', @@ -92,7 +87,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it serializes non-nullish version fields', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const record = store.createRecord('user', { name: 'User', @@ -114,7 +108,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it serializes secret attributes correctly', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('credential', { private_key_passphrase: undefined, @@ -141,7 +134,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it serializes attributes with `for` option containing array or string correctly', function (assert) { - assert.expect(1); let store = this.owner.lookup('service:store'); let record = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_OIDC, //has both string and array `for` option @@ -193,7 +185,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it normalizes array records from an `items` root key', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('user'); const userModelClass = store.createRecord('user').constructor; @@ -244,7 +235,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it normalizes single, unrooted records', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('user'); const userModelClass = store.createRecord('user').constructor; @@ -275,7 +265,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it normalizes missing arrays in single responses if annotated in model attributes', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const target = store.createRecord('target').constructor; @@ -308,7 +297,6 @@ module('Unit | Serializer | application', function (hooks) { }); test('it normalizes removed fields correctly', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('user'); const user = store.createRecord('user').constructor; diff --git a/addons/api/tests/unit/serializers/auth-method-test.js b/addons/api/tests/unit/serializers/auth-method-test.js index d23abd471..918f28740 100644 --- a/addons/api/tests/unit/serializers/auth-method-test.js +++ b/addons/api/tests/unit/serializers/auth-method-test.js @@ -25,7 +25,6 @@ module('Unit | Serializer | auth method', function (hooks) { }); test('it serializes password records', function (assert) { - assert.expect(2); let store = this.owner.lookup('service:store'); let record = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_PASSWORD, @@ -41,7 +40,6 @@ module('Unit | Serializer | auth method', function (hooks) { }); test('it serializes OIDC records without state', function (assert) { - assert.expect(1); let store = this.owner.lookup('service:store'); let record = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_OIDC, @@ -93,7 +91,6 @@ module('Unit | Serializer | auth method', function (hooks) { }); test('it serializes LDAP records without state', function (assert) { - assert.expect(1); let store = this.owner.lookup('service:store'); let record = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_LDAP, @@ -158,7 +155,6 @@ module('Unit | Serializer | auth method', function (hooks) { }); test("OIDC auth-method doesn't serialize client secrets when not set", function (assert) { - assert.expect(1); let store = this.owner.lookup('service:store'); let record = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_OIDC, @@ -209,7 +205,6 @@ module('Unit | Serializer | auth method', function (hooks) { }); test("LDAP auth-method doesn't serialize client secrets when not set", function (assert) { - assert.expect(1); let store = this.owner.lookup('service:store'); let record = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_LDAP, @@ -273,7 +268,6 @@ module('Unit | Serializer | auth method', function (hooks) { }); test('it serializes OIDC records with only state and version when `adapterOptions.state` is passed', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('auth-method'); const record = store.createRecord('auth-method', { @@ -297,7 +291,6 @@ module('Unit | Serializer | auth method', function (hooks) { }); test('it serializes LDAP records with only state and version when `adapterOptions.state` is passed', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('auth-method'); const record = store.createRecord('auth-method', { @@ -321,7 +314,6 @@ module('Unit | Serializer | auth method', function (hooks) { }); test('it sorts primary first in normalizeArrayResponse', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('auth-method'); const modelClass = store.createRecord('auth-method').constructor; diff --git a/addons/api/tests/unit/serializers/credential-library-test.js b/addons/api/tests/unit/serializers/credential-library-test.js index 0a6e196ed..52b7f7151 100644 --- a/addons/api/tests/unit/serializers/credential-library-test.js +++ b/addons/api/tests/unit/serializers/credential-library-test.js @@ -14,7 +14,6 @@ module('Unit | Serializer | credential library', function (hooks) { setupTest(hooks); test('it serializes correctly on create', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential-library'); const record = store.createRecord('credential-library', { @@ -42,7 +41,6 @@ module('Unit | Serializer | credential library', function (hooks) { }); test('it serializes correctly on update', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential-library'); store.push({ @@ -77,7 +75,6 @@ module('Unit | Serializer | credential library', function (hooks) { }); test('it serializes empty strings to null', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const vaultGenericRecord = store.createRecord('credential-library', { type: TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC, @@ -122,7 +119,6 @@ module('Unit | Serializer | credential library', function (hooks) { }); test('it does not serialize http_request_body unless http_method is set to POST', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const record = store.createRecord('credential-library', { type: TYPE_CREDENTIAL_LIBRARY_VAULT_GENERIC, @@ -166,7 +162,6 @@ module('Unit | Serializer | credential library', function (hooks) { }); test('it serializes vault_ssh_certificate correctly', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential-library'); store.push({ diff --git a/addons/api/tests/unit/serializers/credential-store-test.js b/addons/api/tests/unit/serializers/credential-store-test.js index 926bf0725..fa0e03627 100644 --- a/addons/api/tests/unit/serializers/credential-store-test.js +++ b/addons/api/tests/unit/serializers/credential-store-test.js @@ -10,7 +10,6 @@ module('Unit | Serializer | credential store', function (hooks) { setupTest(hooks); test('it serializes vault-type correctly on create', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential-store'); const record = store.createRecord('credential-store', { @@ -50,7 +49,6 @@ module('Unit | Serializer | credential store', function (hooks) { }); test('it serializes vault-type correctly on update', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential-store'); store.push({ @@ -97,7 +95,6 @@ module('Unit | Serializer | credential store', function (hooks) { }); test('it serializes empty strings to null for vault-type credential store', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('credential-store', { address: '', @@ -129,7 +126,6 @@ module('Unit | Serializer | credential store', function (hooks) { }); test('it does not serialize token if present but falsy for vault-type credential store', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('credential-store', { token: null, @@ -166,7 +162,6 @@ module('Unit | Serializer | credential store', function (hooks) { }); test('it does not serialize client certificate key if present but falsy when client certificate is present for vault-type credential store', function (assert) { - assert.expect(2); const store = this.owner.lookup('service:store'); const record = store.createRecord('credential-store', { client_certificate: 'client-cert-123', @@ -226,7 +221,6 @@ module('Unit | Serializer | credential store', function (hooks) { }); test('it serializes empty strings to null for static-type credential store', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('credential-store', { name: '', @@ -242,7 +236,6 @@ module('Unit | Serializer | credential store', function (hooks) { }); test('it serializes static-type correctly on create', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('credential-store', { type: 'static', @@ -257,7 +250,6 @@ module('Unit | Serializer | credential store', function (hooks) { }); test('it serializes static-type correctly on update', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); store.push({ data: { @@ -280,7 +272,6 @@ module('Unit | Serializer | credential store', function (hooks) { }); test('it normalizes vault type credential store record', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential-store'); const credentialStoreModelClass = diff --git a/addons/api/tests/unit/serializers/credential-test.js b/addons/api/tests/unit/serializers/credential-test.js index 859f0dfe9..e8856ec27 100644 --- a/addons/api/tests/unit/serializers/credential-test.js +++ b/addons/api/tests/unit/serializers/credential-test.js @@ -10,7 +10,6 @@ module('Unit | Serializer | credential', function (hooks) { setupTest(hooks); test('it serializes username_password type correctly on create', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const record = store.createRecord('credential', { @@ -39,7 +38,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it serializes username_password type correctly when only the username is updated', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const record = store.createRecord('credential', { @@ -67,7 +65,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it serializes ssh_private_key type correctly on create', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const record = store.createRecord('credential', { @@ -98,7 +95,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it serializes json_object type correctly on create', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const record = store.createRecord('credential', { @@ -129,7 +125,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it serializes ssh_private_key type correctly when only the username is updated', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const record = store.createRecord('credential', { @@ -158,7 +153,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it serializes username_password type correctly by removing "json_object" attribute', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const record = store.createRecord('credential', { @@ -187,7 +181,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it serializes ssh_private_key type correctly by removing "json_object" attribute', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const record = store.createRecord('credential', { @@ -219,7 +212,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it normalizes "username_password" type credential record', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const credentialModelClass = store.createRecord('credential').constructor; @@ -253,7 +245,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it normalizes "ssh_private_key" type credential record', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const credentialModelClass = store.createRecord('credential').constructor; @@ -288,7 +279,6 @@ module('Unit | Serializer | credential', function (hooks) { }); test('it normalizes "json" type credential record', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('credential'); const credentialModelClass = store.createRecord('credential').constructor; diff --git a/addons/api/tests/unit/serializers/group-test.js b/addons/api/tests/unit/serializers/group-test.js index 4fe4f2a59..752fc41a1 100644 --- a/addons/api/tests/unit/serializers/group-test.js +++ b/addons/api/tests/unit/serializers/group-test.js @@ -10,7 +10,6 @@ module('Unit | Serializer | group', function (hooks) { setupTest(hooks); test('it serializes groups normally, without members', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('group'); const record = store.createRecord('group', { @@ -30,7 +29,6 @@ module('Unit | Serializer | group', function (hooks) { }); test('it serializes only host sets and version when an `adapterOptions.memberIDs` array is passed', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('group'); const record = store.createRecord('group', { @@ -51,7 +49,6 @@ module('Unit | Serializer | group', function (hooks) { }); test('it normalizes missing member_ids to empty array', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('group'); const group = store.createRecord('group').constructor; diff --git a/addons/api/tests/unit/serializers/host-catalog-test.js b/addons/api/tests/unit/serializers/host-catalog-test.js index 406f3f9d1..2e5b6844f 100644 --- a/addons/api/tests/unit/serializers/host-catalog-test.js +++ b/addons/api/tests/unit/serializers/host-catalog-test.js @@ -17,7 +17,6 @@ module('Unit | Serializer | host catalog', function (hooks) { }); test('it serializes a static host-catalog as expected', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('host-catalog', { name: 'static', @@ -33,7 +32,6 @@ module('Unit | Serializer | host catalog', function (hooks) { }); test('it serializes a new aws plugin as expected, ignoring azure fields', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('host-catalog', { compositeType: 'aws', @@ -68,7 +66,6 @@ module('Unit | Serializer | host catalog', function (hooks) { }); test('it serializes a new azure record as expected, ignoring aws fields', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('host-catalog', { compositeType: 'azure', @@ -104,7 +101,6 @@ module('Unit | Serializer | host catalog', function (hooks) { }); test('it serializes an existing aws record correctly', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); store.push({ data: { @@ -135,7 +131,6 @@ module('Unit | Serializer | host catalog', function (hooks) { }); test('it serializes an existing azure record correctly', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); store.push({ data: { @@ -170,7 +165,6 @@ module('Unit | Serializer | host catalog', function (hooks) { }); test('it normalizes an static host catalog as expected', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host-catalog'); const hostCatalog = store.createRecord('host-catalog').constructor; @@ -207,7 +201,6 @@ module('Unit | Serializer | host catalog', function (hooks) { }); test('it normalizes an aws plugin type host catalog as expected', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host-catalog'); const hostCatalog = store.createRecord('host-catalog').constructor; @@ -264,7 +257,6 @@ module('Unit | Serializer | host catalog', function (hooks) { }); test('it normalizes an azure plugin type host catalog as expected', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host-catalog'); const hostCatalog = store.createRecord('host-catalog').constructor; diff --git a/addons/api/tests/unit/serializers/host-set-test.js b/addons/api/tests/unit/serializers/host-set-test.js index 38baceb86..24a2db5fb 100644 --- a/addons/api/tests/unit/serializers/host-set-test.js +++ b/addons/api/tests/unit/serializers/host-set-test.js @@ -10,7 +10,6 @@ module('Unit | Serializer | host set', function (hooks) { setupTest(hooks); test('it serializes host sets normally, without host_ids', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('host-set', { name: 'Host Set 1', @@ -28,7 +27,6 @@ module('Unit | Serializer | host set', function (hooks) { }); test('it serializes only host_ids when `adapterOptions.hostIDs` is true', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host-set'); const record = store.createRecord('host-set', { @@ -49,7 +47,6 @@ module('Unit | Serializer | host set', function (hooks) { }); test('it serializes host sets as expected for Aws plugin', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('host-set', { name: 'Host Set 1', @@ -75,7 +72,6 @@ module('Unit | Serializer | host set', function (hooks) { }); test('it serializes host sets as expected for Azure plugin', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('host-set', { name: 'Host Set 1', @@ -101,7 +97,6 @@ module('Unit | Serializer | host set', function (hooks) { }); test('it normalizes records with array fields', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host-set'); const hostSetModelClass = store.createRecord('host-set').constructor; @@ -141,7 +136,6 @@ module('Unit | Serializer | host set', function (hooks) { }); test('it normalizes missing array fields to empty array', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host-set'); const hostSet = store.createRecord('host-set').constructor; @@ -174,7 +168,6 @@ module('Unit | Serializer | host set', function (hooks) { }); test('it normalizes filter correctly', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host-set'); const hostSetModelClass = store.createRecord('host-set').constructor; diff --git a/addons/api/tests/unit/serializers/host-test.js b/addons/api/tests/unit/serializers/host-test.js index 2e6f5bdf5..42d10adcb 100644 --- a/addons/api/tests/unit/serializers/host-test.js +++ b/addons/api/tests/unit/serializers/host-test.js @@ -10,7 +10,6 @@ module('Unit | Serializer | host', function (hooks) { setupTest(hooks); test('it serializes host with type static as expected', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('host', { name: 'Host 1', @@ -33,7 +32,6 @@ module('Unit | Serializer | host', function (hooks) { }); test('it normalizes type static record as expected', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host'); const host = store.createRecord('host').constructor; @@ -65,7 +63,6 @@ module('Unit | Serializer | host', function (hooks) { }); test('it normalizes type plugin (aws) record as expected', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('host'); const host = store.createRecord('host').constructor; diff --git a/addons/api/tests/unit/serializers/managed-group-test.js b/addons/api/tests/unit/serializers/managed-group-test.js index 9c4c7d43b..58c0371c5 100644 --- a/addons/api/tests/unit/serializers/managed-group-test.js +++ b/addons/api/tests/unit/serializers/managed-group-test.js @@ -14,7 +14,6 @@ module('Unit | Serializer | Managed group', function (hooks) { setupTest(hooks); test('it serializes correctly on create with no filter provided', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('managed-group'); const record = store.createRecord('managed-group', { @@ -38,7 +37,6 @@ module('Unit | Serializer | Managed group', function (hooks) { }); test('it serializes correctly on create when filter provided', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('managed-group'); const record = store.createRecord('managed-group', { @@ -66,7 +64,6 @@ module('Unit | Serializer | Managed group', function (hooks) { }); test('it serializes correctly on create when group names are provided', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('managed-group'); const record = store.createRecord('managed-group', { @@ -94,7 +91,6 @@ module('Unit | Serializer | Managed group', function (hooks) { }); test('it does not serialize version when it has null or undefined value', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('managed-group'); store.push({ @@ -127,7 +123,6 @@ module('Unit | Serializer | Managed group', function (hooks) { }); test('it does not serialize readOnly attributes', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('managed-group'); const record = store.createRecord('managed-group', { @@ -153,7 +148,6 @@ module('Unit | Serializer | Managed group', function (hooks) { }); test('it serializes correctly on update', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('managed-group'); store.push({ @@ -187,7 +181,6 @@ module('Unit | Serializer | Managed group', function (hooks) { }); test('it normalizes correctly', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('managed-group'); const hostSetModelClass = store.createRecord('managed-group').constructor; diff --git a/addons/api/tests/unit/serializers/role-test.js b/addons/api/tests/unit/serializers/role-test.js index d7d7cc5e1..f3617580f 100644 --- a/addons/api/tests/unit/serializers/role-test.js +++ b/addons/api/tests/unit/serializers/role-test.js @@ -10,7 +10,6 @@ module('Unit | Serializer | role', function (hooks) { setupTest(hooks); test('it serializes roles normally, without grants', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('role'); const record = store.createRecord('role', { @@ -31,7 +30,6 @@ module('Unit | Serializer | role', function (hooks) { }); test('it serializes only grant strings when `adapterOptions.grantStrings` is set', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('role'); const record = store.createRecord('role', { @@ -52,7 +50,6 @@ module('Unit | Serializer | role', function (hooks) { }); test('it normalizes records with array fields', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('role'); const roleModelClass = store.createRecord('role').constructor; @@ -83,7 +80,6 @@ module('Unit | Serializer | role', function (hooks) { }); test('it normalizes missing principals to empty array', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('role'); const role = store.createRecord('role').constructor; diff --git a/addons/api/tests/unit/serializers/session-test.js b/addons/api/tests/unit/serializers/session-test.js index fa72bf841..77bd153cf 100644 --- a/addons/api/tests/unit/serializers/session-test.js +++ b/addons/api/tests/unit/serializers/session-test.js @@ -17,7 +17,6 @@ module('Unit | Serializer | session', function (hooks) { }); test('it serializes only version when `adapterOptions.method` is `cancel`', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('session'); const record = store.createRecord('session', { diff --git a/addons/api/tests/unit/serializers/storage-bucket-test.js b/addons/api/tests/unit/serializers/storage-bucket-test.js index b390d28db..9e81e289f 100644 --- a/addons/api/tests/unit/serializers/storage-bucket-test.js +++ b/addons/api/tests/unit/serializers/storage-bucket-test.js @@ -25,7 +25,6 @@ module('Unit | Serializer | storage bucket', function (hooks) { }); test('it serializes a new static aws plugin as expected', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('storage-bucket', { compositeType: TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3, @@ -72,7 +71,6 @@ module('Unit | Serializer | storage bucket', function (hooks) { }); test('it serializes a new aws plugin with dynamic credentials as expected', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const record = store.createRecord('storage-bucket', { compositeType: TYPE_STORAGE_BUCKET_PLUGIN_AWS_S3, @@ -115,7 +113,6 @@ module('Unit | Serializer | storage bucket', function (hooks) { }); test('it serializes when updating a dynamic type credential storage bucket with static credentials correctly', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('storage-bucket'); store.push({ @@ -173,7 +170,6 @@ module('Unit | Serializer | storage bucket', function (hooks) { }); test('it serializes when updating a static type credential storage bucket with dynamic credentials correctly', async function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('storage-bucket'); store.push({ @@ -227,7 +223,6 @@ module('Unit | Serializer | storage bucket', function (hooks) { }); test('it normalizes correctly', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('storage-bucket'); const hostSetModelClass = store.createRecord('storage-bucket').constructor; diff --git a/addons/api/tests/unit/serializers/target-test.js b/addons/api/tests/unit/serializers/target-test.js index d8691094c..76dd6599b 100644 --- a/addons/api/tests/unit/serializers/target-test.js +++ b/addons/api/tests/unit/serializers/target-test.js @@ -11,7 +11,6 @@ module('Unit | Serializer | target', function (hooks) { setupTest(hooks); test('it serializes TCP targets normally, without host sets or credential libraries or session recording fields in the attributes', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -61,7 +60,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it serializes SSH targets normally with session recording fields in the attributes but without host sets or credential libraries', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -113,7 +111,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it serializes only host sources and version when an `adapterOptions.hostSetIDs` array is passed', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -137,7 +134,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it serializes only credential sources and version when an `adapterOptions.brokeredCredentialSourceIDs` array is passed', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -159,7 +155,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it serializes only credential sources and version when an `adapterOptions.injectedApplicationCredentialSourceIDs` array is passed', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -184,7 +179,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it serializes the storage_bucket_id attribute if present', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -223,7 +217,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it serializes the worker_filter attribute if present', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -261,7 +254,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it serializes the egress_worker_filter attribute if present', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -299,7 +291,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it serializes the ingress_worker_filter attribute if present', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const record = store.createRecord('target', { @@ -337,7 +328,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it normalizes records with array fields', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const targetModelClass = store.createRecord('target').constructor; @@ -377,7 +367,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it normalizes records with nested attributes', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const targetModelClass = store.createRecord('target').constructor; @@ -412,7 +401,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it normalizes missing host_sources and brokered_credential_source_ids to empty array', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const target = store.createRecord('target').constructor; @@ -445,7 +433,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it normalizes the worker_filter attribute if present', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const target = store.createRecord('target').constructor; @@ -478,7 +465,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it normalizes the egress_worker_filter attribute if present', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const target = store.createRecord('target').constructor; @@ -511,7 +497,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it normalizes the ingress_worker_filter attribute if present', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const target = store.createRecord('target').constructor; @@ -544,7 +529,6 @@ module('Unit | Serializer | target', function (hooks) { }); test('it normalizes the storage_bucket_id attribute if present', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('target'); const target = store.createRecord('target').constructor; diff --git a/addons/api/tests/unit/serializers/user-test.js b/addons/api/tests/unit/serializers/user-test.js index 401fb7fb0..0bbabd107 100644 --- a/addons/api/tests/unit/serializers/user-test.js +++ b/addons/api/tests/unit/serializers/user-test.js @@ -10,7 +10,6 @@ module('Unit | Serializer | user', function (hooks) { setupTest(hooks); test('it serializes users normally, without accounts', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('user'); const record = store.createRecord('user', { @@ -30,7 +29,6 @@ module('Unit | Serializer | user', function (hooks) { }); test('it serializes only host sets and version when an `adapterOptions.accountIDs` array is passed', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('user'); const record = store.createRecord('user', { @@ -51,7 +49,6 @@ module('Unit | Serializer | user', function (hooks) { }); test('it normalizes missing account_ids to empty array', function (assert) { - assert.expect(1); const store = this.owner.lookup('service:store'); const serializer = store.serializerFor('user'); const user = store.createRecord('user').constructor; diff --git a/addons/api/tests/unit/services/storage-test.js b/addons/api/tests/unit/services/storage-test.js index 4c3c68c49..82d286675 100644 --- a/addons/api/tests/unit/services/storage-test.js +++ b/addons/api/tests/unit/services/storage-test.js @@ -10,14 +10,12 @@ module('Unit | Service | storage', function (hooks) { setupTest(hooks); test('it can persist values', function (assert) { - assert.expect(1); const service = this.owner.lookup('service:storage'); service.setItem('foo', 'bar'); assert.strictEqual(service.getItem('foo'), 'bar'); }); test('it can remove persisted values', function (assert) { - assert.expect(2); const service = this.owner.lookup('service:storage'); service.setItem('foo', 'bar'); assert.strictEqual(service.getItem('foo'), 'bar'); @@ -29,14 +27,12 @@ module('Unit | Service | storage', function (hooks) { // if we switch to random test ordering test("it's in-memory storage is implicitly refreshed for every test case", function (assert) { - assert.expect(1); const service = this.owner.lookup('service:storage'); service.setItem('foo', 'bar'); assert.strictEqual(service.getItem('foo'), 'bar'); }); test("it's in-memory storage is implicitly refreshed for every test case, and thus values from previous runs are not present", function (assert) { - assert.expect(1); const service = this.owner.lookup('service:storage'); assert.notOk(service.getItem('foo')); }); diff --git a/addons/api/tests/unit/transforms/account-value-map-array-test.js b/addons/api/tests/unit/transforms/account-value-map-array-test.js index ba7e75fbc..a8c905aca 100644 --- a/addons/api/tests/unit/transforms/account-value-map-array-test.js +++ b/addons/api/tests/unit/transforms/account-value-map-array-test.js @@ -10,7 +10,6 @@ module('Unit | Transform | account value map array', function (hooks) { setupTest(hooks); test('it deserializes an array of account claims', function (assert) { - assert.expect(1); const transform = this.owner.lookup('transform:account-value-map-array'); const deserialized = transform.deserialize(['oid=sub', 'full_name=name']); assert.deepEqual(deserialized, [ @@ -20,7 +19,6 @@ module('Unit | Transform | account value map array', function (hooks) { }); test('it serializes an array of account claims', function (assert) { - assert.expect(1); const transform = this.owner.lookup('transform:account-value-map-array'); const serialized = transform.serialize([ { from: 'oid', to: 'sub' }, diff --git a/addons/api/tests/unit/transforms/duration-test.js b/addons/api/tests/unit/transforms/duration-test.js index 4755787bd..2cb134bae 100644 --- a/addons/api/tests/unit/transforms/duration-test.js +++ b/addons/api/tests/unit/transforms/duration-test.js @@ -10,7 +10,6 @@ module('Unit | Transform | duration', function (hooks) { setupTest(hooks); test('it deserializes a duration string', function (assert) { - assert.expect(8); const transform = this.owner.lookup('transform:duration'); const num1 = transform.deserialize('0s'); @@ -33,7 +32,6 @@ module('Unit | Transform | duration', function (hooks) { }); test('it serializes a duration number', function (assert) { - assert.expect(7); const transform = this.owner.lookup('transform:duration'); const num1 = transform.serialize(0); const num2 = transform.serialize(undefined); diff --git a/addons/api/tests/unit/transforms/host-source-id-array-test.js b/addons/api/tests/unit/transforms/host-source-id-array-test.js index f176a162e..da6852cf1 100644 --- a/addons/api/tests/unit/transforms/host-source-id-array-test.js +++ b/addons/api/tests/unit/transforms/host-source-id-array-test.js @@ -10,7 +10,6 @@ module('Unit | Transform | host source id array', function (hooks) { setupTest(hooks); test('it deserializes an array of strings to an array of `{value}`', function (assert) { - assert.expect(1); const transform = this.owner.lookup('transform:host-source-id-array'); const deserialized = transform.deserialize([ { id: '123', host_catalog_id: '1' }, @@ -21,7 +20,6 @@ module('Unit | Transform | host source id array', function (hooks) { }); test('it serializes an array of `{value}` to an array of strings', function (assert) { - assert.expect(1); const transform = this.owner.lookup('transform:host-source-id-array'); const serialized = transform.serialize([ { host_source_id: '123', host_catalog_id: '1' }, diff --git a/addons/api/tests/unit/transforms/object-as-array-test.js b/addons/api/tests/unit/transforms/object-as-array-test.js index 977f7d2bd..1c496364b 100644 --- a/addons/api/tests/unit/transforms/object-as-array-test.js +++ b/addons/api/tests/unit/transforms/object-as-array-test.js @@ -10,7 +10,6 @@ module('Unit | Transform | object as array', function (hooks) { setupTest(hooks); test('it deserializes an object to an array of key value objects', function (assert) { - assert.expect(1); let transform = this.owner.lookup('transform:object-as-array'); const deserialized = transform.deserialize({ first: 'Hey', @@ -25,14 +24,12 @@ module('Unit | Transform | object as array', function (hooks) { }); test('it deserializes undefined to an empty object', function (assert) { - assert.expect(1); let transform = this.owner.lookup('transform:object-as-array'); const deserialized = transform.deserialize(undefined); assert.deepEqual(deserialized, []); }); test('it serializes an array of key value objects to an object', function (assert) { - assert.expect(1); let transform = this.owner.lookup('transform:object-as-array'); const serialized = transform.serialize([ { key: 'first', value: 'Hey' }, @@ -48,7 +45,6 @@ module('Unit | Transform | object as array', function (hooks) { }); test('it serializes an empty array of key value objects to null', function (assert) { - assert.expect(1); let transform = this.owner.lookup('transform:object-as-array'); const serialized = transform.serialize([]); diff --git a/addons/api/tests/unit/transforms/string-array-test.js b/addons/api/tests/unit/transforms/string-array-test.js index 7a6d7b47a..5cb200920 100644 --- a/addons/api/tests/unit/transforms/string-array-test.js +++ b/addons/api/tests/unit/transforms/string-array-test.js @@ -10,7 +10,6 @@ module('Unit | Transform | string array', function (hooks) { setupTest(hooks); test('it deserializes an array of strings to an array of `{value}`', function (assert) { - assert.expect(1); const transform = this.owner.lookup('transform:string-array'); const deserialized = transform.deserialize(['a', 'bee', 'Hello World']); assert.deepEqual(deserialized, [ @@ -21,14 +20,12 @@ module('Unit | Transform | string array', function (hooks) { }); test('it deserializes null to an empty array', function (assert) { - assert.expect(1); const transform = this.owner.lookup('transform:string-array'); const deserialized = transform.deserialize(null); assert.deepEqual(deserialized, []); }); test('it serializes an array of `{value}` to an array of strings', function (assert) { - assert.expect(1); const transform = this.owner.lookup('transform:string-array'); const serialized = transform.serialize([ { value: 'a' }, @@ -39,7 +36,6 @@ module('Unit | Transform | string array', function (hooks) { }); test('it serializes null to an empty array', function (assert) { - assert.expect(1); const transform = this.owner.lookup('transform:string-array'); const serialized = transform.serialize(null); assert.deepEqual(serialized, []); diff --git a/addons/auth/.eslintrc.js b/addons/auth/.eslintrc.js index 6da8dfce7..26bd9f51f 100644 --- a/addons/auth/.eslintrc.js +++ b/addons/auth/.eslintrc.js @@ -59,6 +59,9 @@ module.exports = { // Test files: files: ['tests/**/*-test.{js,ts}'], extends: ['plugin:qunit/recommended'], + rules: { + 'qunit/require-expect': [2, 'except-simple'], + }, }, ], }; diff --git a/addons/auth/package.json b/addons/auth/package.json index edd2fe01e..f47e3404b 100644 --- a/addons/auth/package.json +++ b/addons/auth/package.json @@ -58,7 +58,7 @@ "eslint-config-prettier": "^9.0.0", "eslint-plugin-ember": "^11.11.1", "eslint-plugin-n": "^16.3.1", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.0.1", "loader.js": "^4.7.0", "pretender": "^3.4.3", "prettier": "^3.0.0", diff --git a/addons/auth/tests/unit/authenticators/oidc-test.js b/addons/auth/tests/unit/authenticators/oidc-test.js index 9e5bc0df6..65047e63d 100644 --- a/addons/auth/tests/unit/authenticators/oidc-test.js +++ b/addons/auth/tests/unit/authenticators/oidc-test.js @@ -21,7 +21,6 @@ module('Unit | Authenticator | OIDC', function (hooks) { }); test('`startAuthentication` initiates the authentication flow and returns the response', async function (assert) { - assert.expect(2); const authenticator = this.owner.lookup('authenticator:oidc'); server.post(authenticator.buildAuthEndpointURL(), () => [ 200, diff --git a/addons/auth/tests/unit/session-stores/cookie-test.js b/addons/auth/tests/unit/session-stores/cookie-test.js index ca6a32786..0e658968c 100644 --- a/addons/auth/tests/unit/session-stores/cookie-test.js +++ b/addons/auth/tests/unit/session-stores/cookie-test.js @@ -21,7 +21,6 @@ module('Unit | Session Store | cookie', function (hooks) { }); test('it restores a session if both necessary cookies are present (session exists)', async function (assert) { - assert.expect(2); sessionStore.cookies.write(sessionStore.cookieName, 'token-value', { path: '/', }); @@ -40,14 +39,12 @@ module('Unit | Session Store | cookie', function (hooks) { }); test('it rejects restore if the session does not exist', async function (assert) { - assert.expect(2); assert.notOk(sessionStore.sessionExists); await sessionStore.restore().catch(() => {}); assert.ok(true, 'Rejected'); }); test('it cleans up cookies on restore rejection', async function (assert) { - assert.expect(4); // For session cookie sessionStore.cookies.write(sessionStore.cookieName, 'token-value', { path: '/', @@ -79,7 +76,6 @@ module('Unit | Session Store | cookie', function (hooks) { }); test('it persists only an authenticator name cookie, since the server persists the session cookie', async function (assert) { - assert.expect(4); assert.notOk(sessionStore.cookies.exists(sessionStore.cookieName)); assert.notOk( sessionStore.cookies.exists(sessionStore.authenticatorCookieName), diff --git a/addons/core/.eslintrc.js b/addons/core/.eslintrc.js index 6da8dfce7..26bd9f51f 100644 --- a/addons/core/.eslintrc.js +++ b/addons/core/.eslintrc.js @@ -59,6 +59,9 @@ module.exports = { // Test files: files: ['tests/**/*-test.{js,ts}'], extends: ['plugin:qunit/recommended'], + rules: { + 'qunit/require-expect': [2, 'except-simple'], + }, }, ], }; diff --git a/addons/core/package.json b/addons/core/package.json index dfc39c2ad..b0233b8ee 100644 --- a/addons/core/package.json +++ b/addons/core/package.json @@ -75,7 +75,7 @@ "eslint-config-prettier": "^9.0.0", "eslint-plugin-ember": "^11.11.1", "eslint-plugin-n": "^16.3.1", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.0.1", "js-bexpr": "hashicorp/js-bexpr#9b4a4b54d85eba67fdfc0990133d1518d890b1e1", "loader.js": "^4.7.0", "prettier": "^3.0.0", diff --git a/addons/core/tests/integration/components/doc-link.js b/addons/core/tests/integration/components/doc-link.js index 8f2b61473..597b2f91f 100644 --- a/addons/core/tests/integration/components/doc-link.js +++ b/addons/core/tests/integration/components/doc-link.js @@ -12,7 +12,6 @@ module('Integration | Component | doc-link', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(1); await render(hbs``); assert.ok(find('.doc-link .rose-icon.large')); }); diff --git a/addons/core/tests/integration/components/form/authenticate-test.js b/addons/core/tests/integration/components/form/authenticate-test.js index 78789b028..74c86c082 100644 --- a/addons/core/tests/integration/components/form/authenticate-test.js +++ b/addons/core/tests/integration/components/form/authenticate-test.js @@ -19,8 +19,6 @@ module('Integration | Component | form | authenticate', function (hooks) { setupIntl(hooks); test('it shows login name and password when LDAP is selected from the list', async function (assert) { - assert.expect(3); - const store = this.owner.lookup('service:store'); this.model = store.createRecord('auth-method', { @@ -43,8 +41,6 @@ module('Integration | Component | form | authenticate', function (hooks) { }); test('it shows login name and password when password is selected from the list', async function (assert) { - assert.expect(3); - const store = this.owner.lookup('service:store'); this.model = store.createRecord('auth-method', { @@ -67,8 +63,6 @@ module('Integration | Component | form | authenticate', function (hooks) { }); test('it should only show sign in button when OIDC is selected from the list', async function (assert) { - assert.expect(3); - const store = this.owner.lookup('service:store'); this.model = store.createRecord('auth-method', { diff --git a/addons/core/tests/integration/components/image-test.js b/addons/core/tests/integration/components/image-test.js index cae30b85f..8ec72434a 100644 --- a/addons/core/tests/integration/components/image-test.js +++ b/addons/core/tests/integration/components/image-test.js @@ -12,7 +12,6 @@ module('Integration | Component | Image', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(1); await render(hbs``); assert.ok(find('.image-container')); }); diff --git a/addons/core/tests/integration/components/pending-confirmations-test.js b/addons/core/tests/integration/components/pending-confirmations-test.js index d074245d1..71f4ac3a8 100644 --- a/addons/core/tests/integration/components/pending-confirmations-test.js +++ b/addons/core/tests/integration/components/pending-confirmations-test.js @@ -12,7 +12,6 @@ module('Integration | Component | pending-confirmations', function (hooks) { setupRenderingTest(hooks); test('it renders pending confirmations', async function (assert) { - assert.expect(2); const service = this.owner.lookup('service:confirm'); service.enabled = true; await render(hbs` diff --git a/addons/core/tests/integration/components/session-status-test.js b/addons/core/tests/integration/components/session-status-test.js index eeb155253..cb7d45922 100644 --- a/addons/core/tests/integration/components/session-status-test.js +++ b/addons/core/tests/integration/components/session-status-test.js @@ -10,8 +10,8 @@ import { hbs } from 'ember-cli-htmlbars'; module('Integration | Component | session-status', function (hooks) { setupRenderingTest(hooks); + test('it maps to correct text color, icon and type if it is in active status', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); this.model = store.createRecord('session', { status: 'active' }); await render(hbs``); @@ -21,7 +21,6 @@ module('Integration | Component | session-status', function (hooks) { }); test('it maps to correct text color, icon and type if it is in canceling status', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); this.model = store.createRecord('session', { status: 'canceling' }); await render(hbs``); @@ -31,7 +30,6 @@ module('Integration | Component | session-status', function (hooks) { }); test('it maps to correct text color, icon and type if it is in terminated status', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); this.model = store.createRecord('session', { status: 'terminated' }); await render(hbs``); @@ -41,7 +39,6 @@ module('Integration | Component | session-status', function (hooks) { }); test('it maps to correct text color, icon and type if it is in pending status', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); this.model = store.createRecord('session', { status: 'pending' }); await render(hbs``); @@ -51,7 +48,6 @@ module('Integration | Component | session-status', function (hooks) { }); test('display neutral color and outlined style when it is an unknown status', async function (assert) { - assert.expect(3); const store = this.owner.lookup('service:store'); this.model = store.createRecord('session', { status: 'any string' }); await render(hbs``); diff --git a/addons/core/tests/integration/helpers/app-name-test.js b/addons/core/tests/integration/helpers/app-name-test.js index a38981668..9a44396eb 100644 --- a/addons/core/tests/integration/helpers/app-name-test.js +++ b/addons/core/tests/integration/helpers/app-name-test.js @@ -12,7 +12,6 @@ module('Integration | Helper | app-name', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(1); await render(hbs`{{app-name}}`); assert.strictEqual(this.element.textContent.trim(), 'App Name'); }); diff --git a/addons/core/tests/integration/helpers/company-copyright-test.js b/addons/core/tests/integration/helpers/company-copyright-test.js index dfa124e8f..68df0c022 100644 --- a/addons/core/tests/integration/helpers/company-copyright-test.js +++ b/addons/core/tests/integration/helpers/company-copyright-test.js @@ -7,7 +7,6 @@ module('Integration | Helper | company-copyright', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(1); const currentYear = new Date().getFullYear(); await render(hbs`{{company-copyright}}`); assert.strictEqual( diff --git a/addons/core/tests/integration/helpers/company-name-test.js b/addons/core/tests/integration/helpers/company-name-test.js index dd07e8959..dd3a25257 100644 --- a/addons/core/tests/integration/helpers/company-name-test.js +++ b/addons/core/tests/integration/helpers/company-name-test.js @@ -12,7 +12,6 @@ module('Integration | Helper | company-name', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(1); await render(hbs`{{company-name}}`); assert.strictEqual(this.element.textContent.trim(), 'Company Name'); }); diff --git a/addons/core/tests/integration/helpers/doc-url-test.js b/addons/core/tests/integration/helpers/doc-url-test.js index 04f59ea46..48df585e9 100644 --- a/addons/core/tests/integration/helpers/doc-url-test.js +++ b/addons/core/tests/integration/helpers/doc-url-test.js @@ -12,7 +12,6 @@ module('Integration | Helper | doc-url', function (hooks) { setupRenderingTest(hooks); test('it renders a URL generated from the documentation config', async function (assert) { - assert.expect(3); const config = this.owner.resolveRegistration('config:environment'); const baseURL = config.documentation.baseURL; const path = config.documentation.topics.account; @@ -23,7 +22,6 @@ module('Integration | Helper | doc-url', function (hooks) { }); test('it throws an error if the specified documentation path cannot be found', async function (assert) { - assert.expect(2); const Helper = this.owner.lookup('helper:doc-url'); const helper = new Helper(this.owner); assert.ok(helper.compute(['account']), 'Specified document exists.'); diff --git a/addons/core/tests/integration/helpers/format-bytes-size-test.js b/addons/core/tests/integration/helpers/format-bytes-size-test.js index f833d14f4..cf9821cc1 100644 --- a/addons/core/tests/integration/helpers/format-bytes-size-test.js +++ b/addons/core/tests/integration/helpers/format-bytes-size-test.js @@ -12,7 +12,6 @@ module('Integration | Helper | format-bytes-size', function (hooks) { setupRenderingTest(hooks); test('it renders file size in human-readable string', async function (assert) { - assert.expect(18); // Size to B const expectedSizeB = '1 B'; this.set('inputNumberSizeB', 1); diff --git a/addons/core/tests/integration/helpers/relative-datetime-live-test.js b/addons/core/tests/integration/helpers/relative-datetime-live-test.js index b8f9734a4..5a212a2da 100644 --- a/addons/core/tests/integration/helpers/relative-datetime-live-test.js +++ b/addons/core/tests/integration/helpers/relative-datetime-live-test.js @@ -16,8 +16,6 @@ module('Integration | Helper | relative-datetime-live', function (hooks) { let now; test('it renders relative date in "time" ago format', async function (assert) { - assert.expect(8); - now = Date.now(); this.date = now - 100 - 30 * 1000; await render(hbs`{{relative-datetime-live this.date}}`); @@ -60,8 +58,6 @@ module('Integration | Helper | relative-datetime-live', function (hooks) { }); test('it renders nothing when there is no date', async function (assert) { - assert.expect(1); - this.date = null; await render(hbs`{{relative-datetime-live this.date}}`); assert.dom(this.element).hasText(''); diff --git a/addons/core/tests/integration/helpers/truncate-list-test.js b/addons/core/tests/integration/helpers/truncate-list-test.js index 93a9fab97..ea36d69d6 100644 --- a/addons/core/tests/integration/helpers/truncate-list-test.js +++ b/addons/core/tests/integration/helpers/truncate-list-test.js @@ -25,7 +25,6 @@ module('Integration | Helper | truncate-list', function (hooks) { setupIntl(hooks); test('it renders correctly when there is list with more than the limit specificed', async function (assert) { - assert.expect(1); this.set('inputValue', list); this.set('limit', limit); await render( @@ -38,7 +37,6 @@ module('Integration | Helper | truncate-list', function (hooks) { }); test('it renders correctly when there is list with one item', async function (assert) { - assert.expect(1); this.set('inputValue', listWithOneItem); await render(hbs`{{truncate-list 'actions.more' this.inputValue}}`); @@ -46,7 +44,6 @@ module('Integration | Helper | truncate-list', function (hooks) { }); test('it renders correctly when the list is empty', async function (assert) { - assert.expect(1); this.set('inputValue', listWithNoItem); await render(hbs`{{truncate-list 'actions.more' this.inputValue}}`); diff --git a/addons/core/tests/unit/authenticators/password-test.js b/addons/core/tests/unit/authenticators/password-test.js index f3e905d37..0e3619482 100644 --- a/addons/core/tests/unit/authenticators/password-test.js +++ b/addons/core/tests/unit/authenticators/password-test.js @@ -30,7 +30,6 @@ module('Unit | Authenticator | password', function (hooks) { }); test('it adds an authorization header to application adapter on restore', async function (assert) { - assert.expect(1); const id = 'token1234'; const mockData = { attributes: { id, token: 'token1234' } }; this.server.get(authenticator.buildTokenValidationEndpointURL(id), () => { @@ -44,7 +43,6 @@ module('Unit | Authenticator | password', function (hooks) { }); test('it adds an authorization header to application adapter on authenticate', async function (assert) { - assert.expect(1); const creds = { identification: 'foo', password: 'bar' }; const scope = { id: 'global' }; const authMethod = { id: 'paum_1234' }; diff --git a/addons/core/tests/unit/services/confirm-test.js b/addons/core/tests/unit/services/confirm-test.js index a2e4ec997..15a523b17 100644 --- a/addons/core/tests/unit/services/confirm-test.js +++ b/addons/core/tests/unit/services/confirm-test.js @@ -10,7 +10,6 @@ module('Unit | Service | confirm', function (hooks) { setupTest(hooks); test('`confirm()` emits promise-like instances', function (assert) { - assert.expect(3); const service = this.owner.lookup('service:confirm'); service.enabled = true; const confirmation = service.confirm(); @@ -20,7 +19,6 @@ module('Unit | Service | confirm', function (hooks) { }); test('`pending` is an array of pending confirmations', function (assert) { - assert.expect(3); const service = this.owner.lookup('service:confirm'); service.enabled = true; assert.strictEqual( @@ -39,7 +37,6 @@ module('Unit | Service | confirm', function (hooks) { }); test('confirmations may be confirmed or dismissed', function (assert) { - assert.expect(4); const service = this.owner.lookup('service:confirm'); service.enabled = true; let confirmation = service.confirm(); diff --git a/addons/rose/.eslintrc.js b/addons/rose/.eslintrc.js index fb36fa0b9..19ecb9965 100644 --- a/addons/rose/.eslintrc.js +++ b/addons/rose/.eslintrc.js @@ -68,6 +68,9 @@ module.exports = { // Test files: files: ['tests/**/*-test.{js,ts}'], extends: ['plugin:qunit/recommended'], + rules: { + 'qunit/require-expect': [2, 'except-simple'], + }, }, ], }; diff --git a/addons/rose/package.json b/addons/rose/package.json index 0126b3910..59b0a4318 100644 --- a/addons/rose/package.json +++ b/addons/rose/package.json @@ -84,7 +84,7 @@ "eslint-config-prettier": "^9.0.0", "eslint-plugin-ember": "^11.11.1", "eslint-plugin-n": "^16.3.1", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.0.1", "jest": "^27.4.7", "loader.js": "^4.7.0", "postcss": "^8.4.31", diff --git a/addons/rose/tests/integration/components/rose/cards-test.js b/addons/rose/tests/integration/components/rose/cards-test.js index 27c20ac9c..4bcf28194 100644 --- a/addons/rose/tests/integration/components/rose/cards-test.js +++ b/addons/rose/tests/integration/components/rose/cards-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/cards', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(2); await render(hbs` <:header> diff --git a/addons/rose/tests/integration/components/rose/form-test.js b/addons/rose/tests/integration/components/rose/form-test.js index 7545bb7d3..7e6b01ce3 100644 --- a/addons/rose/tests/integration/components/rose/form-test.js +++ b/addons/rose/tests/integration/components/rose/form-test.js @@ -34,7 +34,6 @@ module('Integration | Component | rose/form', function (hooks) { }); test('it can render contextual form components', async function (assert) { - assert.expect(5); this.submit = () => {}; this.cancel = () => {}; this.select = () => {}; @@ -46,9 +45,9 @@ module('Integration | Component | rose/form', function (hooks) { as |form| > - Short description @@ -133,7 +132,6 @@ module('Integration | Component | rose/form', function (hooks) { }); test('it re-enables read-only mode if the submit handler returns a resolving promise', async function (assert) { - assert.expect(15); this.cancel = () => {}; await render(hbs` {}; await render( hbs` @@ -28,7 +27,6 @@ module('Integration | Component | rose/form/actions', function (hooks) { }); test('it can disable the buttons', async function (assert) { - assert.expect(2); this.cancel = () => {}; await render( hbs` @@ -46,7 +44,6 @@ module('Integration | Component | rose/form/actions', function (hooks) { }); test('it optionally does not render the cancel button', async function (assert) { - assert.expect(2); await render(hbs` `); diff --git a/addons/rose/tests/integration/components/rose/form/actions/edit-toggle-test.js b/addons/rose/tests/integration/components/rose/form/actions/edit-toggle-test.js index c7e30e13a..a42765f65 100644 --- a/addons/rose/tests/integration/components/rose/form/actions/edit-toggle-test.js +++ b/addons/rose/tests/integration/components/rose/form/actions/edit-toggle-test.js @@ -14,7 +14,6 @@ module( setupRenderingTest(hooks); test('it renders a regular button', async function (assert) { - assert.expect(1); this.enableEdit = () => {}; await render( hbs` diff --git a/addons/rose/tests/integration/components/rose/form/checkbox-test.js b/addons/rose/tests/integration/components/rose/form/checkbox-test.js index e01b82102..b53d3fd50 100644 --- a/addons/rose/tests/integration/components/rose/form/checkbox-test.js +++ b/addons/rose/tests/integration/components/rose/form/checkbox-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/form/checkbox', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(3); await render(hbs``); assert.strictEqual(find('label').textContent.trim(), 'Label'); assert.ok(find('input')); @@ -20,7 +19,6 @@ module('Integration | Component | rose/form/checkbox', function (hooks) { }); test('it renders optional description paragraph', async function (assert) { - assert.expect(3); await render( hbs``, ); @@ -36,7 +34,6 @@ module('Integration | Component | rose/form/checkbox', function (hooks) { }); test('it renders optional helper text', async function (assert) { - assert.expect(1); await render( hbs``, ); diff --git a/addons/rose/tests/integration/components/rose/form/checkbox/group-test.js b/addons/rose/tests/integration/components/rose/form/checkbox/group-test.js index cd045b687..f60b1693f 100644 --- a/addons/rose/tests/integration/components/rose/form/checkbox/group-test.js +++ b/addons/rose/tests/integration/components/rose/form/checkbox/group-test.js @@ -25,7 +25,6 @@ module('Integration | Component | rose/form/checkbox/group', function (hooks) { }); test('it renders checkboxes equal in length to an array of items', async function (assert) { - assert.expect(1); this.items = items; await render(hbs` diff --git a/addons/rose/tests/integration/components/rose/form/errors-test.js b/addons/rose/tests/integration/components/rose/form/errors-test.js index 9e8a6475f..72b581266 100644 --- a/addons/rose/tests/integration/components/rose/form/errors-test.js +++ b/addons/rose/tests/integration/components/rose/form/errors-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/form/errors', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(3); await render(hbs` An error occurred. diff --git a/addons/rose/tests/integration/components/rose/form/fieldset-test.js b/addons/rose/tests/integration/components/rose/form/fieldset-test.js index e70e1d1bd..5985eccb5 100644 --- a/addons/rose/tests/integration/components/rose/form/fieldset-test.js +++ b/addons/rose/tests/integration/components/rose/form/fieldset-test.js @@ -37,7 +37,6 @@ module('Integration | Component | rose/form/fieldset', function (hooks) { } test('it renders the full component', async function (assert) { - assert.expect(4); await renderComponent(false); assert.ok(find('.rose-form-fieldset')); assert.strictEqual( @@ -55,7 +54,6 @@ module('Integration | Component | rose/form/fieldset', function (hooks) { }); test('it renders with no description', async function (assert) { - assert.expect(4); await renderComponent(true); assert.ok(find('.rose-form-fieldset')); assert.strictEqual( @@ -70,7 +68,6 @@ module('Integration | Component | rose/form/fieldset', function (hooks) { }); test('it supports aria description for fieldset with description provided', async function (assert) { - assert.expect(1); await renderComponent(false); const descriptionElement = find('.rose-form-fieldset-description'); const fieldsetElement = find('.rose-form-fieldset'); @@ -83,7 +80,6 @@ module('Integration | Component | rose/form/fieldset', function (hooks) { }); test('it does not support aria description for fieldset with no description provided', async function (assert) { - assert.expect(3); await renderComponent(true); const fieldsetElement = find('.rose-form-fieldset'); diff --git a/addons/rose/tests/integration/components/rose/form/helper-text-test.js b/addons/rose/tests/integration/components/rose/form/helper-text-test.js index c39c17808..0b3df7933 100644 --- a/addons/rose/tests/integration/components/rose/form/helper-text-test.js +++ b/addons/rose/tests/integration/components/rose/form/helper-text-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/form/helper-text', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(2); await render(hbs` Helper text diff --git a/addons/rose/tests/integration/components/rose/form/input-test.js b/addons/rose/tests/integration/components/rose/form/input-test.js index 1f2b5103b..b3ad57ac7 100644 --- a/addons/rose/tests/integration/components/rose/form/input-test.js +++ b/addons/rose/tests/integration/components/rose/form/input-test.js @@ -82,7 +82,6 @@ module('Integration | Component | rose/form/input', function (hooks) { }); test('it supports a fully contextual usage', async function (assert) { - assert.expect(5); await render(hbs` Label diff --git a/addons/rose/tests/integration/components/rose/form/label-test.js b/addons/rose/tests/integration/components/rose/form/label-test.js index 16fedfc7e..9ec2f98cd 100644 --- a/addons/rose/tests/integration/components/rose/form/label-test.js +++ b/addons/rose/tests/integration/components/rose/form/label-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/form/label', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(2); await render(hbs` Form Label diff --git a/addons/rose/tests/integration/components/rose/header/brand-test.js b/addons/rose/tests/integration/components/rose/header/brand-test.js index 6a97ced54..cb4f908db 100644 --- a/addons/rose/tests/integration/components/rose/header/brand-test.js +++ b/addons/rose/tests/integration/components/rose/header/brand-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/header/brand', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(3); await render(hbs` `); diff --git a/addons/rose/tests/integration/components/rose/layout/sidebar-test.js b/addons/rose/tests/integration/components/rose/layout/sidebar-test.js index f8be31ec0..20c136de7 100644 --- a/addons/rose/tests/integration/components/rose/layout/sidebar-test.js +++ b/addons/rose/tests/integration/components/rose/layout/sidebar-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/layout/sidebar', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(4); await render(hbs` diff --git a/addons/rose/tests/integration/components/rose/list/key-value-test.js b/addons/rose/tests/integration/components/rose/list/key-value-test.js index 4876874cf..8dc7610d6 100644 --- a/addons/rose/tests/integration/components/rose/list/key-value-test.js +++ b/addons/rose/tests/integration/components/rose/list/key-value-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/list/key-value', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(2); await render(hbs` diff --git a/addons/rose/tests/integration/components/rose/message-test.js b/addons/rose/tests/integration/components/rose/message-test.js index e15a1790c..f3fc4df7d 100644 --- a/addons/rose/tests/integration/components/rose/message-test.js +++ b/addons/rose/tests/integration/components/rose/message-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/message', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(5); await render(hbs` Description diff --git a/addons/rose/tests/integration/components/rose/separator-test.js b/addons/rose/tests/integration/components/rose/separator-test.js index acf524dce..35d6c3b85 100644 --- a/addons/rose/tests/integration/components/rose/separator-test.js +++ b/addons/rose/tests/integration/components/rose/separator-test.js @@ -12,7 +12,6 @@ module('Integration | Component | rose/separator', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(1); await render(hbs``); assert.ok(find('.rose-separator')); }); diff --git a/addons/rose/tests/integration/components/rose/toolbar-test.js b/addons/rose/tests/integration/components/rose/toolbar-test.js index 11dd91883..f2bc72729 100644 --- a/addons/rose/tests/integration/components/rose/toolbar-test.js +++ b/addons/rose/tests/integration/components/rose/toolbar-test.js @@ -12,13 +12,11 @@ module('Integration | Component | rose/toolbar', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(1); await render(hbs``); assert.ok(find('.rose-toolbar')); }); test('it renders with attributes', async function (assert) { - assert.expect(1); await render(hbs``); assert.ok(find('#toolbar')); }); diff --git a/ui/admin/.eslintrc.js b/ui/admin/.eslintrc.js index 6a651ab2c..122a80714 100644 --- a/ui/admin/.eslintrc.js +++ b/ui/admin/.eslintrc.js @@ -60,6 +60,9 @@ module.exports = { // Test files: files: ['tests/**/*-test.{js,ts}'], extends: ['plugin:qunit/recommended'], + rules: { + 'qunit/require-expect': [2, 'except-simple'], + }, }, ], }; diff --git a/ui/admin/package.json b/ui/admin/package.json index 27c6da86b..bd1fa2210 100644 --- a/ui/admin/package.json +++ b/ui/admin/package.json @@ -91,7 +91,7 @@ "eslint-config-prettier": "^9.0.0", "eslint-plugin-ember": "^11.11.1", "eslint-plugin-n": "^16.3.1", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.0.1", "js-bexpr": "hashicorp/js-bexpr#9b4a4b54d85eba67fdfc0990133d1518d890b1e1", "loader.js": "^4.7.0", "lodash": "4.17.21", diff --git a/ui/admin/tests/acceptance/accounts/change-password-test.js b/ui/admin/tests/acceptance/accounts/change-password-test.js index a7420206a..ee929664b 100644 --- a/ui/admin/tests/acceptance/accounts/change-password-test.js +++ b/ui/admin/tests/acceptance/accounts/change-password-test.js @@ -53,14 +53,12 @@ module('Acceptance | accounts | change password', function (hooks) { }); test('visiting account change password', async function (assert) { - assert.expect(1); await visit(urls.changePassword); await a11yAudit(); assert.strictEqual(currentURL(), urls.changePassword); }); test('visiting account change password from header', async function (assert) { - assert.expect(1); await visit(urls.orgScope); // Open header utilities dropdown await click('.rose-header-utilities .rose-dropdown summary'); @@ -99,7 +97,6 @@ module('Acceptance | accounts | change password', function (hooks) { }); test('can cancel password change', async function (assert) { - assert.expect(1); await visit(urls.changePassword); await fillIn('[name="currentPassword"]', 'current password'); await fillIn('[name="newPassword"]', 'new password'); @@ -108,7 +105,6 @@ module('Acceptance | accounts | change password', function (hooks) { }); test('errors are displayed when changing password fails', async function (assert) { - assert.expect(1); this.server.post('/accounts/:id', () => { return new Response( 490, @@ -129,7 +125,6 @@ module('Acceptance | accounts | change password', function (hooks) { }); test('cannot change password when not authenticated', async function (assert) { - assert.expect(1); invalidateSession(); await visit(urls.changePassword); assert.notEqual(currentURL(), urls.changePassword); diff --git a/ui/admin/tests/acceptance/accounts/create-test.js b/ui/admin/tests/acceptance/accounts/create-test.js index b63cb7606..a5cc8ec3c 100644 --- a/ui/admin/tests/acceptance/accounts/create-test.js +++ b/ui/admin/tests/acceptance/accounts/create-test.js @@ -69,14 +69,12 @@ module('Acceptance | accounts | create', function (hooks) { }); test('visiting accounts', async function (assert) { - assert.expect(1); await visit(urls.accounts); await a11yAudit(); assert.strictEqual(currentURL(), urls.accounts); }); test('can create a new account', async function (assert) { - assert.expect(1); const accountsCount = this.server.db.accounts.length; await visit(urls.newAccount); await fillIn('[name="name"]', 'Account name'); @@ -88,7 +86,6 @@ module('Acceptance | accounts | create', function (hooks) { }); test('can create a new LDAP account', async function (assert) { - assert.expect(1); const accountsCount = this.server.db.accounts.length; await visit(urls.newAccount); await fillIn('[name="name"]', 'Account name'); @@ -102,7 +99,6 @@ module('Acceptance | accounts | create', function (hooks) { }); test('Users cannot create a new account without proper authorization', async function (assert) { - assert.expect(2); instances.authMethod.authorized_collection_actions.accounts = []; await visit(urls.authMethod); assert.notOk( @@ -114,7 +110,6 @@ module('Acceptance | accounts | create', function (hooks) { }); test('Users can navigate to new account route with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.accounts); assert.ok( instances.authMethod.authorized_collection_actions.accounts.includes( @@ -125,7 +120,6 @@ module('Acceptance | accounts | create', function (hooks) { }); test('Users cannot navigate to new account route without proper authorization', async function (assert) { - assert.expect(2); instances.authMethod.authorized_collection_actions.accounts = []; await visit(urls.accounts); assert.notOk( @@ -137,7 +131,6 @@ module('Acceptance | accounts | create', function (hooks) { }); test('can cancel a new account creation', async function (assert) { - assert.expect(2); const accountsCount = this.server.db.accounts.length; await visit(urls.newAccount); await fillIn('[name="name"]', 'Account name'); @@ -147,7 +140,6 @@ module('Acceptance | accounts | create', function (hooks) { }); test('can cancel a new LDAP account creation', async function (assert) { - assert.expect(2); const accountsCount = this.server.db.accounts.length; await visit(urls.newAccount); await fillIn('[name="name"]', 'Account name'); @@ -157,7 +149,6 @@ module('Acceptance | accounts | create', function (hooks) { }); test('saving a new account with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/accounts', () => { return new Response( 400, @@ -194,7 +185,6 @@ module('Acceptance | accounts | create', function (hooks) { }); test('users cannot directly navigate to new account route without proper authorization', async function (assert) { - assert.expect(2); instances.authMethod.authorized_collection_actions.accounts = instances.authMethod.authorized_collection_actions.accounts.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/accounts/delete-test.js b/ui/admin/tests/acceptance/accounts/delete-test.js index d4ae89fac..90e7acf6f 100644 --- a/ui/admin/tests/acceptance/accounts/delete-test.js +++ b/ui/admin/tests/acceptance/accounts/delete-test.js @@ -65,7 +65,6 @@ module('Acceptance | accounts | delete', function (hooks) { }); test('can delete an account', async function (assert) { - assert.expect(1); const accountsCount = this.server.db.accounts.length; await visit(urls.account); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -73,7 +72,6 @@ module('Acceptance | accounts | delete', function (hooks) { }); test('cannot delete an account without proper authorization', async function (assert) { - assert.expect(1); instances.account.authorized_actions = instances.account.authorized_actions.filter((item) => item !== 'delete'); await visit(urls.account); @@ -83,7 +81,6 @@ module('Acceptance | accounts | delete', function (hooks) { }); test('errors are displayed when delete on account fails', async function (assert) { - assert.expect(1); this.server.del('/accounts/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/accounts/list-test.js b/ui/admin/tests/acceptance/accounts/list-test.js index eb47d3610..c7b7b2a7b 100644 --- a/ui/admin/tests/acceptance/accounts/list-test.js +++ b/ui/admin/tests/acceptance/accounts/list-test.js @@ -65,7 +65,6 @@ module('Acceptance | accounts | list', function (hooks) { }); test('Users can navigate to accounts with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.authMethod); assert.ok( instances.authMethod.authorized_collection_actions.accounts.includes( @@ -76,7 +75,6 @@ module('Acceptance | accounts | list', function (hooks) { }); test('User cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(2); instances.authMethod.authorized_collection_actions.accounts = []; await visit(urls.authMethod); assert.notOk( @@ -88,7 +86,6 @@ module('Acceptance | accounts | list', function (hooks) { }); test('User can navigate to index with only create action', async function (assert) { - assert.expect(2); instances.authMethod.authorized_collection_actions.accounts = ['create']; await visit(urls.authMethod); assert.ok(find(`[href="${urls.accounts}"]`)); diff --git a/ui/admin/tests/acceptance/accounts/read-test.js b/ui/admin/tests/acceptance/accounts/read-test.js index d0a0ed77c..b534bf1df 100644 --- a/ui/admin/tests/acceptance/accounts/read-test.js +++ b/ui/admin/tests/acceptance/accounts/read-test.js @@ -68,7 +68,6 @@ module('Acceptance | accounts | read', function (hooks) { }); test('can navigate to an account form', async function (assert) { - assert.expect(1); await visit(urls.accounts); await click(ACCOUNT_SELECTOR); @@ -77,7 +76,6 @@ module('Acceptance | accounts | read', function (hooks) { }); test('cannot navigate to an account form without proper authorization', async function (assert) { - assert.expect(1); instances.account.authorized_actions = instances.account.authorized_actions.filter((item) => item !== 'read'); await visit(urls.accounts); @@ -85,7 +83,6 @@ module('Acceptance | accounts | read', function (hooks) { }); test('user can navigate to account and incorrect url autocorrects', async function (assert) { - assert.expect(2); const authMethod = this.server.create('auth-method', { scope: instances.scopes.org, }); diff --git a/ui/admin/tests/acceptance/accounts/set-password-test.js b/ui/admin/tests/acceptance/accounts/set-password-test.js index 2947adb58..bce4d47aa 100644 --- a/ui/admin/tests/acceptance/accounts/set-password-test.js +++ b/ui/admin/tests/acceptance/accounts/set-password-test.js @@ -59,14 +59,12 @@ module('Acceptance | accounts | set password', function (hooks) { }); test('visiting account set password', async function (assert) { - assert.expect(1); await visit(urls.setPassword); await a11yAudit(); assert.strictEqual(currentURL(), urls.setPassword); }); test('can navigate to route with proper authorization', async function (assert) { - assert.expect(1); await visit(urls.account); assert.ok( find(`.rose-layout-page-navigation [href="${urls.setPassword}"]`), @@ -74,7 +72,6 @@ module('Acceptance | accounts | set password', function (hooks) { }); test('cannot navigate to route without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.account.authorized_actions.filter( (item) => item !== 'set-password', ); @@ -110,7 +107,6 @@ module('Acceptance | accounts | set password', function (hooks) { // from the form, and the form does not directly operate on a model instance, // a "cancel" flow doesn't make much sense. Disabling for now. test.skip('can cancel setting new password', async function (assert) { - assert.expect(1); await visit(urls.setPassword); await fillIn('[name="password"]', 'update password'); await click('form button:not([type="submit"])'); @@ -118,7 +114,6 @@ module('Acceptance | accounts | set password', function (hooks) { }); test('errors are displayed when setting password fails', async function (assert) { - assert.expect(1); this.server.post('/accounts/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/accounts/update-test.js b/ui/admin/tests/acceptance/accounts/update-test.js index 8a6f31ed9..b25e18446 100644 --- a/ui/admin/tests/acceptance/accounts/update-test.js +++ b/ui/admin/tests/acceptance/accounts/update-test.js @@ -65,7 +65,6 @@ module('Acceptance | accounts | update', function (hooks) { }); test('can update resource and save changes', async function (assert) { - assert.expect(1); await visit(urls.account); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'update name'); @@ -74,7 +73,6 @@ module('Acceptance | accounts | update', function (hooks) { }); test('can update resource and save LDAP account changes', async function (assert) { - assert.expect(2); await visit(urls.account); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'updated name'); @@ -91,7 +89,6 @@ module('Acceptance | accounts | update', function (hooks) { }); test('cannot update resource without proper authorization', async function (assert) { - assert.expect(1); instances.account.authorized_actions = instances.account.authorized_actions.filter((item) => item !== 'update'); await visit(urls.account); @@ -99,7 +96,6 @@ module('Acceptance | accounts | update', function (hooks) { }); test('can update an account and cancel changes', async function (assert) { - assert.expect(1); await visit(urls.account); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'update name'); @@ -108,7 +104,6 @@ module('Acceptance | accounts | update', function (hooks) { }); test('errors are displayed when save on account fails', async function (assert) { - assert.expect(1); this.server.patch('/accounts/:id', () => { return new Response( 490, @@ -133,7 +128,6 @@ module('Acceptance | accounts | update', function (hooks) { }); test('saving an existing account with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/accounts/:id', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/auth-methods/create-test.js b/ui/admin/tests/acceptance/auth-methods/create-test.js index 4e0965390..257954efc 100644 --- a/ui/admin/tests/acceptance/auth-methods/create-test.js +++ b/ui/admin/tests/acceptance/auth-methods/create-test.js @@ -98,7 +98,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('Users can create new auth method', async function (assert) { - assert.expect(1); const count = getAuthMethodsCount(); await visit(urls.newAuthMethod); @@ -109,7 +108,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('Users can create new oidc auth method', async function (assert) { - assert.expect(14); const count = getAuthMethodsCount(); await visit(`${urls.authMethods}/new?type=oidc`); @@ -163,7 +161,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('Users can create a new ldap auth method', async function (assert) { - assert.expect(23); featuresService.enable('ldap-auth-methods'); const authMethodsCount = getAuthMethodsCount(); const name = 'ldap auth method'; @@ -230,7 +227,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('Users can navigate to new auth-methods route with proper authorization', async function (assert) { - assert.expect(2); instances.orgScope.authorized_collection_actions['auth-methods'] = [ 'create', 'list', @@ -251,7 +247,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('Users cannot navigate to new auth-methods route without proper authorization', async function (assert) { - assert.expect(2); instances.orgScope.authorized_collection_actions['auth-methods'] = ['list']; await visit(urls.orgScope); @@ -266,7 +261,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('Users can navigate to new ldap auth-method route with proper authorization and feature flag enabled', async function (assert) { - assert.expect(2); instances.orgScope.authorized_collection_actions['auth-methods'] = [ 'create', 'list', @@ -288,7 +282,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('Users cannot navigate to new ldap auth-method route when feature flag disabled', async function (assert) { - assert.expect(2); instances.orgScope.authorized_collection_actions['auth-methods'] = [ 'create', 'list', @@ -309,7 +302,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('can cancel new auth method creation', async function (assert) { - assert.expect(2); const count = getAuthMethodsCount(); await visit(urls.authMethods); @@ -324,7 +316,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('user can make primary an auth method', async function (assert) { - assert.expect(2); assert.notOk( instances.orgScope.primaryAuthMethodId, 'Primary auth method is not yet set.', @@ -340,7 +331,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('user is notified of error on make primary an auth method', async function (assert) { - assert.expect(2); this.server.patch('/scopes/:id', () => { return new Response( 400, @@ -362,7 +352,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('user can remove as primary an auth method', async function (assert) { - assert.expect(2); instances.orgScope.update({ primaryAuthMethodId: instances.authMethod.id, }); @@ -377,7 +366,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('user is notified of error on remove as primary an auth method', async function (assert) { - assert.expect(2); this.server.patch('/scopes/:id', () => { return new Response( 400, @@ -405,7 +393,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('user can make and remove primary auth methods from index', async function (assert) { - assert.expect(4); assert.notOk( instances.orgScope.primaryAuthMethodId, 'Primary auth method is not yet set.', @@ -432,7 +419,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('saving a new ldap auth method with invalid fields displays error messages', async function (assert) { - assert.expect(2); featuresService.enable('ldap-auth-methods'); this.server.post('/auth-methods', () => { return new Response( @@ -467,7 +453,6 @@ module('Acceptance | auth-methods | create', function (hooks) { }); test('users cannot directly navigate to new auth method route without proper authorization', async function (assert) { - assert.expect(2); instances.orgScope.authorized_collection_actions['auth-methods'] = ['list']; await visit(urls.newAuthMethod); diff --git a/ui/admin/tests/acceptance/auth-methods/delete-test.js b/ui/admin/tests/acceptance/auth-methods/delete-test.js index 3be250a9b..a47313230 100644 --- a/ui/admin/tests/acceptance/auth-methods/delete-test.js +++ b/ui/admin/tests/acceptance/auth-methods/delete-test.js @@ -72,7 +72,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('can delete an auth method', async function (assert) { - assert.expect(1); const authMethodsCount = getAuthMethodCount(); await visit(urls.authMethods); @@ -83,7 +82,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('can delete an ldap auth method', async function (assert) { - assert.expect(1); featuresService.enable('ldap-auth-methods'); const authMethodsCount = getAuthMethodCount(); await visit(urls.authMethods); @@ -95,7 +93,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('errors are displayed when delete on an auth method fails', async function (assert) { - assert.expect(1); this.server.del('/auth-methods/:id', () => { return new Response( 490, @@ -117,7 +114,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('errors are displayed when delete on an ldap auth method fails', async function (assert) { - assert.expect(1); featuresService.enable('ldap-auth-methods'); this.server.del('/auth-methods/:id', () => { return new Response( @@ -140,7 +136,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('cannot delete an auth method without proper authorization', async function (assert) { - assert.expect(1); instances.authMethod.authorized_actions = instances.authMethod.authorized_actions.filter( (item) => item !== 'delete', @@ -153,7 +148,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('cannot delete an ldap auth method without proper authorization', async function (assert) { - assert.expect(1); featuresService.enable('ldap-auth-methods'); instances.ldapAuthMethod.authorized_actions = instances.ldapAuthMethod.authorized_actions.filter( @@ -167,7 +161,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('user can accept delete auth method via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const authMethodCount = getAuthMethodCount(); @@ -182,7 +175,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('user can accept delete ldap auth method via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; featuresService.enable('ldap-auth-methods'); @@ -198,7 +190,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('user can cancel delete auth method via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const authMethodCount = getAuthMethodCount(); @@ -213,7 +204,6 @@ module('Acceptance | auth-methods | delete', function (hooks) { }); test('user can cancel delete ldap auth method via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; featuresService.enable('ldap-auth-methods'); diff --git a/ui/admin/tests/acceptance/auth-methods/list-test.js b/ui/admin/tests/acceptance/auth-methods/list-test.js index 5182ccf39..fb7a71f5d 100644 --- a/ui/admin/tests/acceptance/auth-methods/list-test.js +++ b/ui/admin/tests/acceptance/auth-methods/list-test.js @@ -51,7 +51,6 @@ module('Acceptance | auth-methods | list', function (hooks) { }); test('Users can navigate to auth methods with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.orgScope); assert.ok( instances.orgScope.authorized_collection_actions['auth-methods'].includes( @@ -62,7 +61,6 @@ module('Acceptance | auth-methods | list', function (hooks) { }); test('Users cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(2); instances.orgScope.authorized_collection_actions['auth-methods'] = []; await visit(urls.orgScope); assert.notOk( @@ -74,7 +72,6 @@ module('Acceptance | auth-methods | list', function (hooks) { }); test('User can navigate to index with only create action', async function (assert) { - assert.expect(1); instances.orgScope.authorized_collection_actions['auth-methods'] = [ 'create', ]; diff --git a/ui/admin/tests/acceptance/auth-methods/oidc-test.js b/ui/admin/tests/acceptance/auth-methods/oidc-test.js index 016b0be32..c21d39c15 100644 --- a/ui/admin/tests/acceptance/auth-methods/oidc-test.js +++ b/ui/admin/tests/acceptance/auth-methods/oidc-test.js @@ -60,14 +60,12 @@ module('Acceptance | auth-methods | oidc', function (hooks) { }); test('visiting oidc auth method', async function (assert) { - assert.expect(1); await visit(urls.authMethod); await a11yAudit(); assert.strictEqual(currentURL(), urls.authMethod); }); test('can view oidc state', async function (assert) { - assert.expect(1); await visit(urls.authMethod); await click('.rose-layout-page-actions .rose-dropdown-trigger'); assert.strictEqual( @@ -77,7 +75,6 @@ module('Acceptance | auth-methods | oidc', function (hooks) { }); test('can update oidc state', async function (assert) { - assert.expect(1); const updateValue = 'inactive'; await visit(urls.authMethod); await click('.rose-layout-page-actions .rose-dropdown-trigger'); @@ -87,7 +84,6 @@ module('Acceptance | auth-methods | oidc', function (hooks) { }); test('can update oidc state to active-private', async function (assert) { - assert.expect(1); const updateValue = 'active-private'; await visit(urls.authMethod); await click('.rose-layout-page-actions .rose-dropdown-trigger'); @@ -97,7 +93,6 @@ module('Acceptance | auth-methods | oidc', function (hooks) { }); test('can update oidc state to active-public', async function (assert) { - assert.expect(1); // Update default 'active-public' state to inactive instances.authMethod.attributes.state = 'inactive'; const updateValue = 'active-public'; @@ -110,7 +105,6 @@ module('Acceptance | auth-methods | oidc', function (hooks) { // FIXME: How to mock just one request routed to /auth-methods and let everything else passthrough? test.skip('errors are displayed when state update fails', async function (assert) { - assert.expect(2); this.server.post('/auth-methods/:idMethod', (_, request) => { // Only respond to state update with error if (request.params.idMethod.match(/(change-state)/i)) { diff --git a/ui/admin/tests/acceptance/auth-methods/read-test.js b/ui/admin/tests/acceptance/auth-methods/read-test.js index cb4fd9609..562813c09 100644 --- a/ui/admin/tests/acceptance/auth-methods/read-test.js +++ b/ui/admin/tests/acceptance/auth-methods/read-test.js @@ -74,7 +74,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('visiting auth methods in org scope', async function (assert) { - assert.expect(1); await visit(urls.orgScope); await click(`[href="${urls.orgAuthMethods}"]`); @@ -84,7 +83,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('visiting auth methods in global scope', async function (assert) { - assert.expect(1); await visit(urls.globalScope); await click(`[href="${urls.globalAuthMethods}"]`); @@ -94,7 +92,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('can navigate to an auth method form in org scope', async function (assert) { - assert.expect(3); await visit(urls.orgScope); await click(`[href="${urls.orgAuthMethods}"]`); @@ -109,7 +106,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('can navigate to an auth method form in global scope', async function (assert) { - assert.expect(3); await visit(urls.globalScope); await click(`[href="${urls.globalAuthMethods}"]`); @@ -124,7 +120,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('cannot navigate to an auth method form without proper authorization in org scope', async function (assert) { - assert.expect(1); instances.passwordAuthMethodOrg.authorized_actions = instances.passwordAuthMethodOrg.authorized_actions.filter( (item) => item !== 'read', @@ -137,7 +132,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('cannot navigate to an auth method form without proper authorization in global scope', async function (assert) { - assert.expect(1); instances.oidcAuthMethodGlobal.authorized_actions = instances.oidcAuthMethodGlobal.authorized_actions.filter( (item) => item !== 'read', @@ -150,7 +144,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('cannot navigate to an ldap auth method form in global scope', async function (assert) { - assert.expect(3); instances.ldapAuthMethod = this.server.create('auth-method', { scope: instances.scopes.global, type: TYPE_AUTH_METHOD_LDAP, @@ -165,7 +158,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('cannot navigate to an ldap auth method form in org scope', async function (assert) { - assert.expect(3); instances.ldapAuthMethod = this.server.create('auth-method', { scope: instances.scopes.org, type: TYPE_AUTH_METHOD_LDAP, @@ -180,7 +172,6 @@ module('Acceptance | auth-methods | read', function (hooks) { }); test('users can navigate to auth method and incorrect url autocorrects', async function (assert) { - assert.expect(2); const orgScope = this.server.create('scope', { type: 'org', scope: { id: 'global', type: 'global' }, diff --git a/ui/admin/tests/acceptance/auth-methods/update-test.js b/ui/admin/tests/acceptance/auth-methods/update-test.js index 3c201f60e..29fa83e18 100644 --- a/ui/admin/tests/acceptance/auth-methods/update-test.js +++ b/ui/admin/tests/acceptance/auth-methods/update-test.js @@ -95,7 +95,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('can update an auth method and save changes', async function (assert) { - assert.expect(1); await visit(urls.authMethods); await click(`[href="${urls.authMethod}"]`); @@ -110,7 +109,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('can update an oidc auth method and save changes', async function (assert) { - assert.expect(12); instances.authMethod = this.server.create('auth-method', { scope: instances.scopes.org, type: TYPE_AUTH_METHOD_OIDC, @@ -198,7 +196,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('can update an ldap auth method and save changes', async function (assert) { - assert.expect(19); featuresService.enable('ldap-auth-methods'); await visit(urls.authMethods); const name = 'ldap auth method'; @@ -268,7 +265,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('can update an auth method and cancel changes', async function (assert) { - assert.expect(1); await visit(urls.authMethod); await click(BUTTON_SELECTOR, 'Activate edit mode'); @@ -279,7 +275,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('can update an ldap auth method and cancel changes', async function (assert) { - assert.expect(2); featuresService.enable('ldap-auth-methods'); await visit(urls.authMethods); const name = instances.ldapAuthMethod.name; @@ -301,7 +296,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('cannot make changes to an existing auth method without proper authorization', async function (assert) { - assert.expect(1); instances.authMethod.authorized_actions = instances.authMethod.authorized_actions.filter( (item) => item !== 'update', @@ -314,7 +308,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('cannot make changes to an existing ldap auth method without proper authorization', async function (assert) { - assert.expect(1); featuresService.enable('ldap-auth-methods'); instances.ldapAuthMethod.authorized_actions = instances.ldapAuthMethod.authorized_actions.filter( @@ -328,7 +321,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('saving an existing auth method with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/auth-methods/:id', () => { return new Response( 400, @@ -360,7 +352,6 @@ module('Acceptance | auth-methods | update', function (hooks) { }); test('saving an existing ldap auth method with invalid fields displays error messages', async function (assert) { - assert.expect(2); featuresService.enable('ldap-auth-methods'); this.server.patch('/auth-methods/:id', () => { return new Response( diff --git a/ui/admin/tests/acceptance/authentication-test.js b/ui/admin/tests/acceptance/authentication-test.js index c543291c1..9a38c0634 100644 --- a/ui/admin/tests/acceptance/authentication-test.js +++ b/ui/admin/tests/acceptance/authentication-test.js @@ -115,14 +115,12 @@ module('Acceptance | authentication', function (hooks) { }); test('visiting auth methods authenticate route redirects to first auth method', async function (assert) { - assert.expect(1); await visit(authenticateURL); await a11yAudit(); assert.strictEqual(currentURL(), authMethodAuthenticateURL); }); test('visiting auth method when the scope cannot be loaded is still allowed', async function (assert) { - assert.expect(1); this.server.get(authMethodAuthenticateURL, () => { return new Response(404); }); @@ -132,7 +130,6 @@ module('Acceptance | authentication', function (hooks) { }); test('visiting any authentication parent route while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(3); await visit(indexURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); await visit(scopesURL); @@ -141,98 +138,84 @@ module('Acceptance | authentication', function (hooks) { }); test('visiting change password while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(changePasswordURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting orgs while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(orgsURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting org edit while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(orgEditURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting projects while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(projectsURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting new project while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(newProjectURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting users while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(usersURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting roles while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(rolesURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting groups while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(groupsURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting host catalogs while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(hostCatalogsURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting targets while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(targetsURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting sessions while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(sessionsURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting auth methods while unauthenticated redirects to first global authenticate method', async function (assert) { - assert.expect(2); await visit(authMethodsURL); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); }); test('visiting auth method authenticate route', async function (assert) { - assert.expect(1); await visit(authMethodAuthenticateURL); await a11yAudit(); assert.strictEqual(currentURL(), authMethodAuthenticateURL); }); test('visiting any authentication parent route while already authenticated with an org redirects to projects', async function (assert) { - assert.expect(6); authenticateSession({ scope }); await visit(indexURL); assert.strictEqual(currentURL(), projectsURL); @@ -248,7 +231,6 @@ module('Acceptance | authentication', function (hooks) { }); test('visiting index or scopes routes while already authenticated with global redirects to orgs', async function (assert) { - assert.expect(4); authenticateSession({ scope: { id: globalScope.id, type: globalScope.type }, }); @@ -262,7 +244,6 @@ module('Acceptance | authentication', function (hooks) { }); test('failed authentication shows a notification message', async function (assert) { - assert.expect(3); await visit(authMethodAuthenticateURL); assert.notOk(currentSession().isAuthenticated); await fillIn('[name="identification"]', 'error'); @@ -272,7 +253,6 @@ module('Acceptance | authentication', function (hooks) { }); test('successful authentication with the global scope redirects to orgs', async function (assert) { - assert.expect(4); await visit(authMethodGlobalAuthenticateURL); assert.notOk(currentSession().isAuthenticated); assert.strictEqual(currentURL(), authMethodGlobalAuthenticateURL); @@ -284,7 +264,6 @@ module('Acceptance | authentication', function (hooks) { }); test('successful authentication with an org scope redirects to projects', async function (assert) { - assert.expect(4); await visit(authMethodAuthenticateURL); assert.notOk(currentSession().isAuthenticated); assert.strictEqual(currentURL(), authMethodAuthenticateURL); @@ -299,7 +278,6 @@ module('Acceptance | authentication', function (hooks) { // the page is reloaded. If the user was viewing a route requiring // authentication, they will be redirected accordingly. test.skip('deauthentication redirects to first global authenticate method', async function (assert) { - assert.expect(3); await visit(authMethodAuthenticateURL); await fillIn('[name="identification"]', 'test'); await fillIn('[name="password"]', 'test'); @@ -317,7 +295,6 @@ module('Acceptance | authentication', function (hooks) { }); test('401 responses result in deauthentication', async function (assert) { - assert.expect(2); authenticateSession({ scope: { id: globalScope.id, type: globalScope.type }, }); @@ -335,7 +312,6 @@ module('Acceptance | authentication', function (hooks) { }); test('color theme is applied from session data', async function (assert) { - assert.expect(12); authenticateSession({ scope: { id: globalScope.id, type: globalScope.type }, }); diff --git a/ui/admin/tests/acceptance/credential-library/create-test.js b/ui/admin/tests/acceptance/credential-library/create-test.js index 7799116ec..94d3d68df 100644 --- a/ui/admin/tests/acceptance/credential-library/create-test.js +++ b/ui/admin/tests/acceptance/credential-library/create-test.js @@ -80,7 +80,6 @@ module('Acceptance | credential-libraries | create', function (hooks) { featuresService = this.owner.lookup('service:features'); }); test('visiting credential libraries', async function (assert) { - assert.expect(2); await visit(urls.credentialLibraries); await a11yAudit(); assert.strictEqual(currentURL(), urls.credentialLibraries); @@ -90,7 +89,6 @@ module('Acceptance | credential-libraries | create', function (hooks) { }); test('can create a credential library', async function (assert) { - assert.expect(1); const count = getCredentialLibraryCount(); await visit(urls.newCredentialLibrary); await fillIn('[name="name"]', 'random string'); @@ -99,7 +97,6 @@ module('Acceptance | credential-libraries | create', function (hooks) { }); test('can create a new credential library of type vault ssh cert', async function (assert) { - assert.expect(12); featuresService.enable('ssh-target'); const count = getCredentialLibraryCount(); await visit(urls.newCredentialLibrary); @@ -158,7 +155,6 @@ module('Acceptance | credential-libraries | create', function (hooks) { }); test('ecdsa and rsa key types bring up a key bits field', async function (assert) { - assert.expect(3); featuresService.enable('ssh-target'); await visit(urls.newCredentialLibrary); await click('[value="vault-ssh-certificate"]'); @@ -171,7 +167,6 @@ module('Acceptance | credential-libraries | create', function (hooks) { }); test('Users cannot navigate to new credential library route without proper authorization', async function (assert) { - assert.expect(2); instances.credentialStore.authorized_collection_actions[ 'credential-libraries' ] = []; @@ -185,7 +180,6 @@ module('Acceptance | credential-libraries | create', function (hooks) { }); test('can cancel create a new credential library', async function (assert) { - assert.expect(2); const count = getCredentialLibraryCount(); await visit(urls.newCredentialLibrary); await fillIn('[name="name"]', 'random string'); @@ -195,7 +189,6 @@ module('Acceptance | credential-libraries | create', function (hooks) { }); test('saving a new credential library with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/credential-libraries', () => { return new Response( 400, @@ -228,14 +221,12 @@ module('Acceptance | credential-libraries | create', function (hooks) { }); test('cannot select vault ssh cert when feature is disabled', async function (assert) { - assert.expect(2); await visit(urls.newCredentialLibrary); assert.false(featuresService.isEnabled('ssh-target')); assert.dom('[value="vault-ssh-certificate"]').doesNotExist(); }); test('users cannot directly navigate to new credential library route without proper authorization', async function (assert) { - assert.expect(2); instances.credentialStore.authorized_collection_actions[ 'credential-libraries' ] = instances.credentialStore.authorized_collection_actions[ diff --git a/ui/admin/tests/acceptance/credential-library/delete-test.js b/ui/admin/tests/acceptance/credential-library/delete-test.js index f20c4e778..80bbeebb6 100644 --- a/ui/admin/tests/acceptance/credential-library/delete-test.js +++ b/ui/admin/tests/acceptance/credential-library/delete-test.js @@ -73,7 +73,6 @@ module('Acceptance | credential-libraries | delete', function (hooks) { }); test('can delete resource', async function (assert) { - assert.expect(1); const count = getCredentialLibraryCount(); await visit(urls.credentialLibrary); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -81,7 +80,6 @@ module('Acceptance | credential-libraries | delete', function (hooks) { }); test('cannot delete resource without proper authorization', async function (assert) { - assert.expect(1); instances.credentialLibrary.authorized_actions = instances.credentialLibrary.authorized_actions.filter( (item) => item !== 'delete', @@ -93,7 +91,6 @@ module('Acceptance | credential-libraries | delete', function (hooks) { }); test('can accept delete credential library via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(resolve()); @@ -105,7 +102,6 @@ module('Acceptance | credential-libraries | delete', function (hooks) { }); test('cannot cancel delete credential library via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(reject()); @@ -117,7 +113,6 @@ module('Acceptance | credential-libraries | delete', function (hooks) { }); test('deleting a credential library which errors displays error messages', async function (assert) { - assert.expect(1); this.server.del('/credential-libraries/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/credential-library/list-test.js b/ui/admin/tests/acceptance/credential-library/list-test.js index 721d96d8d..470d5d340 100644 --- a/ui/admin/tests/acceptance/credential-library/list-test.js +++ b/ui/admin/tests/acceptance/credential-library/list-test.js @@ -65,7 +65,6 @@ module('Acceptance | credential-libraries | list', function (hooks) { }); test('Users can navigate to credential libraries with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.credentialStore); assert.ok( instances.credentialStore.authorized_collection_actions[ @@ -76,7 +75,6 @@ module('Acceptance | credential-libraries | list', function (hooks) { }); test('Users cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(2); instances.credentialStore.authorized_collection_actions[ 'credential-libraries' ] = []; @@ -90,7 +88,6 @@ module('Acceptance | credential-libraries | list', function (hooks) { }); test('Users can navigate to index with only create action', async function (assert) { - assert.expect(1); instances.credentialStore.authorized_collection_actions[ 'credential-libraries' ] = ['create']; diff --git a/ui/admin/tests/acceptance/credential-library/read-test.js b/ui/admin/tests/acceptance/credential-library/read-test.js index cbea1091d..d43b67b1a 100644 --- a/ui/admin/tests/acceptance/credential-library/read-test.js +++ b/ui/admin/tests/acceptance/credential-library/read-test.js @@ -67,7 +67,6 @@ module('Acceptance | credential-libraries | read', function (hooks) { }); test('can navigate to resource', async function (assert) { - assert.expect(1); await visit(urls.credentialLibraries); await click('main tbody .rose-table-header-cell a'); await a11yAudit(); @@ -75,7 +74,6 @@ module('Acceptance | credential-libraries | read', function (hooks) { }); test('cannot navigate to resource without proper authorization', async function (assert) { - assert.expect(1); instances.credentialLibrary.authorized_actions = instances.credentialLibrary.authorized_actions.filter( (item) => item !== 'read', @@ -85,7 +83,6 @@ module('Acceptance | credential-libraries | read', function (hooks) { }); test('cannot navigate to vault ssh cert form when feature is not enabled', async function (assert) { - assert.expect(2); instances.credentialLibrary = this.server.create('credential-library', { scope: instances.scopes.project, credentialStore: instances.credentialStore, @@ -101,14 +98,12 @@ module('Acceptance | credential-libraries | read', function (hooks) { }); test('visiting an unknown credential library displays 404 message', async function (assert) { - assert.expect(1); await visit(urls.unknownCredentialLibrary); await a11yAudit(); assert.ok(find('.rose-message-subtitle').textContent.trim(), 'Error 404'); }); test('users can navigate to credential library and incorrect url autocorrects', async function (assert) { - assert.expect(2); const credentialStore = this.server.create('credential-store', { scope: instances.scopes.project, }); diff --git a/ui/admin/tests/acceptance/credential-library/update-test.js b/ui/admin/tests/acceptance/credential-library/update-test.js index 83195857f..e83f10d0b 100644 --- a/ui/admin/tests/acceptance/credential-library/update-test.js +++ b/ui/admin/tests/acceptance/credential-library/update-test.js @@ -74,7 +74,6 @@ module('Acceptance | credential-libraries | update', function (hooks) { }); test('can update resource and save changes', async function (assert) { - assert.expect(3); assert.notEqual(instances.credentialLibrary.name, 'random string'); await visit(urls.credentialLibrary); await click('form [type="button"]', 'Activate edit mode'); @@ -88,7 +87,6 @@ module('Acceptance | credential-libraries | update', function (hooks) { }); test('cannot update resource without proper authorization', async function (assert) { - assert.expect(1); instances.credentialLibrary.authorized_actions = instances.credentialLibrary.authorized_actions.filter( (item) => item !== 'update', @@ -98,7 +96,6 @@ module('Acceptance | credential-libraries | update', function (hooks) { }); test('can update a credential library and cancel changes', async function (assert) { - assert.expect(2); await visit(urls.credentialLibrary); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'random string'); @@ -114,7 +111,6 @@ module('Acceptance | credential-libraries | update', function (hooks) { }); test('saving an existing credential library with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/credential-libraries/:id', () => { return new Response( 400, @@ -196,7 +192,6 @@ module('Acceptance | credential-libraries | update', function (hooks) { }); test('can update a vault ssh cert credential library and save changes', async function (assert) { - assert.expect(10); instances.credentialLibrary = this.server.create('credential-library', { scope: instances.scopes.project, credentialStore: instances.credentialStore, diff --git a/ui/admin/tests/acceptance/credential-store/create-test.js b/ui/admin/tests/acceptance/credential-store/create-test.js index 525b0c749..af805a791 100644 --- a/ui/admin/tests/acceptance/credential-store/create-test.js +++ b/ui/admin/tests/acceptance/credential-store/create-test.js @@ -67,7 +67,6 @@ module('Acceptance | credential-stores | create', function (hooks) { }); test('Users can create a new credential store of default type static', async function (assert) { - assert.expect(1); featuresService.enable('static-credentials'); const count = getStaticCredentialStoresCount(); await visit(urls.newCredentialStore); @@ -77,7 +76,6 @@ module('Acceptance | credential-stores | create', function (hooks) { }); test('Users can create a new credential store of type vault', async function (assert) { - assert.expect(1); featuresService.enable('static-credentials'); const count = getVaultCredentialStoresCount(); await visit(urls.newCredentialStore); @@ -88,7 +86,6 @@ module('Acceptance | credential-stores | create', function (hooks) { }); test('Users can cancel create new credential stores', async function (assert) { - assert.expect(2); const count = getCredentialStoresCount(); await visit(urls.newCredentialStore); await fillIn('[name="name"]', 'random string'); @@ -98,7 +95,6 @@ module('Acceptance | credential-stores | create', function (hooks) { }); test('Users cannot navigate to new credential stores route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.project.authorized_collection_actions[ 'credential-stores' ] = []; @@ -112,7 +108,6 @@ module('Acceptance | credential-stores | create', function (hooks) { }); test('saving a new credential store with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/credential-stores', () => { return new Response( 400, @@ -145,7 +140,6 @@ module('Acceptance | credential-stores | create', function (hooks) { }); test('Users can link to docs page for new credential store', async function (assert) { - assert.expect(1); await visit(urls.newCredentialStore); assert.ok( find( @@ -155,7 +149,6 @@ module('Acceptance | credential-stores | create', function (hooks) { }); test('users cannot directly navigate to new credential store route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.project.authorized_collection_actions[ 'credential-stores' ] = instances.scopes.project.authorized_collection_actions[ diff --git a/ui/admin/tests/acceptance/credential-store/credentials/create-test.js b/ui/admin/tests/acceptance/credential-store/credentials/create-test.js index 1ed82a371..cf1e39453 100644 --- a/ui/admin/tests/acceptance/credential-store/credentials/create-test.js +++ b/ui/admin/tests/acceptance/credential-store/credentials/create-test.js @@ -79,7 +79,6 @@ module( }); test('users can create a new username & password credential', async function (assert) { - assert.expect(2); const credentialsCount = getCredentialsCount(); const usernamePasswordCredentialCount = getUsernamePasswordCredentialCount(); @@ -97,7 +96,6 @@ module( }); test('users can create a new username & key pair credential', async function (assert) { - assert.expect(2); const credentialsCount = getCredentialsCount(); const usernameKeyPairCredentialCount = getUsernameKeyPairCredentialCount(); @@ -116,7 +114,6 @@ module( }); test('users can create a new json credential', async function (assert) { - assert.expect(2); featuresService.enable('json-credentials'); const credentialsCount = getCredentialsCount(); const jsonCredentialCount = getJsonCredentialCount(); @@ -132,7 +129,6 @@ module( }); test('users can cancel create new username & password credential', async function (assert) { - assert.expect(2); const credentialsCount = getCredentialsCount(); await visit(urls.credentials); @@ -145,7 +141,6 @@ module( }); test('users can cancel create new username & key pair credential', async function (assert) { - assert.expect(2); const credentialsCount = getCredentialsCount(); await visit(urls.credentials); @@ -159,7 +154,6 @@ module( }); test('users can cancel create new json credential', async function (assert) { - assert.expect(2); featuresService.enable('json-credentials'); const credentialsCount = getCredentialsCount(); await visit(urls.credentials); @@ -174,7 +168,6 @@ module( }); test('users can switch away from JSON type credentials and the json_object value will be cleared', async function (assert) { - assert.expect(2); featuresService.enable('json-credentials'); const editorSelector = '[data-test-code-editor-field-editor]'; const newSecret = '{"test": "value"}'; @@ -193,7 +186,6 @@ module( }); test('users cannot navigate to new credential route without proper authorization', async function (assert) { - assert.expect(2); featuresService.enable('static-credentials'); instances.staticCredentialStore.authorized_collection_actions.credentials = instances.staticCredentialStore.authorized_collection_actions.credentials.filter( @@ -214,7 +206,6 @@ module( }); test('saving a new username & password credential with invalid fields displays error messages', async function (assert) { - assert.expect(2); await visit(urls.credentials); this.server.post('/credentials', () => { return new Response( @@ -249,7 +240,6 @@ module( }); test('saving a new username & key pair credential with invalid fields displays error messages', async function (assert) { - assert.expect(2); await visit(urls.credentials); this.server.post('/credentials', () => { return new Response( @@ -285,7 +275,6 @@ module( }); test('saving a new json credential with invalid fields displays error messages', async function (assert) { - assert.expect(1); featuresService.enable('json-credentials'); await visit(urls.credentials); this.server.post('/credentials', () => { @@ -318,7 +307,6 @@ module( }); test('cannot navigate to json credential when feature is disabled', async function (assert) { - assert.expect(5); await visit(urls.credentials); await click(`[href="${urls.newCredential}"]`); @@ -338,7 +326,6 @@ module( }); test('users cannot directly navigate to new credential route without proper authorization', async function (assert) { - assert.expect(2); instances.staticCredentialStore.authorized_collection_actions.credentials = instances.staticCredentialStore.authorized_collection_actions.credentials.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/credential-store/credentials/delete-test.js b/ui/admin/tests/acceptance/credential-store/credentials/delete-test.js index 6ea065c0e..6d12c00c1 100644 --- a/ui/admin/tests/acceptance/credential-store/credentials/delete-test.js +++ b/ui/admin/tests/acceptance/credential-store/credentials/delete-test.js @@ -91,7 +91,6 @@ module( }); test('can delete username & password credential', async function (assert) { - assert.expect(2); const usernamePasswordCredentialCount = getUsernamePasswordCredentialCount(); await visit(urls.usernamePasswordCredential); @@ -104,7 +103,6 @@ module( }); test('can delete username & key pair credential', async function (assert) { - assert.expect(2); const usernameKeyPairCredentialCount = getUsernameKeyPairCredentialCount(); await visit(urls.usernameKeyPairCredential); @@ -117,7 +115,6 @@ module( }); test('can delete JSON credential', async function (assert) { - assert.expect(2); const jsonCredentialCount = getJSONCredentialCount(); await visit(urls.jsonCredential); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -126,7 +123,6 @@ module( }); test('cannot delete a username & password credential without proper authorization', async function (assert) { - assert.expect(3); const usernamePasswordCredentialCount = getUsernamePasswordCredentialCount(); instances.usernamePasswordCredential.authorized_actions = @@ -145,7 +141,6 @@ module( }); test('cannot delete a username & key pair credential without proper authorization', async function (assert) { - assert.expect(3); const usernameKeyPairCredentialCount = getUsernameKeyPairCredentialCount(); instances.usernameKeyPairCredential.authorized_actions = @@ -164,7 +159,6 @@ module( }); test('cannot delete a JSON credential without proper authorization', async function (assert) { - assert.expect(3); const jsonCredentialCount = getJSONCredentialCount(); instances.jsonCredential.authorized_actions = instances.jsonCredential.authorized_actions.filter( @@ -179,7 +173,6 @@ module( }); test('can accept delete username & password credential via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const usernamePasswordCredentialCount = @@ -195,7 +188,6 @@ module( }); test('can accept delete username & key pair credential via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const usernameKeyPairCredentialCount = @@ -211,7 +203,6 @@ module( }); test('can accept delete JSON credential via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const jsonCredentialCount = getJSONCredentialCount(); @@ -223,7 +214,6 @@ module( }); test('can cancel delete username & password credential via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const usernamePasswordCredentialCount = @@ -239,7 +229,6 @@ module( }); test('can cancel delete username & key pair credential via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const usernameKeyPairCredentialCount = @@ -255,7 +244,6 @@ module( }); test('can cancel delete JSON credential via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const jsonCredentialCount = getJSONCredentialCount(); @@ -267,7 +255,6 @@ module( }); test('deleting a username & password credential which errors displays error message', async function (assert) { - assert.expect(1); this.server.del('/credentials/:id', () => { return new Response( 490, @@ -285,7 +272,6 @@ module( }); test('deleting a username & key pair credential which errors displays error message', async function (assert) { - assert.expect(1); this.server.del('/credentials/:id', () => { return new Response( 490, @@ -303,7 +289,6 @@ module( }); test('deleting a JSON credential which errors displays error message', async function (assert) { - assert.expect(1); this.server.del('/credentials/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/credential-store/credentials/list-test.js b/ui/admin/tests/acceptance/credential-store/credentials/list-test.js index 2d7c91485..dad56b2b1 100644 --- a/ui/admin/tests/acceptance/credential-store/credentials/list-test.js +++ b/ui/admin/tests/acceptance/credential-store/credentials/list-test.js @@ -71,7 +71,6 @@ module('Acceptance | credential-stores | credentials | list', function (hooks) { }); test('Users can navigate to credentials with proper authorization', async function (assert) { - assert.expect(4); await visit(urls.staticCredentialStore); assert.ok( instances.staticCredentialStore.authorized_collection_actions.credentials.includes( @@ -87,7 +86,6 @@ module('Acceptance | credential-stores | credentials | list', function (hooks) { }); test('User cannot navigate to Credentials tab without either list or create action', async function (assert) { - assert.expect(3); instances.staticCredentialStore.authorized_collection_actions.credentials = []; await visit(urls.staticCredentialStore); @@ -105,7 +103,6 @@ module('Acceptance | credential-stores | credentials | list', function (hooks) { }); test('User can navigate to new credential screen with only create action', async function (assert) { - assert.expect(2); instances.staticCredentialStore.authorized_collection_actions.credentials = ['create']; await visit(urls.staticCredentialStore); diff --git a/ui/admin/tests/acceptance/credential-store/credentials/read-test.js b/ui/admin/tests/acceptance/credential-store/credentials/read-test.js index a73667ca1..8b63a44ec 100644 --- a/ui/admin/tests/acceptance/credential-store/credentials/read-test.js +++ b/ui/admin/tests/acceptance/credential-store/credentials/read-test.js @@ -81,7 +81,6 @@ module('Acceptance | credential-stores | credentials | read', function (hooks) { }); test('visiting username & password credential', async function (assert) { - assert.expect(2); await visit(urls.staticCredentialStore); await click(`[href="${urls.credentials}"]`); await a11yAudit(); @@ -92,7 +91,6 @@ module('Acceptance | credential-stores | credentials | read', function (hooks) { }); test('visiting username & key pair credential', async function (assert) { - assert.expect(2); await visit(urls.staticCredentialStore); await click(`[href="${urls.credentials}"]`); await a11yAudit(); @@ -103,7 +101,6 @@ module('Acceptance | credential-stores | credentials | read', function (hooks) { }); test('visiting JSON credential', async function (assert) { - assert.expect(2); featuresService.enable('json-credentials'); await visit(urls.staticCredentialStore); await click(`[href="${urls.credentials}"]`); @@ -115,7 +112,6 @@ module('Acceptance | credential-stores | credentials | read', function (hooks) { }); test('cannot navigate to a username & password credential form without proper authorization', async function (assert) { - assert.expect(1); instances.usernamePasswordCredential.authorized_actions = instances.usernamePasswordCredential.authorized_actions.filter( (item) => item != 'read', @@ -125,7 +121,6 @@ module('Acceptance | credential-stores | credentials | read', function (hooks) { }); test('cannot navigate to a username & key pair credential form without proper authorization', async function (assert) { - assert.expect(1); instances.usernameKeyPairCredential.authorized_actions = instances.usernameKeyPairCredential.authorized_actions.filter( (item) => item != 'read', @@ -135,7 +130,6 @@ module('Acceptance | credential-stores | credentials | read', function (hooks) { }); test('cannot navigate to a JSON credential form without proper authorization', async function (assert) { - assert.expect(1); instances.jsonCredential.authorized_actions = instances.jsonCredential.authorized_actions.filter( (item) => item != 'read', @@ -145,21 +139,18 @@ module('Acceptance | credential-stores | credentials | read', function (hooks) { }); test('cannot navigate to a JSON credential form when feature not enabled', async function (assert) { - assert.expect(2); await visit(urls.credentials); assert.false(featuresService.isEnabled('json-credentials')); assert.dom('.rose-table-body tr:nth-child(3) a').doesNotExist(); }); test('visiting an unknown credential displays 404 message', async function (assert) { - assert.expect(1); await visit(urls.unknownCredential); await a11yAudit(); assert.ok(find('.rose-message-subtitle').textContent.trim(), 'Error 404'); }); test('Users can link to docs page for credential', async function (assert) { - assert.expect(1); await visit(urls.usernamePasswordCredential); assert.ok( find(`[href="https://boundaryproject.io/help/admin-ui/credentials"]`), @@ -167,7 +158,6 @@ module('Acceptance | credential-stores | credentials | read', function (hooks) { }); test('users can navigate to credential and incorrect url autocorrects', async function (assert) { - assert.expect(2); const credentialStore = this.server.create('credential-store', { scope: instances.scopes.project, }); diff --git a/ui/admin/tests/acceptance/credential-store/credentials/update-test.js b/ui/admin/tests/acceptance/credential-store/credentials/update-test.js index f4cf7e0de..d09f59fec 100644 --- a/ui/admin/tests/acceptance/credential-store/credentials/update-test.js +++ b/ui/admin/tests/acceptance/credential-store/credentials/update-test.js @@ -87,7 +87,6 @@ module( }); test('can save changes to existing username & password credential', async function (assert) { - assert.expect(3); const mockInput = 'random string'; assert.notEqual(instances.usernamePasswordCredential.name, mockInput); await visit(urls.usernamePasswordCredential); @@ -103,7 +102,6 @@ module( }); test('can save changes to existing username & key pair credential', async function (assert) { - assert.expect(3); const mockInput = 'random string'; assert.notEqual(instances.usernameKeyPairCredential.name, mockInput); await visit(urls.usernameKeyPairCredential); @@ -119,7 +117,6 @@ module( }); test('can save changes to existing JSON credential', async function (assert) { - assert.expect(3); const mockInput = 'random string'; assert.notEqual(instances.jsonCredential.name, mockInput); await visit(urls.jsonCredential); @@ -134,7 +131,6 @@ module( }); test('cannot make changes to an existing username & password credential without proper authorization', async function (assert) { - assert.expect(1); instances.usernamePasswordCredential.authorized_actions = instances.usernamePasswordCredential.authorized_actions.filter( (item) => item !== 'update', @@ -146,7 +142,6 @@ module( }); test('cannot make changes to an existing username & key pair credential without proper authorization', async function (assert) { - assert.expect(1); instances.usernameKeyPairCredential.authorized_actions = instances.usernameKeyPairCredential.authorized_actions.filter( (item) => item !== 'update', @@ -158,7 +153,6 @@ module( }); test('cannot make changes to an existing JSON credential without proper authorization', async function (assert) { - assert.expect(1); instances.jsonCredential.authorized_actions = instances.jsonCredential.authorized_actions.filter( (item) => item !== 'update', @@ -170,7 +164,6 @@ module( }); test('can cancel changes to existing username & password credential', async function (assert) { - assert.expect(2); const mockInput = 'random string'; await visit(urls.usernamePasswordCredential); await click('form [type="button"]', 'Activate edit mode'); @@ -184,7 +177,6 @@ module( }); test('can cancel changes to existing username & key pair credential', async function (assert) { - assert.expect(2); const mockInput = 'random string'; await visit(urls.usernameKeyPairCredential); await click('form [type="button"]', 'Activate edit mode'); @@ -198,7 +190,6 @@ module( }); test('can cancel changes to existing JSON credential', async function (assert) { - assert.expect(2); const mockInput = 'random string'; await visit(urls.jsonCredential); await click('form [type="button"]', 'Activate edit mode'); @@ -212,7 +203,6 @@ module( }); test('saving an existing username & password credential with invalid fields displays error message', async function (assert) { - assert.expect(2); const mockInput = 'random string'; this.server.patch('/credentials/:id', () => { return new Response( @@ -248,7 +238,6 @@ module( }); test('saving an existing username & key pair credential with invalid fields displays error message', async function (assert) { - assert.expect(2); const mockInput = 'random string'; this.server.patch('/credentials/:id', () => { return new Response( @@ -284,7 +273,6 @@ module( }); test('saving an existing JSON credential with invalid fields displays error message', async function (assert) { - assert.expect(2); const mockInput = 'random string'; this.server.patch('/credentials/:id', () => { return new Response( @@ -477,7 +465,6 @@ module( }); test('password field renders in edit mode only for a username & password credential', async function (assert) { - assert.expect(3); await visit(urls.usernamePasswordCredential); assert.dom('[name="password"]').doesNotExist(); await click('form [type="button"]', 'Activate edit mode'); @@ -486,7 +473,6 @@ module( }); test('private_key and private_key_passphrase fields render in edit mode only for a username & key pair credential', async function (assert) { - assert.expect(5); await visit(urls.usernameKeyPairCredential); assert.dom('[name="private_key"]').doesNotExist(); assert.dom('[name="private_key_passphrase"]').doesNotExist(); @@ -497,7 +483,6 @@ module( }); test('secret editor is in actionable state when entering edit mode of a JSON credential', async function (assert) { - assert.expect(3); await visit(urls.jsonCredential); assert.dom('.secret-editor-skeleton-message button').doesNotExist(); await click('form [type="button"]', 'Activate edit mode'); @@ -506,7 +491,6 @@ module( }); test('secret editor enters editing state when clicking edit button in the secret editor of a JSON credential', async function (assert) { - assert.expect(4); await visit(urls.jsonCredential); await click('form [type="button"]', 'Activate edit mode'); assert.strictEqual(currentURL(), urls.jsonCredential); diff --git a/ui/admin/tests/acceptance/credential-store/delete-test.js b/ui/admin/tests/acceptance/credential-store/delete-test.js index 31f860bde..7c03bd324 100644 --- a/ui/admin/tests/acceptance/credential-store/delete-test.js +++ b/ui/admin/tests/acceptance/credential-store/delete-test.js @@ -75,7 +75,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('can delete credential store of type vault', async function (assert) { - assert.expect(1); const count = getVaultCredentialStoresCount(); await visit(urls.vaultCredentialStore); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -83,7 +82,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('can delete credential store of type static', async function (assert) { - assert.expect(1); const count = getStaticCredentialStoresCount(); await visit(urls.staticCredentialStore); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -91,7 +89,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('cannot delete a vault credential store without proper authorization', async function (assert) { - assert.expect(1); instances.vaultCredentialStore.authorized_actions = instances.vaultCredentialStore.authorized_actions.filter( (item) => item !== 'delete', @@ -103,7 +100,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('cannot delete a static credential store without proper authorization', async function (assert) { - assert.expect(1); instances.staticCredentialStore.authorized_actions = instances.staticCredentialStore.authorized_actions.filter( (item) => item !== 'delete', @@ -115,7 +111,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('can accept delete static credential store via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(resolve()); @@ -127,7 +122,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('can accept delete vault credential store via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(resolve()); @@ -139,7 +133,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('cannot cancel delete for static credential store via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(reject()); @@ -151,7 +144,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('cannot cancel delete for vault credential store via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(reject()); @@ -163,7 +155,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('deleting a static credential store which errors displays error messages', async function (assert) { - assert.expect(1); this.server.del('/credential-stores/:id', () => { return new Response( 490, @@ -181,7 +172,6 @@ module('Acceptance | credential-stores | delete', function (hooks) { }); test('deleting a vault credential store which errors displays error messages', async function (assert) { - assert.expect(1); this.server.del('/credential-stores/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/credential-store/list-test.js b/ui/admin/tests/acceptance/credential-store/list-test.js index 420e4e67a..839d39d28 100644 --- a/ui/admin/tests/acceptance/credential-store/list-test.js +++ b/ui/admin/tests/acceptance/credential-store/list-test.js @@ -54,7 +54,6 @@ module('Acceptance | credential-stores | list', function (hooks) { }); test('Users can navigate to credential-stores with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.projectScope); assert.ok( instances.scopes.project.authorized_collection_actions[ @@ -65,7 +64,6 @@ module('Acceptance | credential-stores | list', function (hooks) { }); test('Users cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(2); instances.scopes.project.authorized_collection_actions[ 'credential-stores' ] = []; @@ -79,7 +77,6 @@ module('Acceptance | credential-stores | list', function (hooks) { }); test('Users can navigate to index with only create action', async function (assert) { - assert.expect(1); instances.scopes.project.authorized_collection_actions[ 'credential-stores' ] = ['create']; @@ -88,7 +85,6 @@ module('Acceptance | credential-stores | list', function (hooks) { }); test('Users can link to docs page for credential stores', async function (assert) { - assert.expect(1); await visit(urls.credentialStores); assert.ok( find( diff --git a/ui/admin/tests/acceptance/credential-store/read-test.js b/ui/admin/tests/acceptance/credential-store/read-test.js index b40dfb2d4..b024ad356 100644 --- a/ui/admin/tests/acceptance/credential-store/read-test.js +++ b/ui/admin/tests/acceptance/credential-store/read-test.js @@ -69,7 +69,6 @@ module('Acceptance | credential-stores | read', function (hooks) { }); test('visiting static credential store', async function (assert) { - assert.expect(2); featuresService.enable('static-credentials'); await visit(urls.credentialStores); await a11yAudit(); @@ -82,7 +81,6 @@ module('Acceptance | credential-stores | read', function (hooks) { }); test('visiting vault credential store', async function (assert) { - assert.expect(2); await visit(urls.credentialStores); assert.strictEqual(currentURL(), urls.credentialStores); @@ -93,7 +91,6 @@ module('Acceptance | credential-stores | read', function (hooks) { }); test('cannot navigate to a static credential store form without proper authorization', async function (assert) { - assert.expect(2); await visit(urls.projectScope); instances.staticCredentialStore.authorized_actions = instances.staticCredentialStore.authorized_actions.filter( @@ -107,7 +104,6 @@ module('Acceptance | credential-stores | read', function (hooks) { }); test('cannot navigate to a vault credential store form without proper authorization', async function (assert) { - assert.expect(2); featuresService.enable('static-credentials'); await visit(urls.projectScope); instances.vaultCredentialStore.authorized_actions = @@ -122,8 +118,6 @@ module('Acceptance | credential-stores | read', function (hooks) { }); test('visiting an unknown credential store displays 404 message', async function (assert) { - assert.expect(1); - await visit(urls.unknownCredentialStore); await a11yAudit(); @@ -131,7 +125,6 @@ module('Acceptance | credential-stores | read', function (hooks) { }); test('users can link to docs page for credential store', async function (assert) { - assert.expect(1); await visit(urls.projectScope); await click(`[href="${urls.credentialStores}"]`); @@ -144,7 +137,6 @@ module('Acceptance | credential-stores | read', function (hooks) { }); test('users can navigate to credential store and incorrect url autocorrects', async function (assert) { - assert.expect(2); const projectScope = this.server.create('scope', { type: 'project', scope: { id: instances.scopes.org.id, type: 'org' }, diff --git a/ui/admin/tests/acceptance/credential-store/update-test.js b/ui/admin/tests/acceptance/credential-store/update-test.js index 6350f6982..f6f8c7768 100644 --- a/ui/admin/tests/acceptance/credential-store/update-test.js +++ b/ui/admin/tests/acceptance/credential-store/update-test.js @@ -61,7 +61,6 @@ module('Acceptance | credential-stores | update', function (hooks) { }); test('can save changes to existing static credential store', async function (assert) { - assert.expect(3); assert.notEqual(instances.staticCredentialStore.name, 'random string'); await visit(urls.staticCredentialStore); await click('form [type="button"]', 'Activate edit mode'); @@ -76,7 +75,6 @@ module('Acceptance | credential-stores | update', function (hooks) { }); test('can save changes to existing vault credential store', async function (assert) { - assert.expect(3); assert.notEqual(instances.vaultCredentialStore.name, 'random string'); await visit(urls.vaultCredentialStore); await click('form [type="button"]', 'Activate edit mode'); @@ -91,7 +89,6 @@ module('Acceptance | credential-stores | update', function (hooks) { }); test('cannot make changes to an existing static credential store without proper authorization', async function (assert) { - assert.expect(1); instances.staticCredentialStore.authorized_actions = instances.staticCredentialStore.authorized_actions.filter( (item) => item !== 'update', @@ -101,7 +98,6 @@ module('Acceptance | credential-stores | update', function (hooks) { }); test('cannot make changes to an existing vault credential store without proper authorization', async function (assert) { - assert.expect(1); instances.vaultCredentialStore.authorized_actions = instances.vaultCredentialStore.authorized_actions.filter( (item) => item !== 'update', @@ -111,7 +107,6 @@ module('Acceptance | credential-stores | update', function (hooks) { }); test('can cancel changes to existing static credential store', async function (assert) { - assert.expect(2); await visit(urls.staticCredentialStore); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'random string'); @@ -124,7 +119,6 @@ module('Acceptance | credential-stores | update', function (hooks) { }); test('can cancel changes to existing vault credential store', async function (assert) { - assert.expect(2); await visit(urls.vaultCredentialStore); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'random string'); @@ -137,7 +131,6 @@ module('Acceptance | credential-stores | update', function (hooks) { }); test('saving an existing static credential store with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/credential-stores/:id', () => { return new Response( 400, @@ -172,7 +165,6 @@ module('Acceptance | credential-stores | update', function (hooks) { }); test('saving an existing vault credential store with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/credential-stores/:id', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/develop-test.js b/ui/admin/tests/acceptance/develop-test.js index f70fc1992..3148ff3d8 100644 --- a/ui/admin/tests/acceptance/develop-test.js +++ b/ui/admin/tests/acceptance/develop-test.js @@ -20,14 +20,12 @@ module('Acceptance | develop', function (hooks) { }); test('edition toggle is hidden when `dev-edition-toggle` is false', async function (assert) { - assert.expect(2); await visit('/'); assert.false(featuresService.isEnabled('dev-edition-toggle')); assert.dom('data-dev-edition-toggle').doesNotExist(); }); test('edition toggle is visible when `dev-edition-toggle` is true', async function (assert) { - assert.expect(2); assert.false(featuresService.isEnabled('dev-edition-toggle')); featuresService.enable('dev-edition-toggle'); await visit('/'); diff --git a/ui/admin/tests/acceptance/groups/create-test.js b/ui/admin/tests/acceptance/groups/create-test.js index 9b83c0b19..a6e733361 100644 --- a/ui/admin/tests/acceptance/groups/create-test.js +++ b/ui/admin/tests/acceptance/groups/create-test.js @@ -50,7 +50,6 @@ module('Acceptance | groups | create', function (hooks) { }); test('can create new group', async function (assert) { - assert.expect(1); const groupsCount = this.server.db.groups.length; await visit(urls.newGroup); await fillIn('[name="name"]', 'group name'); @@ -59,7 +58,6 @@ module('Acceptance | groups | create', function (hooks) { }); test('can navigate to new groups route with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.groups); assert.ok( instances.scopes.org.authorized_collection_actions.groups.includes( @@ -70,7 +68,6 @@ module('Acceptance | groups | create', function (hooks) { }); test('cannot navigate to new groups route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.org.authorized_collection_actions.groups = []; await visit(urls.groups); assert.false( @@ -81,7 +78,6 @@ module('Acceptance | groups | create', function (hooks) { assert.notOk(find(`[href="${urls.newGroup}"]`)); }); test('can cancel new group creation', async function (assert) { - assert.expect(2); const groupsCount = this.server.db.groups.length; await visit(urls.newGroup); await fillIn('[name="name"]', 'group name'); @@ -91,7 +87,6 @@ module('Acceptance | groups | create', function (hooks) { }); test('saving a new group with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/groups', () => { return new Response( 400, @@ -127,7 +122,6 @@ module('Acceptance | groups | create', function (hooks) { }); test('users cannot directly navigate to new group route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.org.authorized_collection_actions.groups = instances.scopes.org.authorized_collection_actions.groups.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/groups/delete-test.js b/ui/admin/tests/acceptance/groups/delete-test.js index f9575e299..282b98b45 100644 --- a/ui/admin/tests/acceptance/groups/delete-test.js +++ b/ui/admin/tests/acceptance/groups/delete-test.js @@ -49,7 +49,6 @@ module('Acceptance | groups | delete', function (hooks) { }); test('can delete a group', async function (assert) { - assert.expect(1); const groupsCount = this.server.db.groups.length; await visit(urls.group); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -57,7 +56,6 @@ module('Acceptance | groups | delete', function (hooks) { }); test('cannot delete a group without proper authorization', async function (assert) { - assert.expect(1); instances.group.authorized_actions = instances.group.authorized_actions.filter((item) => item !== 'delete'); await visit(urls.group); @@ -67,7 +65,6 @@ module('Acceptance | groups | delete', function (hooks) { }); test('errors are displayed when delete project fails', async function (assert) { - assert.expect(1); this.server.del('/groups/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/groups/list-test.js b/ui/admin/tests/acceptance/groups/list-test.js index bbfd92647..e35184a29 100644 --- a/ui/admin/tests/acceptance/groups/list-test.js +++ b/ui/admin/tests/acceptance/groups/list-test.js @@ -54,7 +54,6 @@ module('Acceptance | groups | list', function (hooks) { }); test('can navigate to groups with proper authorization', async function (assert) { - assert.expect(2); await visit(orgURL); assert.ok( instances.orgScope.authorized_collection_actions.groups.includes('list'), @@ -63,7 +62,6 @@ module('Acceptance | groups | list', function (hooks) { }); test('User cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(2); instances.orgScope.authorized_collection_actions.groups = []; await visit(orgURL); assert.notOk( @@ -73,7 +71,6 @@ module('Acceptance | groups | list', function (hooks) { }); test('User can navigate to index with only create action', async function (assert) { - assert.expect(1); instances.orgScope.authorized_collection_actions.groups = ['create']; await visit(orgURL); assert.ok(find(`[href="${urls.groups}"]`)); diff --git a/ui/admin/tests/acceptance/groups/members-test.js b/ui/admin/tests/acceptance/groups/members-test.js index f2249e062..1665fc4a1 100644 --- a/ui/admin/tests/acceptance/groups/members-test.js +++ b/ui/admin/tests/acceptance/groups/members-test.js @@ -58,7 +58,6 @@ module('Acceptance | groups | members', function (hooks) { }); test('visiting group members', async function (assert) { - assert.expect(2); await visit(urls.members); await a11yAudit(); assert.strictEqual(currentURL(), urls.members); @@ -66,7 +65,6 @@ module('Acceptance | groups | members', function (hooks) { }); test('can remove a member', async function (assert) { - assert.expect(2); await visit(urls.members); assert.strictEqual(findAll('tbody tr').length, membersCount); await click('.hds-dropdown-toggle-icon'); @@ -75,7 +73,6 @@ module('Acceptance | groups | members', function (hooks) { }); test('cannot remove a member without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.group.authorized_actions.filter( (item) => item !== 'remove-members', ); @@ -85,7 +82,6 @@ module('Acceptance | groups | members', function (hooks) { }); test('shows error message on member remove', async function (assert) { - assert.expect(2); this.server.post('/groups/:idMethod', () => { return new Response( 400, @@ -106,20 +102,17 @@ module('Acceptance | groups | members', function (hooks) { }); test('visiting member selection', async function (assert) { - assert.expect(1); await visit(urls.addMembers); await a11yAudit(); assert.strictEqual(currentURL(), urls.addMembers); }); test('can navigate to add members with proper authorization', async function (assert) { - assert.expect(1); await visit(urls.group); assert.ok(find(`[href="${urls.addMembers}"]`)); }); test('cannot navigate to add members without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.group.authorized_actions.filter( (item) => item !== 'add-members', ); @@ -129,7 +122,6 @@ module('Acceptance | groups | members', function (hooks) { }); test('select and save members to add', async function (assert) { - assert.expect(3); instances.group.update({ memberIds: [] }); await visit(urls.members); assert.strictEqual(findAll('tbody tr').length, 0); @@ -145,7 +137,6 @@ module('Acceptance | groups | members', function (hooks) { }); test('select and cancel members to add', async function (assert) { - assert.expect(4); await visit(urls.members); assert.strictEqual(findAll('tbody tr').length, membersCount); await click('.hds-dropdown-toggle-icon'); @@ -160,7 +151,6 @@ module('Acceptance | groups | members', function (hooks) { }); test('shows error message on member add', async function (assert) { - assert.expect(1); this.server.post('/groups/:idMethod', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/groups/read-test.js b/ui/admin/tests/acceptance/groups/read-test.js index b10095711..1718bf2c7 100644 --- a/ui/admin/tests/acceptance/groups/read-test.js +++ b/ui/admin/tests/acceptance/groups/read-test.js @@ -49,14 +49,12 @@ module('Acceptance | groups | read', function (hooks) { }); test('visiting a group', async function (assert) { - assert.expect(1); await visit(urls.newGroup); await a11yAudit(); assert.strictEqual(currentURL(), urls.newGroup); }); test('cannot navigate to a group form without proper authorization', async function (assert) { - assert.expect(1); instances.group.authorized_actions = instances.group.authorized_actions.filter((item) => item !== 'read'); await visit(urls.group); @@ -64,7 +62,6 @@ module('Acceptance | groups | read', function (hooks) { }); test('users can navigate to group and incorrect url autocorrects', async function (assert) { - assert.expect(2); const orgScope = this.server.create('scope', { type: 'org', scope: { id: 'global', type: 'global' }, diff --git a/ui/admin/tests/acceptance/groups/update-test.js b/ui/admin/tests/acceptance/groups/update-test.js index aeeef7651..912401827 100644 --- a/ui/admin/tests/acceptance/groups/update-test.js +++ b/ui/admin/tests/acceptance/groups/update-test.js @@ -49,7 +49,6 @@ module('Acceptance | groups | update', function (hooks) { }); test('can save changes to an existing group', async function (assert) { - assert.expect(2); await visit(urls.group); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'Updated admin group'); @@ -59,7 +58,6 @@ module('Acceptance | groups | update', function (hooks) { }); test('cannot make changes to an existing group without proper authorization', async function (assert) { - assert.expect(1); instances.group.authorized_actions = instances.group.authorized_actions.filter((item) => item !== 'update'); await visit(urls.group); @@ -67,7 +65,6 @@ module('Acceptance | groups | update', function (hooks) { }); test('can cancel changes to an existing group', async function (assert) { - assert.expect(1); await visit(urls.group); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'Updated admin group'); @@ -76,7 +73,6 @@ module('Acceptance | groups | update', function (hooks) { }); test('saving an existing group with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/groups/:id', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/host-catalogs/create-test.js b/ui/admin/tests/acceptance/host-catalogs/create-test.js index 5f75ad31c..7a69b26f8 100644 --- a/ui/admin/tests/acceptance/host-catalogs/create-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/create-test.js @@ -83,7 +83,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('Users can create new static host catalogs', async function (assert) { - assert.expect(1); const count = gethostCatalogCount(); await visit(urls.newStaticHostCatalog); await fillIn('[name="name"]', 'random string'); @@ -94,7 +93,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('Users can create new dynamic aws host catalogs with aws provider', async function (assert) { - assert.expect(1); const count = gethostCatalogCount(); await visit(urls.newAWSDynamicHostCatalog); await fillIn('[name="name"]', 'random string'); @@ -105,7 +103,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('Users can create new dynamic aws host catalogs with azure provider', async function (assert) { - assert.expect(1); const count = gethostCatalogCount(); await visit(urls.newAzureDynamicHostCatalog); await fillIn('[name="name"]', 'random string'); @@ -116,7 +113,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('Users can cancel creation of new static host catalogs', async function (assert) { - assert.expect(2); const count = gethostCatalogCount(); await visit(urls.newStaticHostCatalog); await fillIn('[name="name"]', 'random string'); @@ -126,7 +122,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('Users can cancel creation of new dynamic host catalogs with AWS provider', async function (assert) { - assert.expect(2); const count = gethostCatalogCount(); await visit(urls.newAWSDynamicHostCatalog); await fillIn('[name="name"]', 'random string'); @@ -136,7 +131,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('Users can cancel creation of new dynamic host catalogs with Azure provider', async function (assert) { - assert.expect(2); const count = gethostCatalogCount(); await visit(urls.newAzureDynamicHostCatalog); await fillIn('[name="name"]', 'random string'); @@ -146,7 +140,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('Users can navigate to new static host catalogs route with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.hostCatalogs); assert.ok( instances.scopes.project.authorized_collection_actions[ @@ -157,7 +150,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('Users cannot navigate to new static host catalogs route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.project.authorized_collection_actions['host-catalogs'] = []; await visit(urls.hostCatalogs); @@ -170,7 +162,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('saving a new static host catalog with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/host-catalogs', () => { return new Response( 400, @@ -203,7 +194,6 @@ module('Acceptance | host-catalogs | create', function (hooks) { }); test('users cannot directly navigate to new host catalog route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.project.authorized_collection_actions['host-catalogs'] = instances.scopes.project.authorized_collection_actions[ 'host-catalogs' diff --git a/ui/admin/tests/acceptance/host-catalogs/delete-test.js b/ui/admin/tests/acceptance/host-catalogs/delete-test.js index c28f4820b..6680ea991 100644 --- a/ui/admin/tests/acceptance/host-catalogs/delete-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/delete-test.js @@ -64,7 +64,6 @@ module('Acceptance | host-catalogs | delete', function (hooks) { }); test('can delete host catalog', async function (assert) { - assert.expect(1); const hostCatalogCount = gethostCatalogCount(); await visit(urls.hostCatalogs); @@ -75,7 +74,6 @@ module('Acceptance | host-catalogs | delete', function (hooks) { }); test('cannot delete host catalog without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.hostCatalogs); instances.hostCatalog.authorized_actions = instances.hostCatalog.authorized_actions.filter( @@ -90,7 +88,6 @@ module('Acceptance | host-catalogs | delete', function (hooks) { }); test('can accept delete host catalog via dialog', async function (assert) { - assert.expect(3); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const hostCatalogCount = gethostCatalogCount(); @@ -106,7 +103,6 @@ module('Acceptance | host-catalogs | delete', function (hooks) { }); test('can cancel delete host catalog via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const hostCatalogCount = gethostCatalogCount(); @@ -121,7 +117,6 @@ module('Acceptance | host-catalogs | delete', function (hooks) { }); test('deleting a host catalog which errors displays error messages', async function (assert) { - assert.expect(1); await visit(urls.hostCatalogs); this.server.del('/host-catalogs/:id', () => { return new Response( diff --git a/ui/admin/tests/acceptance/host-catalogs/host-sets/create-test.js b/ui/admin/tests/acceptance/host-catalogs/host-sets/create-test.js index e52194d7b..a8813acc6 100644 --- a/ui/admin/tests/acceptance/host-catalogs/host-sets/create-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/host-sets/create-test.js @@ -88,7 +88,6 @@ module('Acceptance | host-catalogs | host sets | create', function (hooks) { }); test('can create new host sets', async function (assert) { - assert.expect(1); const count = getHostSetCount(); await visit(urls.newHostSet); await fillIn(NAME_SELECTOR, 'random string'); @@ -97,7 +96,6 @@ module('Acceptance | host-catalogs | host sets | create', function (hooks) { }); test('can create new aws host set', async function (assert) { - assert.expect(4); instances.hostCatalog = this.server.create('host-catalog', { scope: instances.scopes.project, type: 'plugin', @@ -129,7 +127,6 @@ module('Acceptance | host-catalogs | host sets | create', function (hooks) { }); test('can create new azure host set', async function (assert) { - assert.expect(4); instances.hostCatalog = this.server.create('host-catalog', { scope: instances.scopes.project, type: 'plugin', @@ -159,7 +156,6 @@ module('Acceptance | host-catalogs | host sets | create', function (hooks) { }); test('Users cannot create a new host set without proper authorization', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions['host-sets'] = []; await visit(urls.hostCatalog); assert.notOk( @@ -171,7 +167,6 @@ module('Acceptance | host-catalogs | host sets | create', function (hooks) { }); test('Users cannot navigate to new host sets route without proper authorization', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions['host-sets'] = []; await visit(urls.hostSets); assert.notOk( @@ -183,7 +178,6 @@ module('Acceptance | host-catalogs | host sets | create', function (hooks) { }); test('can cancel create new host', async function (assert) { - assert.expect(2); const count = getHostSetCount(); await visit(urls.newHostSet); await fillIn(NAME_SELECTOR, 'random string'); @@ -193,7 +187,6 @@ module('Acceptance | host-catalogs | host sets | create', function (hooks) { }); test('saving a new host set with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/host-sets', () => { return new Response( 400, @@ -226,7 +219,6 @@ module('Acceptance | host-catalogs | host sets | create', function (hooks) { }); test('users cannot directly navigate to new host set route without proper authorization', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions['host-sets'] = instances.hostCatalog.authorized_collection_actions['host-sets'].filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/host-catalogs/host-sets/delete-test.js b/ui/admin/tests/acceptance/host-catalogs/host-sets/delete-test.js index 4af565f79..9a3c10f92 100644 --- a/ui/admin/tests/acceptance/host-catalogs/host-sets/delete-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/host-sets/delete-test.js @@ -78,7 +78,6 @@ module('Acceptance | host-catalogs | host sets | delete', function (hooks) { }); test('can delete host', async function (assert) { - assert.expect(1); const count = getHostSetCount(); await visit(urls.hostSet); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -86,7 +85,6 @@ module('Acceptance | host-catalogs | host sets | delete', function (hooks) { }); test('can accept delete host set via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(resolve()); @@ -98,7 +96,6 @@ module('Acceptance | host-catalogs | host sets | delete', function (hooks) { }); test('cannot delete host set without proper authorization', async function (assert) { - assert.expect(1); instances.hostSet.authorized_actions = instances.hostSet.authorized_actions.filter((item) => item !== 'delete'); await visit(urls.hostSet); @@ -108,7 +105,6 @@ module('Acceptance | host-catalogs | host sets | delete', function (hooks) { }); test('cannot cancel delete host set via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(reject()); @@ -120,7 +116,6 @@ module('Acceptance | host-catalogs | host sets | delete', function (hooks) { }); test('deleting a host set which errors displays error messages', async function (assert) { - assert.expect(1); this.server.del('/host-sets/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/host-catalogs/host-sets/hosts-test.js b/ui/admin/tests/acceptance/host-catalogs/host-sets/hosts-test.js index 7da5d48bd..e80375a9c 100644 --- a/ui/admin/tests/acceptance/host-catalogs/host-sets/hosts-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/host-sets/hosts-test.js @@ -88,7 +88,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('visiting host set hosts', async function (assert) { - assert.expect(2); await visit(urls.hostSetHosts); await a11yAudit(); assert.strictEqual(currentURL(), urls.hostSetHosts); @@ -96,7 +95,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('can remove a host', async function (assert) { - assert.expect(2); const count = getHostSetHostCount(); await visit(urls.hostSetHosts); assert.strictEqual(findAll('tbody tr').length, count); @@ -105,7 +103,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('cannot remove a host without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.hostSet.authorized_actions.filter( (item) => item !== 'remove-hosts', ); @@ -115,7 +112,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('shows error message on host remove error', async function (assert) { - assert.expect(2); this.server.post('/host-sets/:idMethod', () => { return new Response( 400, @@ -135,20 +131,17 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('visiting add hosts', async function (assert) { - assert.expect(1); await visit(urls.addHosts); await a11yAudit(); assert.strictEqual(currentURL(), urls.addHosts); }); test('can navigate to add hosts with proper authorization', async function (assert) { - assert.expect(1); await visit(urls.hostSet); assert.ok(find(`[href="${urls.addHosts}"]`)); }); test('cannot navigate to add hosts without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.hostSet.authorized_actions.filter( (item) => item !== 'add-hosts', ); @@ -158,7 +151,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('select and save hosts to add', async function (assert) { - assert.expect(3); instances.hostSet.update({ hostIds: [] }); await visit(urls.hostSetHosts); assert.strictEqual(findAll('tbody tr').length, 0); @@ -174,7 +166,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('select and cancel hosts to add', async function (assert) { - assert.expect(4); const count = getHostSetHostCount(); await visit(urls.hostSetHosts); assert.strictEqual(findAll('tbody tr').length, count); @@ -189,7 +180,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('shows error message on host add error', async function (assert) { - assert.expect(1); this.server.post('/host-sets/:idMethod', () => { return new Response( 400, @@ -210,14 +200,12 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('visiting host creation from a host set', async function (assert) { - assert.expect(1); await visit(urls.createAndAddHost); await a11yAudit(); assert.strictEqual(currentURL(), urls.createAndAddHost); }); test('create and add host to host set', async function (assert) { - assert.expect(3); instances.hostSet.update({ hostIds: [] }); await visit(urls.hostSet); assert.strictEqual(findAll('tbody tr').length, 0); @@ -231,14 +219,12 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('create and cancel host add to host set', async function (assert) { - assert.expect(1); await visit(urls.createAndAddHost); await click('form [type="button"]'); assert.strictEqual(currentURL(), urls.hostSetHosts); }); test('shows error message on host creation error', async function (assert) { - assert.expect(1); this.server.post('/hosts', () => { return new Response( 400, @@ -259,7 +245,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('shows error message on host addition to host set error', async function (assert) { - assert.expect(1); this.server.post('/host-sets/:idMethod', () => { return new Response( 400, @@ -280,7 +265,6 @@ module('Acceptance | host-catalogs | host-sets | hosts', function (hooks) { }); test('users can navigate to host and incorrect url autocorrects', async function (assert) { - assert.expect(2); const hostCatalog = this.server.create('host-catalog', { scope: instances.scopes.project, type: 'plugin', diff --git a/ui/admin/tests/acceptance/host-catalogs/host-sets/list-test.js b/ui/admin/tests/acceptance/host-catalogs/host-sets/list-test.js index 2be7eb8ed..400e43b3a 100644 --- a/ui/admin/tests/acceptance/host-catalogs/host-sets/list-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/host-sets/list-test.js @@ -69,7 +69,6 @@ module('Acceptance | host-catalogs | host sets | list', function (hooks) { }); test('Users can navigate to host-sets with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.hostCatalog); assert.ok( instances.hostCatalog.authorized_collection_actions['host-sets'].includes( @@ -80,7 +79,6 @@ module('Acceptance | host-catalogs | host sets | list', function (hooks) { }); test('Users cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions['host-sets'] = []; await visit(urls.hostCatalog); assert.notOk( @@ -92,7 +90,6 @@ module('Acceptance | host-catalogs | host sets | list', function (hooks) { }); test('Users can navigate to index with only create action', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions['host-sets'] = [ 'create', ]; diff --git a/ui/admin/tests/acceptance/host-catalogs/host-sets/read-test.js b/ui/admin/tests/acceptance/host-catalogs/host-sets/read-test.js index 709afd0e5..71bd389e1 100644 --- a/ui/admin/tests/acceptance/host-catalogs/host-sets/read-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/host-sets/read-test.js @@ -72,7 +72,6 @@ module('Acceptance | host-catalogs | host-sets | read', function (hooks) { }); test('visiting host sets', async function (assert) { - assert.expect(2); await visit(urls.hostSets); await a11yAudit(); assert.strictEqual(currentURL(), urls.hostSets); @@ -84,7 +83,6 @@ module('Acceptance | host-catalogs | host-sets | read', function (hooks) { }); test('cannot navigate to a host set form without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.hostCatalog); instances.hostSet.authorized_actions = instances.hostSet.authorized_actions.filter((item) => item !== 'read'); @@ -95,8 +93,6 @@ module('Acceptance | host-catalogs | host-sets | read', function (hooks) { }); test('visiting an unknown host set displays 404 message', async function (assert) { - assert.expect(1); - await visit(urls.unknownHostSet); await a11yAudit(); @@ -104,7 +100,6 @@ module('Acceptance | host-catalogs | host-sets | read', function (hooks) { }); test('users can link to docs page for host sets', async function (assert) { - assert.expect(1); await visit(urls.hostSets); await click(`[href="${urls.hostSet}"]`); @@ -115,7 +110,6 @@ module('Acceptance | host-catalogs | host-sets | read', function (hooks) { }); test('users can navigate to host set and incorrect url autocorrects', async function (assert) { - assert.expect(2); const hostCatalog = this.server.create('host-catalog', { scope: instances.scopes.project, type: 'static', diff --git a/ui/admin/tests/acceptance/host-catalogs/host-sets/update-test.js b/ui/admin/tests/acceptance/host-catalogs/host-sets/update-test.js index 6a731ca88..495c4e031 100644 --- a/ui/admin/tests/acceptance/host-catalogs/host-sets/update-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/host-sets/update-test.js @@ -128,7 +128,6 @@ module('Acceptance | host-catalogs | host sets | update', function (hooks) { }); test('saving a new host set with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/host-sets', () => { return new Response( 400, @@ -161,7 +160,6 @@ module('Acceptance | host-catalogs | host sets | update', function (hooks) { }); test('can save changes to existing host-set', async function (assert) { - assert.expect(3); assert.notEqual(instances.hostSet.name, 'random string'); await visit(urls.hostSet); await click(EDIT_BUTTON_SELECTOR, 'Activate edit mode'); @@ -175,8 +173,6 @@ module('Acceptance | host-catalogs | host sets | update', function (hooks) { }); test('can save changes to an existing aws host-set', async function (assert) { - assert.expect(7); - await visit(urls.awshostSet); await click(EDIT_BUTTON_SELECTOR, 'Activate edit mode'); @@ -223,8 +219,6 @@ module('Acceptance | host-catalogs | host sets | update', function (hooks) { }); test('can save changes to an existing azure host-set', async function (assert) { - assert.expect(6); - await visit(urls.azureHostSet); await click(EDIT_BUTTON_SELECTOR, 'Activate edit mode'); @@ -259,7 +253,6 @@ module('Acceptance | host-catalogs | host sets | update', function (hooks) { }); test('cannot make changes to an existing host without proper authorization', async function (assert) { - assert.expect(1); instances.hostSet.authorized_actions = instances.hostSet.authorized_actions.filter((item) => item !== 'update'); await visit(urls.hostSet); @@ -267,7 +260,6 @@ module('Acceptance | host-catalogs | host sets | update', function (hooks) { }); test('can cancel changes to existing host-set', async function (assert) { - assert.expect(2); await visit(urls.hostSet); await click(EDIT_BUTTON_SELECTOR, 'Activate edit mode'); await fillIn('[name="name"]', 'random string'); @@ -277,7 +269,6 @@ module('Acceptance | host-catalogs | host sets | update', function (hooks) { }); test('saving an existing host set with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/host-sets/:id', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/host-catalogs/hosts/create-test.js b/ui/admin/tests/acceptance/host-catalogs/hosts/create-test.js index 56a3286e8..1be18eab2 100644 --- a/ui/admin/tests/acceptance/host-catalogs/hosts/create-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/hosts/create-test.js @@ -77,7 +77,6 @@ module('Acceptance | host-catalogs | hosts | create', function (hooks) { }); test('can create new host', async function (assert) { - assert.expect(1); const count = getHostCount(); await visit(urls.newHost); await fillIn('[name="name"]', 'random string'); @@ -86,7 +85,6 @@ module('Acceptance | host-catalogs | hosts | create', function (hooks) { }); test('Users cannot create a new host without proper authorization', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions.hosts = []; await visit(urls.hostCatalog); assert.notOk( @@ -97,7 +95,6 @@ module('Acceptance | host-catalogs | hosts | create', function (hooks) { assert.notOk(find(`.rose-layout-page-actions [href="${urls.newHost}"]`)); }); test('Users can navigate to new host route with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.hosts); assert.ok( instances.hostCatalog.authorized_collection_actions.hosts.includes( @@ -108,7 +105,6 @@ module('Acceptance | host-catalogs | hosts | create', function (hooks) { }); test('Users cannot navigate to new host route without proper authorization', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions.hosts = []; await visit(urls.hosts); assert.notOk( @@ -120,7 +116,6 @@ module('Acceptance | host-catalogs | hosts | create', function (hooks) { }); test('can cancel create new host', async function (assert) { - assert.expect(2); const count = getHostCount(); await visit(urls.newHost); await fillIn('[name="name"]', 'random string'); @@ -130,7 +125,6 @@ module('Acceptance | host-catalogs | hosts | create', function (hooks) { }); test('saving a new host with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/hosts', () => { return new Response( 400, @@ -163,7 +157,6 @@ module('Acceptance | host-catalogs | hosts | create', function (hooks) { }); test('users cannot directly navigate to new host route without proper authorization', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions.hosts = instances.hostCatalog.authorized_collection_actions.hosts.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/host-catalogs/hosts/delete-test.js b/ui/admin/tests/acceptance/host-catalogs/hosts/delete-test.js index 9b0510a20..bde646c37 100644 --- a/ui/admin/tests/acceptance/host-catalogs/hosts/delete-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/hosts/delete-test.js @@ -78,7 +78,6 @@ module('Acceptance | host-catalogs | hosts | delete', function (hooks) { }); test('can delete host', async function (assert) { - assert.expect(1); const count = getHostCount(); await visit(urls.host); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -86,7 +85,6 @@ module('Acceptance | host-catalogs | hosts | delete', function (hooks) { }); test('cannot delete a host without proper authorization', async function (assert) { - assert.expect(1); instances.host.authorized_actions = instances.host.authorized_actions.filter((item) => item !== 'delete'); await visit(urls.host); @@ -96,7 +94,6 @@ module('Acceptance | host-catalogs | hosts | delete', function (hooks) { }); test('can accept delete host via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(resolve()); @@ -108,7 +105,6 @@ module('Acceptance | host-catalogs | hosts | delete', function (hooks) { }); test('cannot cancel delete host via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(reject()); @@ -120,7 +116,6 @@ module('Acceptance | host-catalogs | hosts | delete', function (hooks) { }); test('deleting a host which errors displays error messages', async function (assert) { - assert.expect(1); this.server.del('/hosts/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/host-catalogs/hosts/list-test.js b/ui/admin/tests/acceptance/host-catalogs/hosts/list-test.js index 9979c69e5..dcf14dde1 100644 --- a/ui/admin/tests/acceptance/host-catalogs/hosts/list-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/hosts/list-test.js @@ -70,7 +70,6 @@ module('Acceptance | host-catalogs | hosts | list', function (hooks) { authenticateSession({}); }); test('Users can navigate to hosts with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.hostCatalog); assert.ok( instances.hostCatalog.authorized_collection_actions.hosts.includes( @@ -81,7 +80,6 @@ module('Acceptance | host-catalogs | hosts | list', function (hooks) { }); test('User cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions.hosts = []; await visit(urls.hostCatalog); assert.notOk( @@ -93,7 +91,6 @@ module('Acceptance | host-catalogs | hosts | list', function (hooks) { }); test('User can navigate to index with only create action', async function (assert) { - assert.expect(2); instances.hostCatalog.authorized_collection_actions.hosts = ['create']; await visit(urls.hostCatalog); assert.ok(find(`[href="${urls.hosts}"]`)); diff --git a/ui/admin/tests/acceptance/host-catalogs/hosts/read-test.js b/ui/admin/tests/acceptance/host-catalogs/hosts/read-test.js index e2aa8f199..1d9a5016f 100644 --- a/ui/admin/tests/acceptance/host-catalogs/hosts/read-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/hosts/read-test.js @@ -72,7 +72,6 @@ module('Acceptance | host-catalogs | hosts | read', function (hooks) { }); test('visiting hosts', async function (assert) { - assert.expect(2); await visit(urls.hosts); await a11yAudit(); assert.strictEqual(currentURL(), urls.hosts); @@ -84,7 +83,6 @@ module('Acceptance | host-catalogs | hosts | read', function (hooks) { }); test('cannot navigate to a host form without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.hostCatalog); instances.host.authorized_actions = instances.host.authorized_actions.filter((item) => item !== 'read'); @@ -95,8 +93,6 @@ module('Acceptance | host-catalogs | hosts | read', function (hooks) { }); test('visiting an unknown host displays 404 message', async function (assert) { - assert.expect(1); - await visit(urls.unknownHost); await a11yAudit(); @@ -104,7 +100,6 @@ module('Acceptance | host-catalogs | hosts | read', function (hooks) { }); test('users can link to docs page for hosts', async function (assert) { - assert.expect(1); await visit(urls.hosts); await click(`[href="${urls.host}"]`); @@ -115,7 +110,6 @@ module('Acceptance | host-catalogs | hosts | read', function (hooks) { }); test('users can navigate to host and incorrect url autocorrects', async function (assert) { - assert.expect(2); const hostCatalog = this.server.create('host-catalog', { scope: instances.scopes.project, type: 'static', diff --git a/ui/admin/tests/acceptance/host-catalogs/hosts/update-test.js b/ui/admin/tests/acceptance/host-catalogs/hosts/update-test.js index 1403d861f..6ec67739d 100644 --- a/ui/admin/tests/acceptance/host-catalogs/hosts/update-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/hosts/update-test.js @@ -73,7 +73,6 @@ module('Acceptance | host-catalogs | hosts | update', function (hooks) { }); test('can save changes to existing host', async function (assert) { - assert.expect(3); assert.notEqual(instances.host.name, 'random string'); await visit(urls.host); await click('form [type="button"]', 'Activate edit mode'); @@ -87,7 +86,6 @@ module('Acceptance | host-catalogs | hosts | update', function (hooks) { }); test('cannot make changes to an existing host without proper authorization', async function (assert) { - assert.expect(1); instances.host.authorized_actions = instances.host.authorized_actions.filter((item) => item !== 'update'); await visit(urls.host); @@ -95,7 +93,6 @@ module('Acceptance | host-catalogs | hosts | update', function (hooks) { }); test('can cancel changes to existing host', async function (assert) { - assert.expect(2); await visit(urls.host); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'random string'); @@ -105,7 +102,6 @@ module('Acceptance | host-catalogs | hosts | update', function (hooks) { }); test('saving an existing host with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/hosts/:id', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/host-catalogs/list-test.js b/ui/admin/tests/acceptance/host-catalogs/list-test.js index 8778aacb1..cd0f18f18 100644 --- a/ui/admin/tests/acceptance/host-catalogs/list-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/list-test.js @@ -58,7 +58,6 @@ module('Acceptance | host-catalogs | list', function (hooks) { }); test('user can navigate to host catalogs with proper authorization', async function (assert) { - assert.expect(3); await visit(urls.orgScope); await click(`[href="${urls.projectScope}"]`); @@ -77,7 +76,6 @@ module('Acceptance | host-catalogs | list', function (hooks) { }); test('user cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(3); instances.scopes.project.authorized_collection_actions['host-catalogs'] = []; await visit(urls.orgScope); @@ -100,7 +98,6 @@ module('Acceptance | host-catalogs | list', function (hooks) { }); test('user can navigate to index with only create action', async function (assert) { - assert.expect(4); instances.scopes.project.authorized_collection_actions['host-catalogs'] = instances.scopes.project.authorized_collection_actions[ 'host-catalogs' @@ -127,7 +124,6 @@ module('Acceptance | host-catalogs | list', function (hooks) { }); test('user can navigate to index with only list action', async function (assert) { - assert.expect(4); instances.scopes.project.authorized_collection_actions['host-catalogs'] = instances.scopes.project.authorized_collection_actions[ 'host-catalogs' diff --git a/ui/admin/tests/acceptance/host-catalogs/read-test.js b/ui/admin/tests/acceptance/host-catalogs/read-test.js index 8240d400a..79f1c66dd 100644 --- a/ui/admin/tests/acceptance/host-catalogs/read-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/read-test.js @@ -62,7 +62,6 @@ module('Acceptance | host-catalogs | read', function (hooks) { }); test('visiting host catalogs', async function (assert) { - assert.expect(2); await visit(urls.hostCatalogs); await a11yAudit(); assert.strictEqual(currentURL(), urls.hostCatalogs); @@ -74,7 +73,6 @@ module('Acceptance | host-catalogs | read', function (hooks) { }); test('cannot navigate to a host catalog form without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.projectScope); instances.hostCatalog.authorized_actions = instances.hostCatalog.authorized_actions.filter( @@ -87,8 +85,6 @@ module('Acceptance | host-catalogs | read', function (hooks) { }); test('visiting an unknown host catalog displays 404 message', async function (assert) { - assert.expect(1); - await visit(urls.unknownHostCatalog); await a11yAudit(); @@ -96,7 +92,6 @@ module('Acceptance | host-catalogs | read', function (hooks) { }); test('users can link to docs page for host catalog', async function (assert) { - assert.expect(1); await visit(urls.projectScope); await click(`[href="${urls.hostCatalogs}"]`); @@ -107,7 +102,6 @@ module('Acceptance | host-catalogs | read', function (hooks) { }); test('users can navigate to host catalog and incorrect url autocorrects', async function (assert) { - assert.expect(2); const projectScope = this.server.create('scope', { type: 'project', scope: { id: instances.scopes.org.id, type: 'org' }, diff --git a/ui/admin/tests/acceptance/host-catalogs/update-test.js b/ui/admin/tests/acceptance/host-catalogs/update-test.js index b27ed0e3c..128a20e5f 100644 --- a/ui/admin/tests/acceptance/host-catalogs/update-test.js +++ b/ui/admin/tests/acceptance/host-catalogs/update-test.js @@ -59,7 +59,6 @@ module('Acceptance | host-catalogs | update', function (hooks) { }); test('can save changes to existing host catalog', async function (assert) { - assert.expect(3); assert.notEqual(instances.hostCatalog.name, 'random string'); await visit(urls.hostCatalog); @@ -75,7 +74,6 @@ module('Acceptance | host-catalogs | update', function (hooks) { }); test('cannot make changes to an existing host catalog without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.hostCatalogs); instances.hostCatalog.authorized_actions = instances.hostCatalog.authorized_actions.filter( @@ -88,7 +86,6 @@ module('Acceptance | host-catalogs | update', function (hooks) { }); test('clicking cancel in edit mode does not save changes', async function (assert) { - assert.expect(2); await visit(urls.hostCatalog); await click('form [type="button"]', 'Activate edit mode'); @@ -100,7 +97,6 @@ module('Acceptance | host-catalogs | update', function (hooks) { }); test('saving an existing host catalog with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/host-catalogs/:id', () => { return new Response( 400, @@ -131,7 +127,6 @@ module('Acceptance | host-catalogs | update', function (hooks) { }); test('can discard unsaved host catalog changes via dialog', async function (assert) { - assert.expect(5); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; assert.notEqual(instances.hostCatalog.name, 'random string'); @@ -152,7 +147,6 @@ module('Acceptance | host-catalogs | update', function (hooks) { }); test('can click cancel on discard dialog box for unsaved host catalog changes', async function (assert) { - assert.expect(5); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; assert.notEqual(instances.hostCatalog.name, 'random string'); diff --git a/ui/admin/tests/acceptance/managed-groups/create-test.js b/ui/admin/tests/acceptance/managed-groups/create-test.js index 5d063a54c..c84a49306 100644 --- a/ui/admin/tests/acceptance/managed-groups/create-test.js +++ b/ui/admin/tests/acceptance/managed-groups/create-test.js @@ -80,7 +80,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('can create a new managed group', async function (assert) { - assert.expect(3); const managedGroupsCount = getManagedGroupCount(); const name = 'Managed group name'; await visit(urls.authMethod); @@ -97,7 +96,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('can create a new ldap managed group', async function (assert) { - assert.expect(4); const managedGroupsCount = getManagedGroupCount(); const name = 'Managed group name'; await visit(urls.ldapAuthMethod); @@ -117,7 +115,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('User cannot create a new managed group without proper authorization', async function (assert) { - assert.expect(2); instances.authMethod.authorized_collection_actions['managed-groups'] = instances.authMethod.authorized_collection_actions[ 'managed-groups' @@ -135,7 +132,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('User cannot create a new ldap managed group without proper authorization', async function (assert) { - assert.expect(2); featuresService.enable('ldap-auth-methods'); instances.ldapAuthMethod.authorized_collection_actions['managed-groups'] = instances.ldapAuthMethod.authorized_collection_actions[ @@ -154,7 +150,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('User can cancel a new managed group creation', async function (assert) { - assert.expect(2); const managedGroupsCount = getManagedGroupCount(); await visit(urls.authMethod); @@ -167,7 +162,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('User can cancel a new ldap managed group creation', async function (assert) { - assert.expect(2); const managedGroupsCount = getManagedGroupCount(); await visit(urls.ldapAuthMethod); @@ -180,7 +174,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('When user saving a new managed group with invalid fields displays error message', async function (assert) { - assert.expect(2); this.server.post('/managed-groups', () => { return new Response( 400, @@ -212,7 +205,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('When user saving a new ldap managed group with invalid fields displays error message', async function (assert) { - assert.expect(2); this.server.post('/managed-groups', () => { return new Response( 400, @@ -244,7 +236,6 @@ module('Acceptance | managed-groups | create', function (hooks) { }); test('Users cannot directly navigate to a new managed group route without proper authorization', async function (assert) { - assert.expect(2); instances.authMethod.authorized_collection_actions['managed-groups'] = instances.authMethod.authorized_collection_actions[ 'managed-groups' diff --git a/ui/admin/tests/acceptance/managed-groups/delete-test.js b/ui/admin/tests/acceptance/managed-groups/delete-test.js index 5370df5a1..33580b461 100644 --- a/ui/admin/tests/acceptance/managed-groups/delete-test.js +++ b/ui/admin/tests/acceptance/managed-groups/delete-test.js @@ -85,7 +85,6 @@ module('Acceptance | managed-groups | delete', function (hooks) { }); test('User can delete a managed group', async function (assert) { - assert.expect(2); const managedGroupsCount = getManagedGroupCount(); await visit(urls.managedGroups); @@ -97,7 +96,6 @@ module('Acceptance | managed-groups | delete', function (hooks) { }); test('User can delete a ldap managed group', async function (assert) { - assert.expect(2); const managedGroupsCount = getManagedGroupCount(); await visit(urls.ldapManagedGroups); @@ -109,7 +107,6 @@ module('Acceptance | managed-groups | delete', function (hooks) { }); test('User cannot delete a managed-group without proper authorization', async function (assert) { - assert.expect(1); instances.managedGroup.authorized_actions = instances.managedGroup.authorized_actions.filter( (item) => item !== 'delete', @@ -122,7 +119,6 @@ module('Acceptance | managed-groups | delete', function (hooks) { }); test('User cannot delete a ldap managed-group without proper authorization', async function (assert) { - assert.expect(1); instances.ldapManagedGroup.authorized_actions = instances.ldapManagedGroup.authorized_actions.filter( (item) => item !== 'delete', @@ -135,7 +131,6 @@ module('Acceptance | managed-groups | delete', function (hooks) { }); test('Errors are displayed when delete on managed group fails', async function (assert) { - assert.expect(2); this.server.del('/managed-groups/:id', () => { return new Response( 490, @@ -158,7 +153,6 @@ module('Acceptance | managed-groups | delete', function (hooks) { }); test('Errors are displayed when delete on ldap managed group fails', async function (assert) { - assert.expect(2); this.server.del('/managed-groups/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/managed-groups/list-test.js b/ui/admin/tests/acceptance/managed-groups/list-test.js index 5b94babf3..e6d7bce17 100644 --- a/ui/admin/tests/acceptance/managed-groups/list-test.js +++ b/ui/admin/tests/acceptance/managed-groups/list-test.js @@ -72,7 +72,6 @@ module('Acceptance | managed-groups | list', function (hooks) { }); test('User can navigate to managed groups with proper authorization', async function (assert) { - assert.expect(3); await visit(urls.authMethods); await click(`[href="${urls.authMethod}"]`); @@ -91,7 +90,6 @@ module('Acceptance | managed-groups | list', function (hooks) { }); test('User can navigate to ldap managed groups with proper authorization', async function (assert) { - assert.expect(3); featuresService.enable('ldap-auth-methods'); await visit(urls.authMethods); @@ -111,7 +109,6 @@ module('Acceptance | managed-groups | list', function (hooks) { }); test('User cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(3); instances.authMethod.authorized_collection_actions['managed-groups'] = []; await visit(urls.authMethods); @@ -131,7 +128,6 @@ module('Acceptance | managed-groups | list', function (hooks) { }); test('User cannot navigate to ldap managed group index without either list or create actions', async function (assert) { - assert.expect(3); featuresService.enable('ldap-auth-methods'); instances.ldapAuthMethod.authorized_collection_actions['managed-groups'] = []; @@ -153,7 +149,6 @@ module('Acceptance | managed-groups | list', function (hooks) { }); test('User can navigate to index with only create action', async function (assert) { - assert.expect(2); instances.authMethod.authorized_collection_actions['managed-groups'] = [ 'create', ]; @@ -166,7 +161,6 @@ module('Acceptance | managed-groups | list', function (hooks) { }); test('User can navigate to ldap managed groups index with only create action', async function (assert) { - assert.expect(2); featuresService.enable('ldap-auth-methods'); instances.authMethod.authorized_collection_actions['managed-groups'] = [ 'create', diff --git a/ui/admin/tests/acceptance/managed-groups/members-test.js b/ui/admin/tests/acceptance/managed-groups/members-test.js index 3453ddeb6..9d6e9966a 100644 --- a/ui/admin/tests/acceptance/managed-groups/members-test.js +++ b/ui/admin/tests/acceptance/managed-groups/members-test.js @@ -64,7 +64,6 @@ module('Acceptance | managed-groups | members', function (hooks) { }); test('User can navigate to index', async function (assert) { - assert.expect(3); const membersCount = instances.managedGroup.memberIds.length; await visit(urls.managedGroupMembers); await a11yAudit(); diff --git a/ui/admin/tests/acceptance/managed-groups/read-test.js b/ui/admin/tests/acceptance/managed-groups/read-test.js index b190769e5..ad651e13f 100644 --- a/ui/admin/tests/acceptance/managed-groups/read-test.js +++ b/ui/admin/tests/acceptance/managed-groups/read-test.js @@ -74,7 +74,6 @@ module('Acceptance | managed-groups | read', function (hooks) { }); test('User can navigate to a managed group form', async function (assert) { - assert.expect(1); await visit(urls.managedGroups); await click(`[href="${urls.managedGroup}"]`); @@ -84,7 +83,6 @@ module('Acceptance | managed-groups | read', function (hooks) { }); test('User can navigate to a ldap managed group form', async function (assert) { - assert.expect(1); await visit(urls.ldapManagedGroups); await click(`[href="${urls.ldapManagedGroup}"]`); @@ -94,7 +92,6 @@ module('Acceptance | managed-groups | read', function (hooks) { }); test('User cannot navigate to a managed group form without proper authorization', async function (assert) { - assert.expect(1); instances.managedGroup.authorized_actions = instances.managedGroup.authorized_actions.filter( (item) => item !== 'read', @@ -107,7 +104,6 @@ module('Acceptance | managed-groups | read', function (hooks) { }); test('User cannot navigate to a ldap managed group form without proper authorization', async function (assert) { - assert.expect(1); instances.ldapManagedGroup.authorized_actions = instances.ldapManagedGroup.authorized_actions.filter( (item) => item !== 'read', @@ -120,7 +116,6 @@ module('Acceptance | managed-groups | read', function (hooks) { }); test('User can navigate to managed group and incorrect url autocorrects', async function (assert) { - assert.expect(2); const authMethod = this.server.create('auth-method', { scope: instances.scopes.org, type: TYPE_AUTH_METHOD_LDAP, diff --git a/ui/admin/tests/acceptance/onboarding/onboarding-test.js b/ui/admin/tests/acceptance/onboarding/onboarding-test.js index 628fe120b..a80137b88 100644 --- a/ui/admin/tests/acceptance/onboarding/onboarding-test.js +++ b/ui/admin/tests/acceptance/onboarding/onboarding-test.js @@ -24,14 +24,12 @@ module('Acceptance | onboarding', function (hooks) { }); test('show targetAddress and targetPort fields', async function (assert) { - assert.expect(2); await visit(urls.onboarding); assert.dom('[name="targetAddress"]').isVisible(); assert.dom('[name="targetPort"]').isVisible(); }); test('redirect user to success when fill targetAddress, targetPort and click Save', async function (assert) { - assert.expect(1); await visit(urls.onboarding); await fillIn('[name="targetAddress"]', '192.168.1.0'); await fillIn('[name="targetPort"]', '22'); @@ -40,7 +38,6 @@ module('Acceptance | onboarding', function (hooks) { }); test('redirect user to orgs screen when click do this later', async function (assert) { - assert.expect(1); await visit(urls.onboarding); await click('.rose-form-actions [type="button"]'); assert.strictEqual(currentURL(), urls.orgs); diff --git a/ui/admin/tests/acceptance/onboarding/success-test.js b/ui/admin/tests/acceptance/onboarding/success-test.js index 27e7309d1..4ac7bbcbd 100644 --- a/ui/admin/tests/acceptance/onboarding/success-test.js +++ b/ui/admin/tests/acceptance/onboarding/success-test.js @@ -25,13 +25,11 @@ module('Acceptance | onboarding | success', function (hooks) { const doneButtonSelector = '[data-test-onboarding-done-button]'; test('check if the done button is present', async function (assert) { - assert.expect(1); await visit(urls.success); assert.dom(doneButtonSelector).isVisible(); }); test('check the controller url is copyable', async function (assert) { - assert.expect(2); const origin = window.location.origin; await visit(urls.success); assert.dom('.copyable-content').isVisible(); @@ -39,7 +37,6 @@ module('Acceptance | onboarding | success', function (hooks) { }); test('fill the onboarding form and redirect user to target detail when done is clicked', async function (assert) { - assert.expect(1); await visit(urls.onboarding); await fillIn('[name="targetAddress"]', '0.0.0.0'); await fillIn('[name="targetPort"]', '22'); diff --git a/ui/admin/tests/acceptance/roles/create-test.js b/ui/admin/tests/acceptance/roles/create-test.js index f0f82b4b9..ab344d1fd 100644 --- a/ui/admin/tests/acceptance/roles/create-test.js +++ b/ui/admin/tests/acceptance/roles/create-test.js @@ -67,7 +67,6 @@ module('Acceptance | roles | create', function (hooks) { }); test('can create new role', async function (assert) { - assert.expect(1); const rolesCount = this.server.db.roles.length; await visit(urls.newRole); await fillIn('[name="name"]', 'role name'); @@ -76,7 +75,6 @@ module('Acceptance | roles | create', function (hooks) { }); test('Users can navigate to new roles route with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.roles); assert.ok( instances.scopes.org.authorized_collection_actions.roles.includes( @@ -87,7 +85,6 @@ module('Acceptance | roles | create', function (hooks) { }); test('Users cannot navigate to new roles route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.org.authorized_collection_actions.roles = []; await visit(urls.roles); assert.notOk( @@ -99,7 +96,6 @@ module('Acceptance | roles | create', function (hooks) { }); test('can cancel new role creation', async function (assert) { - assert.expect(2); const rolesCount = this.server.db.roles.length; await visit(urls.newRole); await fillIn('[name="name"]', 'role name'); @@ -109,7 +105,6 @@ module('Acceptance | roles | create', function (hooks) { }); test('saving a new role with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/roles', () => { return new Response( 400, @@ -138,7 +133,6 @@ module('Acceptance | roles | create', function (hooks) { }); test('users cannot directly navigate to new role route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.org.authorized_collection_actions.roles = instances.scopes.org.authorized_collection_actions.roles.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/roles/delete-test.js b/ui/admin/tests/acceptance/roles/delete-test.js index 63c30a2ea..eb9000505 100644 --- a/ui/admin/tests/acceptance/roles/delete-test.js +++ b/ui/admin/tests/acceptance/roles/delete-test.js @@ -61,7 +61,6 @@ module('Acceptance | roles | delete', function (hooks) { }); test('can delete a role', async function (assert) { - assert.expect(1); const rolesCount = this.server.db.roles.length; await visit(urls.role); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -69,7 +68,6 @@ module('Acceptance | roles | delete', function (hooks) { }); test('cannot delete a role without proper authorization', async function (assert) { - assert.expect(1); instances.role.authorized_actions = instances.role.authorized_actions.filter((item) => item !== 'delete'); await visit(urls.role); @@ -79,7 +77,6 @@ module('Acceptance | roles | delete', function (hooks) { }); test('errors are displayed when delete project fails', async function (assert) { - assert.expect(1); this.server.del('/roles/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/roles/grants-test.js b/ui/admin/tests/acceptance/roles/grants-test.js index d4a344e2e..b3b68ccb8 100644 --- a/ui/admin/tests/acceptance/roles/grants-test.js +++ b/ui/admin/tests/acceptance/roles/grants-test.js @@ -61,7 +61,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('visiting role grants', async function (assert) { - assert.expect(2); await visit(urls.grants); await a11yAudit(); assert.strictEqual(currentURL(), urls.grants); @@ -72,7 +71,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('cannot set grants without proper authorization', async function (assert) { - assert.expect(4); const authorized_actions = instances.role.authorized_actions.filter( (item) => item !== 'set-grants', ); @@ -112,7 +110,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('cancel a grant update', async function (assert) { - assert.expect(1); await visit(urls.grants); await fillIn(`${grantsForm} [name="grant"]`, 'id=123,action=delete'); await click('.rose-form-actions button:not([type="submit"])'); @@ -123,7 +120,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('shows error message on grant update', async function (assert) { - assert.expect(2); this.server.post('/roles/:idMethod', () => { return new Response( 400, @@ -168,7 +164,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('cancel a grant creation', async function (assert) { - assert.expect(1); await visit(urls.grants); await fillIn(`${newGrantForm} [name="grant"]`, 'id=123,action=delete'); await click(`${newGrantForm} [type="submit"]:not(:disabled)`); @@ -177,7 +172,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('shows error message on grant create', async function (assert) { - assert.expect(2); this.server.post('/roles/:idMethod', () => { return new Response( 400, @@ -202,7 +196,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('delete a grant', async function (assert) { - assert.expect(1); await visit(urls.grants); await click(`${grantsForm} button:not([type="submit"])`); await click('.rose-form-actions [type="submit"]:not(:disabled)'); @@ -213,7 +206,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('cancel a grant remove', async function (assert) { - assert.expect(1); await visit(urls.grants); await click(`${grantsForm} button`); await click('.rose-form-actions button:not([type="submit"])'); @@ -224,7 +216,6 @@ module('Acceptance | roles | grants', function (hooks) { }); test('shows error message on grant remove', async function (assert) { - assert.expect(2); this.server.post('/roles/:idMethod', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/roles/list-test.js b/ui/admin/tests/acceptance/roles/list-test.js index 706847e95..90a787315 100644 --- a/ui/admin/tests/acceptance/roles/list-test.js +++ b/ui/admin/tests/acceptance/roles/list-test.js @@ -48,7 +48,6 @@ module('Acceptance | roles | list', function (hooks) { }); test('Users can navigate to roles with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.scopes.org); assert.ok( instances.scopes.org.authorized_collection_actions.roles.includes('list'), @@ -57,7 +56,6 @@ module('Acceptance | roles | list', function (hooks) { }); test('Users cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(2); instances.scopes.org.authorized_collection_actions.roles = []; await visit(urls.scopes.org); assert.notOk( @@ -67,7 +65,6 @@ module('Acceptance | roles | list', function (hooks) { }); test('Users can navigate to index with only create action', async function (assert) { - assert.expect(1); instances.scopes.org.authorized_collection_actions.roles = ['create']; await visit(urls.scopes.org); assert.ok(find(`[href="${urls.roles}"]`)); diff --git a/ui/admin/tests/acceptance/roles/principals-test.js b/ui/admin/tests/acceptance/roles/principals-test.js index 38f4efc1d..28ca815d2 100644 --- a/ui/admin/tests/acceptance/roles/principals-test.js +++ b/ui/admin/tests/acceptance/roles/principals-test.js @@ -60,7 +60,6 @@ module('Acceptance | roles | principals', function (hooks) { }); test('visiting role principals', async function (assert) { - assert.expect(2); await visit(urls.rolePrincipals); await a11yAudit(); assert.strictEqual(currentURL(), urls.rolePrincipals); @@ -68,7 +67,6 @@ module('Acceptance | roles | principals', function (hooks) { }); test('principal can be removed from a role', async function (assert) { - assert.expect(2); await visit(urls.rolePrincipals); assert.strictEqual(findAll('tbody tr').length, principalsCount); await click('.hds-dropdown-toggle-icon'); @@ -77,7 +75,6 @@ module('Acceptance | roles | principals', function (hooks) { }); test('principal cannot be removed from a role without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.role.authorized_actions.filter( (item) => item !== 'remove-principals', ); @@ -87,7 +84,6 @@ module('Acceptance | roles | principals', function (hooks) { }); test('shows error message on principal remove', async function (assert) { - assert.expect(2); this.server.post('/roles/:idMethod', () => { return new Response( 400, @@ -108,7 +104,6 @@ module('Acceptance | roles | principals', function (hooks) { }); test('cannot navigate to add principals without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.role.authorized_actions.filter( (item) => item !== 'add-principals', ); @@ -118,7 +113,6 @@ module('Acceptance | roles | principals', function (hooks) { }); test('select and save principals to add', async function (assert) { - assert.expect(3); instances.role.update({ userIds: [], groupIds: [], managedGroupIds: [] }); await visit(urls.rolePrincipals); assert.strictEqual(findAll('tbody tr').length, 0); @@ -134,7 +128,6 @@ module('Acceptance | roles | principals', function (hooks) { }); test('select and cancel principals to add', async function (assert) { - assert.expect(4); await visit(urls.rolePrincipals); assert.strictEqual(findAll('tbody tr').length, principalsCount); // Remove a principal to populate association view @@ -150,7 +143,6 @@ module('Acceptance | roles | principals', function (hooks) { }); test('shows error message on principal add', async function (assert) { - assert.expect(1); this.server.post('/roles/:idMethod', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/roles/read-test.js b/ui/admin/tests/acceptance/roles/read-test.js index 6dc86da4b..6f9151df6 100644 --- a/ui/admin/tests/acceptance/roles/read-test.js +++ b/ui/admin/tests/acceptance/roles/read-test.js @@ -61,14 +61,12 @@ module('Acceptance | roles | read', function (hooks) { }); test('visiting roles', async function (assert) { - assert.expect(1); await visit(urls.roles); await a11yAudit(); assert.strictEqual(currentURL(), urls.roles); }); test('can navigate to a role form', async function (assert) { - assert.expect(1); await visit(urls.roles); await click('main tbody .hds-table__tr:nth-child(1) a'); await a11yAudit(); @@ -76,7 +74,6 @@ module('Acceptance | roles | read', function (hooks) { }); test('cannot navigate to a role form without proper authorization', async function (assert) { - assert.expect(1); instances.role.authorized_actions = instances.role.authorized_actions.filter((item) => item !== 'read'); await visit(urls.roles); @@ -84,7 +81,6 @@ module('Acceptance | roles | read', function (hooks) { }); test('can navigate to a roles and fetches scopes correctly', async function (assert) { - assert.expect(1); this.server.get('/scopes/:id', ({ scopes }, { params: { id } }) => { const scope = scopes.find(id); const response = scope.type === 'project' ? new Response(400) : scope; @@ -98,7 +94,6 @@ module('Acceptance | roles | read', function (hooks) { }); test('users can navigate to role and incorrect url autocorrects', async function (assert) { - assert.expect(2); const orgScope = this.server.create('scope', { type: 'org', scope: { id: 'global', type: 'global' }, diff --git a/ui/admin/tests/acceptance/roles/update-test.js b/ui/admin/tests/acceptance/roles/update-test.js index f15027749..0b8101fa6 100644 --- a/ui/admin/tests/acceptance/roles/update-test.js +++ b/ui/admin/tests/acceptance/roles/update-test.js @@ -61,7 +61,6 @@ module('Acceptance | roles | update', function (hooks) { }); test('can save changes to an existing role', async function (assert) { - assert.expect(2); await visit(urls.role); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'Updated admin role'); @@ -71,7 +70,6 @@ module('Acceptance | roles | update', function (hooks) { }); test('cannot make changes to an existing role without proper authorization', async function (assert) { - assert.expect(1); instances.role.authorized_actions = instances.role.authorized_actions.filter((item) => item !== 'update'); await visit(urls.role); @@ -79,7 +77,6 @@ module('Acceptance | roles | update', function (hooks) { }); test('can cancel changes to an existing role', async function (assert) { - assert.expect(1); await visit(urls.role); await click('form [type="button"]', 'Activate edit mode'); await fillIn('[name="name"]', 'Updated admin role'); @@ -88,7 +85,6 @@ module('Acceptance | roles | update', function (hooks) { }); test('saving an existing role with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/roles/:id', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/scopes-test.js b/ui/admin/tests/acceptance/scopes-test.js index 0c026094d..fa1395bb3 100644 --- a/ui/admin/tests/acceptance/scopes-test.js +++ b/ui/admin/tests/acceptance/scopes-test.js @@ -80,7 +80,6 @@ module('Acceptance | scopes', function (hooks) { }); test('visiting global scope', async function (assert) { - assert.expect(1); await visit(urls.globalScope); await a11yAudit(); assert.strictEqual(currentURL(), urls.globalScope); @@ -91,7 +90,6 @@ module('Acceptance | scopes', function (hooks) { // In order to resolve this, we might hoist authentication routes up from // under scopes. test('visiting global scope is successful even when the global scope cannot be fetched', async function (assert) { - assert.expect(1); this.server.get('/scopes/:id', ({ scopes }, { params: { id } }) => { const scope = scopes.find(id); const response = id === 'global' ? new Response(404) : scope; @@ -102,7 +100,6 @@ module('Acceptance | scopes', function (hooks) { }); test('visiting org scope', async function (assert) { - assert.expect(1); await visit(urls.orgScope); await a11yAudit(); assert.strictEqual(currentURL(), urls.orgScope); @@ -113,7 +110,6 @@ module('Acceptance | scopes', function (hooks) { // normalization step, the UI doesn't know it's authenticated with global // and thus doesn't display the "Global" item in the org nav dropdown. test('can navigate among org scopes via header navigation', async function (assert) { - assert.expect(3); await visit(urls.globalScope); await a11yAudit(); assert.strictEqual(currentURL(), urls.globalScope); @@ -125,7 +121,6 @@ module('Acceptance | scopes', function (hooks) { }); test('can navigate among project scopes via header navigation', async function (assert) { - assert.expect(2); await visit(urls.projectScope); await a11yAudit(); assert.strictEqual(currentURL(), urls.projectScopeEdit); @@ -136,7 +131,6 @@ module('Acceptance | scopes', function (hooks) { }); test('can create new org scopes', async function (assert) { - assert.expect(1); const orgScopeCount = getScopeCount('org'); await visit(urls.newOrgScope); await fillIn('[name="name"]', 'random string'); @@ -145,7 +139,6 @@ module('Acceptance | scopes', function (hooks) { }); test('can create new project scopes', async function (assert) { - assert.expect(1); const orgScopeCount = getScopeCount('project'); await visit(urls.newProjectScope); await fillIn('[name="name"]', 'random string'); @@ -154,7 +147,6 @@ module('Acceptance | scopes', function (hooks) { }); test('can cancel create new org scopes', async function (assert) { - assert.expect(2); const orgScopeCount = getScopeCount('org'); await visit(urls.newOrgScope); await fillIn('[name="name"]', 'random string'); @@ -164,7 +156,6 @@ module('Acceptance | scopes', function (hooks) { }); test('can cancel create new project scopes', async function (assert) { - assert.expect(2); const projectScopeCount = getScopeCount('project'); await visit(urls.newProjectScope); await fillIn('[name="name"]', 'random string'); @@ -174,7 +165,6 @@ module('Acceptance | scopes', function (hooks) { }); test('saving a new scope with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/scopes', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/scopes/delete-test.js b/ui/admin/tests/acceptance/scopes/delete-test.js index 4924d4c50..aa45843e1 100644 --- a/ui/admin/tests/acceptance/scopes/delete-test.js +++ b/ui/admin/tests/acceptance/scopes/delete-test.js @@ -58,7 +58,6 @@ module('Acceptance | scopes | delete', function (hooks) { }); test('can delete scope', async function (assert) { - assert.expect(1); const orgScopeCount = getScopeCount('org'); await visit(urls.orgScope); @@ -69,7 +68,6 @@ module('Acceptance | scopes | delete', function (hooks) { }); test('cannot delete scope without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.org.update({ authorized_actions: instances.scopes.org.authorized_actions.filter( (item) => item !== 'delete', @@ -86,7 +84,6 @@ module('Acceptance | scopes | delete', function (hooks) { }); test('can accept delete scope via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const orgScopeCount = getScopeCount('org'); @@ -101,7 +98,6 @@ module('Acceptance | scopes | delete', function (hooks) { }); test('can cancel delete scope via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const orgScopeCount = getScopeCount('org'); @@ -116,7 +112,6 @@ module('Acceptance | scopes | delete', function (hooks) { }); test('deleting a scope which errors displays error messages', async function (assert) { - assert.expect(1); await visit(urls.orgScope); this.server.del('/scopes/:id', () => { return new Response( diff --git a/ui/admin/tests/acceptance/scopes/read-test.js b/ui/admin/tests/acceptance/scopes/read-test.js index b1c0751aa..779ca55b3 100644 --- a/ui/admin/tests/acceptance/scopes/read-test.js +++ b/ui/admin/tests/acceptance/scopes/read-test.js @@ -44,7 +44,6 @@ module('Acceptance | scopes | read', function (hooks) { }); test('visiting org scope edit', async function (assert) { - assert.expect(2); await visit(urls.orgScope); await a11yAudit(); @@ -56,7 +55,6 @@ module('Acceptance | scopes | read', function (hooks) { }); test('visiting org scope edit without read permission results in no form displayed', async function (assert) { - assert.expect(2); instances.scopes.org.update({ authorized_actions: instances.scopes.org.authorized_actions.filter( (item) => item !== 'read', diff --git a/ui/admin/tests/acceptance/scopes/update-test.js b/ui/admin/tests/acceptance/scopes/update-test.js index 709c5441d..21c4bb9a1 100644 --- a/ui/admin/tests/acceptance/scopes/update-test.js +++ b/ui/admin/tests/acceptance/scopes/update-test.js @@ -57,7 +57,6 @@ module('Acceptance | scopes | update', function (hooks) { }); test('can save changes to existing scope', async function (assert) { - assert.expect(3); assert.notEqual(instances.scopes.org.name, 'random string'); await visit(urls.orgScope); @@ -74,7 +73,6 @@ module('Acceptance | scopes | update', function (hooks) { }); test('cannot save changes to without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.org.update({ authorized_actions: instances.scopes.org.authorized_actions.filter( (item) => item !== 'update', @@ -89,7 +87,6 @@ module('Acceptance | scopes | update', function (hooks) { }); test('can cancel changes to existing scope', async function (assert) { - assert.expect(2); await visit(urls.orgScope); await click(`[href="${urls.orgScopeEdit}"]`); @@ -102,7 +99,6 @@ module('Acceptance | scopes | update', function (hooks) { }); test('saving an existing scope with invalid fields displays error messages', async function (assert) { - assert.expect(2); await visit(urls.orgScope); this.server.patch('/scopes/:id', () => { return new Response( @@ -134,7 +130,6 @@ module('Acceptance | scopes | update', function (hooks) { }); test('can discard unsaved scope changes via dialog', async function (assert) { - assert.expect(5); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; assert.notEqual(instances.scopes.org.name, 'random string'); @@ -156,7 +151,6 @@ module('Acceptance | scopes | update', function (hooks) { }); test('can click cancel on discard dialog box for unsaved scope changes', async function (assert) { - assert.expect(5); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; assert.notEqual(instances.scopes.org.name, 'random string'); diff --git a/ui/admin/tests/acceptance/session-recordings/list-test.js b/ui/admin/tests/acceptance/session-recordings/list-test.js index dc68d4b65..488072ae7 100644 --- a/ui/admin/tests/acceptance/session-recordings/list-test.js +++ b/ui/admin/tests/acceptance/session-recordings/list-test.js @@ -59,8 +59,6 @@ module('Acceptance | session recordings | list', function (hooks) { }); test('users can navigate to session-recordings with proper authorization', async function (assert) { - assert.expect(4); - await visit(urls.globalScope); assert.true( @@ -77,7 +75,6 @@ module('Acceptance | session recordings | list', function (hooks) { }); test('users cannot navigate to session-recordings without the list action', async function (assert) { - assert.expect(3); instances.scopes.global.authorized_collection_actions[ 'session-recordings' ] = []; diff --git a/ui/admin/tests/acceptance/session-recordings/read-test.js b/ui/admin/tests/acceptance/session-recordings/read-test.js index 772dfe535..dd7b608c8 100644 --- a/ui/admin/tests/acceptance/session-recordings/read-test.js +++ b/ui/admin/tests/acceptance/session-recordings/read-test.js @@ -68,7 +68,6 @@ module('Acceptance | session-recordings | read', function (hooks) { }); test('visiting a session recording', async function (assert) { - assert.expect(1); featuresService.enable('ssh-session-recording'); // Visit session recordings await visit(urls.sessionRecordings); @@ -80,7 +79,6 @@ module('Acceptance | session-recordings | read', function (hooks) { }); test('user can navigate to a session recording with proper authorization', async function (assert) { - assert.expect(3); featuresService.enable('ssh-session-recording'); // Visit session recordings await visit(urls.sessionRecordings); @@ -92,7 +90,6 @@ module('Acceptance | session-recordings | read', function (hooks) { }); test('user cannot navigate to a session recording without the read action', async function (assert) { - assert.expect(1); featuresService.enable('ssh-session-recording'); instances.sessionRecording.authorized_actions = instances.sessionRecording.authorized_actions.filter( @@ -104,7 +101,6 @@ module('Acceptance | session-recordings | read', function (hooks) { }); test('user can navigate to a channel recording', async function (assert) { - assert.expect(2); featuresService.enable('ssh-session-recording'); // Visit session recording await visit(urls.sessionRecording); @@ -115,7 +111,6 @@ module('Acceptance | session-recordings | read', function (hooks) { }); test('users can navigate to session recording and incorrect url autocorrects', async function (assert) { - assert.expect(2); featuresService.enable('ssh-session-recording'); const incorrectUrl = `/scopes/${instances.scopes.org.id}/session-recordings/${instances.sessionRecording.id}/channels-by-connection`; diff --git a/ui/admin/tests/acceptance/session-recordings/session-recording/channels-by-connection/channel-test.js b/ui/admin/tests/acceptance/session-recordings/session-recording/channels-by-connection/channel-test.js index d6e22e8f2..90923c3e3 100644 --- a/ui/admin/tests/acceptance/session-recordings/session-recording/channels-by-connection/channel-test.js +++ b/ui/admin/tests/acceptance/session-recordings/session-recording/channels-by-connection/channel-test.js @@ -64,15 +64,12 @@ module( }); test('user can navigate to a channel', async function (assert) { - assert.expect(1); // Visit channel await visit(urls.channelRecording); assert.strictEqual(currentURL(), urls.channelRecording); }); test('user can view recording with proper authorization', async function (assert) { - assert.expect(1); - // Visit channel await visit(urls.channelRecording); @@ -81,7 +78,6 @@ module( }); test('user cannot view recording without proper authorization: channel mime_types', async function (assert) { - assert.expect(1); instances.channelRecording.mime_types = []; // Visit channel @@ -92,7 +88,6 @@ module( }); test('user cannot view recording without proper authorization: session recording download action', async function (assert) { - assert.expect(1); instances.sessionRecording.authorized_actions = instances.sessionRecording.authorized_actions.filter( (item) => item !== 'download', @@ -106,7 +101,6 @@ module( }); test('user cannot view recording if asciicast download errors out', async function (assert) { - assert.expect(2); this.server.get( `/session-recordings/${instances.channelRecording.id}:download`, () => @@ -132,7 +126,6 @@ module( }); test('user can navigate back to session recording screen', async function (assert) { - assert.expect(1); // Visit channel await visit(urls.channelRecording); // click "Back to channels" link in player header @@ -142,7 +135,6 @@ module( }); test('users can navigate to channel recording and incorrect url autocorrects', async function (assert) { - assert.expect(2); featuresService.enable('ssh-session-recording'); const sessionRecording = this.server.create('session-recording', { scope: instances.scopes.global, diff --git a/ui/admin/tests/acceptance/sessions-test.js b/ui/admin/tests/acceptance/sessions-test.js index 85c2f3014..4f2e8a631 100644 --- a/ui/admin/tests/acceptance/sessions-test.js +++ b/ui/admin/tests/acceptance/sessions-test.js @@ -72,7 +72,6 @@ module('Acceptance | sessions', function (hooks) { }); test('visiting sessions', async function (assert) { - assert.expect(2); await visit(urls.projectScope); await a11yAudit(); @@ -84,7 +83,6 @@ module('Acceptance | sessions', function (hooks) { }); test('users cannot navigate to sessions tab without proper authorization', async function (assert) { - assert.expect(2); await visit(urls.orgScope); await a11yAudit(); instances.scopes.project.authorized_collection_actions.sessions = @@ -106,7 +104,6 @@ module('Acceptance | sessions', function (hooks) { }); test('users can navigate to sessions with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.orgScope); await click(`[href="${urls.projectScope}"]`); @@ -120,7 +117,6 @@ module('Acceptance | sessions', function (hooks) { }); test('visiting sessions without users or targets is OK', async function (assert) { - assert.expect(1); await visit(urls.projectScope); instances.sessions[0].update({ userId: null, @@ -133,7 +129,6 @@ module('Acceptance | sessions', function (hooks) { }); test('cancelling a session', async function (assert) { - assert.expect(1); await visit(urls.projectScope); await click(`[href="${urls.sessions}"]`); @@ -143,7 +138,6 @@ module('Acceptance | sessions', function (hooks) { }); test('cancelling a session with error shows notification', async function (assert) { - assert.expect(1); await visit(urls.projectScope); this.server.post('/sessions/:id_method', () => new Response(400)); @@ -154,7 +148,6 @@ module('Acceptance | sessions', function (hooks) { }); test('users can link to docs page for sessions', async function (assert) { - assert.expect(1); await visit(urls.projectScope); await click(`[href="${urls.sessions}"]`); diff --git a/ui/admin/tests/acceptance/storage-buckets/create-test.js b/ui/admin/tests/acceptance/storage-buckets/create-test.js index 7475101f3..2b22d3e2d 100644 --- a/ui/admin/tests/acceptance/storage-buckets/create-test.js +++ b/ui/admin/tests/acceptance/storage-buckets/create-test.js @@ -62,7 +62,6 @@ module('Acceptance | storage-buckets | create', function (hooks) { }); test('users can create a new storage bucket with global scope', async function (assert) { - assert.expect(7); const storageBucketCount = getStorageBucketCount(); await visit(urls.storageBuckets); @@ -86,7 +85,6 @@ module('Acceptance | storage-buckets | create', function (hooks) { }); test('users can create a new storage bucket with org scope', async function (assert) { - assert.expect(7); const storageBucketCount = getStorageBucketCount(); await visit(urls.storageBuckets); @@ -110,7 +108,6 @@ module('Acceptance | storage-buckets | create', function (hooks) { }); test('users can create a new storage bucket with dynamic credentials', async function (assert) { - assert.expect(4); const storageBucketCount = getStorageBucketCount(); await visit(urls.storageBuckets); @@ -133,7 +130,6 @@ module('Acceptance | storage-buckets | create', function (hooks) { }); test('users can create a new storage bucket with static credentials', async function (assert) { - assert.expect(4); const storageBucketCount = getStorageBucketCount(); await visit(urls.storageBuckets); @@ -158,7 +154,6 @@ module('Acceptance | storage-buckets | create', function (hooks) { }); test('user can cancel new storage bucket creation', async function (assert) { - assert.expect(2); const storageBucketCount = getStorageBucketCount(); await visit(urls.storageBuckets); @@ -171,7 +166,6 @@ module('Acceptance | storage-buckets | create', function (hooks) { }); test('saving a new storage bucket with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/storage-buckets', () => { return new Response( 400, @@ -202,7 +196,6 @@ module('Acceptance | storage-buckets | create', function (hooks) { }); test('users cannot directly navigate to new storage bucket route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.global.authorized_collection_actions['storage-buckets'] = instances.scopes.global.authorized_collection_actions[ 'storage-buckets' diff --git a/ui/admin/tests/acceptance/storage-buckets/delete-test.js b/ui/admin/tests/acceptance/storage-buckets/delete-test.js index 4478291c0..c14fb3c04 100644 --- a/ui/admin/tests/acceptance/storage-buckets/delete-test.js +++ b/ui/admin/tests/acceptance/storage-buckets/delete-test.js @@ -63,7 +63,6 @@ module('Acceptance | storage-buckets | delete', function (hooks) { }); skip('user can delete a storage bucket', async function (assert) { - assert.expect(2); const storageBucketCount = getStorageBucketCount(); await visit(urls.globalScope); @@ -76,7 +75,6 @@ module('Acceptance | storage-buckets | delete', function (hooks) { }); skip('user can accept delete storage bucket via dialog', async function (assert) { - assert.expect(4); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const storageBucketCount = getStorageBucketCount(); @@ -98,7 +96,6 @@ module('Acceptance | storage-buckets | delete', function (hooks) { }); skip('user can cancel delete storage bucket via dialog', async function (assert) { - assert.expect(4); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const storageBucketCount = getStorageBucketCount(); @@ -130,7 +127,6 @@ module('Acceptance | storage-buckets | delete', function (hooks) { }); skip('user cannot delete storage bucket without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.globalScope); instances.storageBucket.authorized_actions = instances.storageBucket.authorized_actions.filter( @@ -144,7 +140,6 @@ module('Acceptance | storage-buckets | delete', function (hooks) { }); skip('deleting a storage bucket which errors displays error messages', async function (assert) { - assert.expect(1); await visit(urls.globalScope); this.server.del('/storage-buckets/:id', () => { return new Response( diff --git a/ui/admin/tests/acceptance/storage-buckets/list-test.js b/ui/admin/tests/acceptance/storage-buckets/list-test.js index 94a12d403..94ed7563d 100644 --- a/ui/admin/tests/acceptance/storage-buckets/list-test.js +++ b/ui/admin/tests/acceptance/storage-buckets/list-test.js @@ -52,7 +52,6 @@ module('Acceptance | storage-buckets | list', function (hooks) { }); test('users can navigate to storage-buckets with proper authorization', async function (assert) { - assert.expect(5); featuresService.enable('ssh-session-recording'); await visit(urls.globalScope); @@ -78,7 +77,6 @@ module('Acceptance | storage-buckets | list', function (hooks) { }); test('user cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(5); featuresService.enable('byow'); featuresService.enable('ssh-session-recording'); @@ -113,7 +111,6 @@ module('Acceptance | storage-buckets | list', function (hooks) { }); test('user can navigate to index with only create action', async function (assert) { - assert.expect(5); featuresService.enable('ssh-session-recording'); instances.scopes.global.authorized_collection_actions['storage-buckets'] = @@ -147,7 +144,6 @@ module('Acceptance | storage-buckets | list', function (hooks) { }); test('user can navigate to index with only list action', async function (assert) { - assert.expect(5); featuresService.enable('ssh-session-recording'); instances.scopes.global.authorized_collection_actions['storage-buckets'] = @@ -179,7 +175,6 @@ module('Acceptance | storage-buckets | list', function (hooks) { }); test('user cannot navigate to index when feature is disabled', async function (assert) { - assert.expect(2); featuresService.enable('byow'); await visit(urls.globalScope); assert.false(featuresService.isEnabled('ssh-session-recording')); @@ -189,7 +184,6 @@ module('Acceptance | storage-buckets | list', function (hooks) { }); test('edit action in table directs user to appropriate page', async function (assert) { - assert.expect(3); featuresService.enable('ssh-session-recording'); await visit(urls.globalScope); instances.storageBucket = this.server.create('storage-bucket', { diff --git a/ui/admin/tests/acceptance/storage-buckets/read-test.js b/ui/admin/tests/acceptance/storage-buckets/read-test.js index 825663858..fdaa18ae5 100644 --- a/ui/admin/tests/acceptance/storage-buckets/read-test.js +++ b/ui/admin/tests/acceptance/storage-buckets/read-test.js @@ -54,7 +54,6 @@ module('Acceptance | storage-buckets | read', function (hooks) { }); test('visiting a storage bucket', async function (assert) { - assert.expect(1); await visit(urls.globalScope); await a11yAudit(); @@ -67,7 +66,6 @@ module('Acceptance | storage-buckets | read', function (hooks) { }); test('cannot navigate to a storage bucket without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.globalScope); instances.storageBucket.authorized_actions = instances.storageBucket.authorized_actions.filter( @@ -80,8 +78,6 @@ module('Acceptance | storage-buckets | read', function (hooks) { }); test('visiting an unknown storage bucket displays 404 message', async function (assert) { - assert.expect(1); - await visit(urls.unknownStorageBucket); await a11yAudit(); @@ -89,7 +85,6 @@ module('Acceptance | storage-buckets | read', function (hooks) { }); test('users can navigate to storage bucket and incorrect url autocorrects', async function (assert) { - assert.expect(2); const incorrectUrl = `/scopes/${instances.scopes.org.id}/storage-buckets/${instances.storageBucket.id}`; await visit(incorrectUrl); diff --git a/ui/admin/tests/acceptance/storage-buckets/update-test.js b/ui/admin/tests/acceptance/storage-buckets/update-test.js index a045eb134..c4b7089a0 100644 --- a/ui/admin/tests/acceptance/storage-buckets/update-test.js +++ b/ui/admin/tests/acceptance/storage-buckets/update-test.js @@ -64,7 +64,6 @@ module('Acceptance | storage-buckets | update', function (hooks) { }); test('can save changes to an existing storage-bucket', async function (assert) { - assert.expect(3); await visit(urls.storageBuckets); await click(`[href="${urls.storageBucket}"]`); @@ -78,7 +77,6 @@ module('Acceptance | storage-buckets | update', function (hooks) { }); test('can cancel changes to an existing storage-bucket', async function (assert) { - assert.expect(2); const name = instances.storageBucket.name; await visit(urls.storageBuckets); @@ -92,7 +90,6 @@ module('Acceptance | storage-buckets | update', function (hooks) { }); test('can save changes to access key fields', async function (assert) { - assert.expect(8); await visit(urls.storageBuckets); await click(`[href="${urls.storageBucket}"]`); @@ -124,7 +121,6 @@ module('Acceptance | storage-buckets | update', function (hooks) { }); test('can cancel changes to access key fields', async function (assert) { - assert.expect(3); await visit(urls.storageBuckets); await click(`[href="${urls.storageBucket}"]`); @@ -149,7 +145,6 @@ module('Acceptance | storage-buckets | update', function (hooks) { }); test('saving an existing storage-bucket with invalid fields will display error messages', async function (assert) { - assert.expect(2); await visit(urls.storageBuckets); this.server.patch('/storage-buckets/:id', () => { return new Response( @@ -181,7 +176,6 @@ module('Acceptance | storage-buckets | update', function (hooks) { }); test('user cannot edit bucket name and bucket prefix fields in a storage bucket form', async function (assert) { - assert.expect(6); await visit(urls.storageBuckets); await click(`[href="${urls.storageBucket}"]`); diff --git a/ui/admin/tests/acceptance/targets/brokered-credential-sources-test.js b/ui/admin/tests/acceptance/targets/brokered-credential-sources-test.js index 42f263b25..6f8c260e2 100644 --- a/ui/admin/tests/acceptance/targets/brokered-credential-sources-test.js +++ b/ui/admin/tests/acceptance/targets/brokered-credential-sources-test.js @@ -121,7 +121,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('visiting target brokered credential sources', async function (assert) { - assert.expect(2); await visit(urls.brokeredCredentialSources); await a11yAudit(); assert.strictEqual(currentURL(), urls.brokeredCredentialSources); @@ -129,7 +128,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can navigate to a vault type credential library', async function (assert) { - assert.expect(1); await visit(urls.brokeredCredentialSources); await click('main tbody tr .hds-table__td:nth-child(1) a'); await a11yAudit(); @@ -137,7 +135,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can navigate to a username & password type credential', async function (assert) { - assert.expect(1); instances.target.update({ brokeredCredentialSourceIds: [...randomlySelectedCredentials], }); @@ -148,7 +145,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('cannot navigate to a json type credential when feature is disabled', async function (assert) { - assert.expect(3); const jsonCredential = instances.credentials[2]; instances.target.update({ brokeredCredentialSourceIds: [...randomlySelectedCredentials], @@ -160,14 +156,12 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('visiting add brokered credential sources', async function (assert) { - assert.expect(1); await visit(urls.addBrokeredCredentialSources); await a11yAudit(); assert.strictEqual(currentURL(), urls.addBrokeredCredentialSources); }); test('displays list of all brokered credential source types available', async function (assert) { - assert.expect(2); instances.target.update({ brokeredCredentialSourceIds: [], }); @@ -177,7 +171,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('displays list of brokered credential sources with only credential libraries available', async function (assert) { - assert.expect(2); instances.target.update({ brokeredCredentialSourceIds: [...randomlySelectedCredentials], }); @@ -187,7 +180,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('displays no brokered credential sources message when none available', async function (assert) { - assert.expect(1); await visit(urls.addBrokeredCredentialSources); assert.strictEqual( find('.rose-message-title').textContent.trim(), @@ -196,7 +188,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('when no brokered credential sources available, button routes to add brokered credential sources', async function (assert) { - assert.expect(1); instances.target.update({ brokeredCredentialSourceIds: [], }); @@ -207,7 +198,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can select and save a vault type credential library to add', async function (assert) { - assert.expect(4); instances.target.update({ brokeredCredentialSourceIds: [], }); @@ -222,7 +212,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can select and save a username & password type credential to add', async function (assert) { - assert.expect(4); instances.target.update({ brokeredCredentialSourceIds: [], }); @@ -237,7 +226,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can select and save both a credential-library and a credential to add', async function (assert) { - assert.expect(4); instances.target.update({ brokeredCredentialSourceIds: [], }); @@ -253,7 +241,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('cannot add credential sources without proper authorization', async function (assert) { - assert.expect(1); instances.target.authorized_actions = instances.target.authorized_actions.filter( (item) => item !== 'add-credential-sources', @@ -263,7 +250,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can select and cancel credential sources to add', async function (assert) { - assert.expect(4); instances.target.update({ brokeredCredentialSourceIds: [], }); @@ -278,7 +264,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can select multiple brokered credential sources to add and cancel', async function (assert) { - assert.expect(4); instances.target.update({ brokeredCredentialSourceIds: [], }); @@ -294,7 +279,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('adding credential sources which errors displays error message', async function (assert) { - assert.expect(1); this.server.post('/targets/:idMethod', () => { return new Response( 400, @@ -318,7 +302,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can remove a vault type credential library', async function (assert) { - assert.expect(3); instances.target.update({ brokeredCredentialSourceIds: [...randomlySelectedCredentialLibraries], }); @@ -337,7 +320,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('can remove a username & password type credential', async function (assert) { - assert.expect(3); instances.target.update({ brokeredCredentialSourceIds: [...randomlySelectedCredentials], }); @@ -356,7 +338,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('cannot remove credential libraries without proper authorization', async function (assert) { - assert.expect(1); instances.target.authorized_actions = instances.target.authorized_actions.filter( (item) => item !== 'remove-credential-sources', @@ -366,7 +347,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('removing a target credential library which errors displays error messages', async function (assert) { - assert.expect(2); instances.target.update({ brokeredCredentialSourceIds: [...randomlySelectedCredentialLibraries], }); @@ -391,7 +371,6 @@ module('Acceptance | targets | brokered credential sources', function (hooks) { }); test('removing a target credential which errors displays error messages', async function (assert) { - assert.expect(2); instances.target.update({ brokeredCredentialSourceIds: [...randomlySelectedCredentials], }); diff --git a/ui/admin/tests/acceptance/targets/create-test.js b/ui/admin/tests/acceptance/targets/create-test.js index 9bad02aed..8bc455357 100644 --- a/ui/admin/tests/acceptance/targets/create-test.js +++ b/ui/admin/tests/acceptance/targets/create-test.js @@ -84,14 +84,12 @@ module('Acceptance | targets | create', function (hooks) { }); test('defaults to type `ssh` when no query param provided', async function (assert) { - assert.expect(1); featuresService.enable('ssh-target'); await visit(urls.newTarget); assert.strictEqual(find('[name="type"]:checked').value, TYPE_TARGET_SSH); }); test('can create type `ssh` when `target-worker-filters-v2` is disabled', async function (assert) { - assert.expect(5); featuresService.enable('ssh-target'); assert.false(featuresService.isEnabled('target-worker-filters-v2')); @@ -120,7 +118,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('can create type `ssh` when `target-worker-filters-v2` is enabled', async function (assert) { - assert.expect(4); featuresService.enable('ssh-target'); featuresService.enable('target-worker-filters-v2'); @@ -152,7 +149,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('can create type `tcp` when `target-worker-filters-v2` is disabled', async function (assert) { - assert.expect(5); featuresService.enable('ssh-target'); assert.false(featuresService.isEnabled('target-worker-filters-v2')); @@ -181,7 +177,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('can create type `tcp` when `target-worker-filters-v2` is enabled', async function (assert) { - assert.expect(4); featuresService.enable('ssh-target'); featuresService.enable('target-worker-filters-v2'); @@ -214,7 +209,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('can create type `tcp` when `target-worker-filters-v2` and `target-worker-filters-v2-ingress` is enabled', async function (assert) { - assert.expect(4); featuresService.enable('ssh-target'); featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); @@ -251,14 +245,12 @@ module('Acceptance | targets | create', function (hooks) { }); test('default port is not marked required for SSH targets', async function (assert) { - assert.expect(1); featuresService.enable('ssh-target'); await visit(urls.newTarget); assert.dom('[data-test-default-port-label]').includesText('Optional'); }); test('default port is marked required for TCP targets', async function (assert) { - assert.expect(1); featuresService.enable('ssh-target'); await visit(urls.newTarget); await click('[value="tcp"]'); @@ -266,7 +258,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('can navigate to new targets route with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.projectScope); await click(`[href="${urls.targets}"]`); @@ -280,7 +271,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('cannot navigate to new targets route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.project.authorized_collection_actions.targets = instances.scopes.project.authorized_collection_actions.targets.filter( (item) => item !== 'create', @@ -298,7 +288,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('cannot navigate to new SSH targets route when ssh feature is disabled', async function (assert) { - assert.expect(4); await visit(urls.targets); await click(`[href="${urls.newTarget}"]`); @@ -313,7 +302,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('can cancel create new TCP target', async function (assert) { - assert.expect(3); featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); @@ -336,7 +324,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('can cancel create new SSH target', async function (assert) { - assert.expect(3); featuresService.enable('ssh-target'); featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); @@ -360,7 +347,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('saving a new TCP target with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/targets', () => { return new Response( 400, @@ -389,7 +375,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('saving a new SSH target with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/targets', () => { return new Response( 400, @@ -417,7 +402,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('can save address', async function (assert) { - assert.expect(2); featuresService.enable('target-network-address'); const targetCount = getTargetCount(); @@ -437,7 +421,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('address field does not exist when target network address feature is disabled', async function (assert) { - assert.expect(2); await visit(urls.targets); await click(`[href="${urls.newTarget}"]`); assert.false(featuresService.isEnabled('target-network-address')); @@ -445,7 +428,6 @@ module('Acceptance | targets | create', function (hooks) { }); test('users cannot directly navigate to new storage bucket route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.project.authorized_collection_actions.targets = instances.scopes.project.authorized_collection_actions.targets.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/targets/delete-test.js b/ui/admin/tests/acceptance/targets/delete-test.js index 13e523668..8ea91d42c 100644 --- a/ui/admin/tests/acceptance/targets/delete-test.js +++ b/ui/admin/tests/acceptance/targets/delete-test.js @@ -63,7 +63,6 @@ module('Acceptance | targets | delete', function (hooks) { }); test('can delete target', async function (assert) { - assert.expect(1); const targetCount = getTargetCount(); await visit(urls.targets); @@ -74,7 +73,6 @@ module('Acceptance | targets | delete', function (hooks) { }); test('can accept delete target via dialog', async function (assert) { - assert.expect(3); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const targetCount = getTargetCount(); @@ -90,7 +88,6 @@ module('Acceptance | targets | delete', function (hooks) { }); test('cannot cancel delete target via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const targetCount = getTargetCount(); @@ -105,7 +102,6 @@ module('Acceptance | targets | delete', function (hooks) { }); test('cannot delete target without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.targets); instances.target.authorized_actions = instances.target.authorized_actions.filter((item) => item !== 'delete'); @@ -118,7 +114,6 @@ module('Acceptance | targets | delete', function (hooks) { }); test('deleting a target which errors displays error messages', async function (assert) { - assert.expect(1); await visit(urls.targets); this.server.del('/targets/:id', () => { return new Response( diff --git a/ui/admin/tests/acceptance/targets/enable-session-recording-test.js b/ui/admin/tests/acceptance/targets/enable-session-recording-test.js index ec506aeec..bc21c8d87 100644 --- a/ui/admin/tests/acceptance/targets/enable-session-recording-test.js +++ b/ui/admin/tests/acceptance/targets/enable-session-recording-test.js @@ -93,7 +93,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { }); test('cannot enable session recording for a target without proper authorization', async function (assert) { - assert.expect(2); assert.false(featuresService.isEnabled('ssh-session-recording')); await visit(urls.target); await a11yAudit(); @@ -102,7 +101,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('users can click on enable-recording button in target session-recording sidebar and it takes them to enable session recording', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(2); await visit(urls.target); assert.dom(SETTINGS_LINK_SELECTOR).doesNotExist(); await click(ENABLE_BUTTON_SELECTOR); @@ -111,7 +109,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('users can click on settings link in target session-recording sidebar and it takes them to enable session recording', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(1); instances.target.update({ storageBucketId: storageBucketOne.id, enableSessionRecording: true, @@ -123,7 +120,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('users can click on associated storage bucket card on an ssh target', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(1); instances.target.update({ storageBucketId: storageBucketOne.id, enableSessionRecording: true, @@ -135,7 +131,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('toggle should be disabled and storage buckets list should be shown when enable session recording button is clicked', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(3); await visit(urls.target); await click(ENABLE_BUTTON_SELECTOR); assert.strictEqual(currentURL(), urls.enableSessionRecording); @@ -145,7 +140,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('storage buckets list is hidden when toggle is disabled', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(4); await visit(urls.target); await click(ENABLE_BUTTON_SELECTOR); assert.strictEqual(currentURL(), urls.enableSessionRecording); @@ -157,7 +151,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('link to add new storage bucket should be displayed and redirect to new storage buckets form', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(3); await visit(urls.target); await click(ENABLE_BUTTON_SELECTOR); assert.strictEqual(currentURL(), urls.enableSessionRecording); @@ -168,7 +161,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('retain last selected dropdown list value when the toggle is off', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(3); instances.target.update({ storageBucketId: storageBucketOne.id, enable_session_recording: true, @@ -191,7 +183,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('can assign a storage bucket for the target', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(5); await visit(urls.target); await click(ENABLE_BUTTON_SELECTOR); @@ -212,7 +203,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('can cancel changes to an existing storage bucket selection', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(3); instances.target.update({ storageBucketId: storageBucketOne.id, enable_session_recording: true, diff --git a/ui/admin/tests/acceptance/targets/enable-session-recording/create-storage-bucket-test.js b/ui/admin/tests/acceptance/targets/enable-session-recording/create-storage-bucket-test.js index 98fecaaee..0c7a8ea5c 100644 --- a/ui/admin/tests/acceptance/targets/enable-session-recording/create-storage-bucket-test.js +++ b/ui/admin/tests/acceptance/targets/enable-session-recording/create-storage-bucket-test.js @@ -77,7 +77,6 @@ module( }); test('users can create a new storage bucket with global scope', async function (assert) { - assert.expect(7); const storageBucketCount = getStorageBucketCount(); await visit(urls.enableSessionRecording); @@ -101,7 +100,6 @@ module( }); test('users can create a new storage bucket with org scope', async function (assert) { - assert.expect(7); const storageBucketCount = getStorageBucketCount(); await visit(urls.enableSessionRecording); @@ -125,7 +123,6 @@ module( }); test('user can cancel new storage bucket creation', async function (assert) { - assert.expect(2); const storageBucketCount = getStorageBucketCount(); await visit(urls.enableSessionRecording); @@ -138,7 +135,6 @@ module( }); test('saving a new storage bucket with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.post('/storage-buckets', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/targets/enable-session-recording/index-test.js b/ui/admin/tests/acceptance/targets/enable-session-recording/index-test.js index ec506aeec..bc21c8d87 100644 --- a/ui/admin/tests/acceptance/targets/enable-session-recording/index-test.js +++ b/ui/admin/tests/acceptance/targets/enable-session-recording/index-test.js @@ -93,7 +93,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { }); test('cannot enable session recording for a target without proper authorization', async function (assert) { - assert.expect(2); assert.false(featuresService.isEnabled('ssh-session-recording')); await visit(urls.target); await a11yAudit(); @@ -102,7 +101,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('users can click on enable-recording button in target session-recording sidebar and it takes them to enable session recording', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(2); await visit(urls.target); assert.dom(SETTINGS_LINK_SELECTOR).doesNotExist(); await click(ENABLE_BUTTON_SELECTOR); @@ -111,7 +109,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('users can click on settings link in target session-recording sidebar and it takes them to enable session recording', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(1); instances.target.update({ storageBucketId: storageBucketOne.id, enableSessionRecording: true, @@ -123,7 +120,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('users can click on associated storage bucket card on an ssh target', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(1); instances.target.update({ storageBucketId: storageBucketOne.id, enableSessionRecording: true, @@ -135,7 +131,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('toggle should be disabled and storage buckets list should be shown when enable session recording button is clicked', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(3); await visit(urls.target); await click(ENABLE_BUTTON_SELECTOR); assert.strictEqual(currentURL(), urls.enableSessionRecording); @@ -145,7 +140,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('storage buckets list is hidden when toggle is disabled', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(4); await visit(urls.target); await click(ENABLE_BUTTON_SELECTOR); assert.strictEqual(currentURL(), urls.enableSessionRecording); @@ -157,7 +151,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('link to add new storage bucket should be displayed and redirect to new storage buckets form', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(3); await visit(urls.target); await click(ENABLE_BUTTON_SELECTOR); assert.strictEqual(currentURL(), urls.enableSessionRecording); @@ -168,7 +161,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('retain last selected dropdown list value when the toggle is off', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(3); instances.target.update({ storageBucketId: storageBucketOne.id, enable_session_recording: true, @@ -191,7 +183,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('can assign a storage bucket for the target', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(5); await visit(urls.target); await click(ENABLE_BUTTON_SELECTOR); @@ -212,7 +203,6 @@ module('Acceptance | targets | enable session recording', function (hooks) { test('can cancel changes to an existing storage bucket selection', async function (assert) { featuresService.enable('ssh-session-recording'); - assert.expect(3); instances.target.update({ storageBucketId: storageBucketOne.id, enable_session_recording: true, diff --git a/ui/admin/tests/acceptance/targets/host-sources-test.js b/ui/admin/tests/acceptance/targets/host-sources-test.js index 1da2bf230..c9d93ff59 100644 --- a/ui/admin/tests/acceptance/targets/host-sources-test.js +++ b/ui/admin/tests/acceptance/targets/host-sources-test.js @@ -89,7 +89,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('visiting target host sources', async function (assert) { - assert.expect(2); const targetHostSetCount = getTargetHostSetCount(); await visit(urls.target); @@ -101,7 +100,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('can navigate to a known host set type', async function (assert) { - assert.expect(1); await visit(urls.targetHostSources); await click(`[href="${urls.hostSet}"]`); @@ -111,7 +109,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('cannot navigate to an unknown host set type', async function (assert) { - assert.expect(1); instances.target.update({ hostSets: instances.hostCatalogPlugin.hostSets, }); @@ -123,7 +120,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('can remove a host set', async function (assert) { - assert.expect(2); const targetHostSetCount = getTargetHostSetCount(); await visit(urls.target); @@ -136,7 +132,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('cannot remove a host set without proper authorization', async function (assert) { - assert.expect(1); instances.target.authorized_actions = instances.target.authorized_actions.filter( (item) => item !== 'remove-host-sources', @@ -149,7 +144,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('removing a target host set which errors displays error messages', async function (assert) { - assert.expect(2); this.server.post('/targets/:idMethod', () => { return new Response( 400, @@ -174,7 +168,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('select and save host sets to add', async function (assert) { - assert.expect(4); instances.target.update({ hostSetIds: [] }); await visit(urls.target); const targetHostSetCount = getTargetHostSetCount(); @@ -196,7 +189,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('cannot add host sources without proper authorization', async function (assert) { - assert.expect(1); instances.target.authorized_actions = instances.target.authorized_actions.filter( (item) => item !== 'add-host-sources', @@ -211,7 +203,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('select and cancel host sets to add', async function (assert) { - assert.expect(6); const targetHostSetCount = getTargetHostSetCount(); await visit(urls.target); @@ -234,7 +225,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('adding a target host set which errors displays error messages', async function (assert) { - assert.expect(4); this.server.post('/targets/:idMethod', () => { return new Response( 400, @@ -262,7 +252,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('saving host source with address brings up confirmation modal and removes address', async function (assert) { - assert.expect(4); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const target = this.server.create('target', { @@ -298,7 +287,6 @@ module('Acceptance | targets | host-sources', function (hooks) { }); test('saving host source with address brings up confirmation modal and can cancel', async function (assert) { - assert.expect(4); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const target = this.server.create('target', { diff --git a/ui/admin/tests/acceptance/targets/injected-application-credential-sources-test.js b/ui/admin/tests/acceptance/targets/injected-application-credential-sources-test.js index 205d330bd..4587eba54 100644 --- a/ui/admin/tests/acceptance/targets/injected-application-credential-sources-test.js +++ b/ui/admin/tests/acceptance/targets/injected-application-credential-sources-test.js @@ -120,7 +120,6 @@ module( }); test('visiting target injected application credential sources', async function (assert) { - assert.expect(2); await visit(urls.injectedApplicationCredentialSources); await a11yAudit(); assert.strictEqual( @@ -131,7 +130,6 @@ module( }); test('can navigate to a vault type credential library', async function (assert) { - assert.expect(1); await visit(urls.injectedApplicationCredentialSources); await click('main tbody tr .hds-table__td:nth-child(1) a'); await a11yAudit(); @@ -139,7 +137,6 @@ module( }); test('can navigate to a username & password type credential', async function (assert) { - assert.expect(1); instances.target.update({ injectedApplicationCredentialSourceIds: [ ...randomlySelectedCredentials, @@ -152,7 +149,6 @@ module( }); test('visiting add injected application credential sources', async function (assert) { - assert.expect(1); await visit(urls.addInjectedApplicationCredentialSources); await a11yAudit(); assert.strictEqual( @@ -162,7 +158,6 @@ module( }); test('displays list of all injected application credential source types available', async function (assert) { - assert.expect(2); instances.target.update({ injectedApplicationCredentialSourceIds: [], }); @@ -172,7 +167,6 @@ module( }); test('displays list of injected application credential sources with only credential libraries available', async function (assert) { - assert.expect(2); instances.target.update({ injectedApplicationCredentialSourceIds: [ ...randomlySelectedCredentialLibraries, @@ -187,7 +181,6 @@ module( }); test('displays no injected application credential sources message when none available', async function (assert) { - assert.expect(1); await visit(urls.addInjectedApplicationCredentialSources); assert.strictEqual( find('.rose-message-title').textContent.trim(), @@ -196,7 +189,6 @@ module( }); test('when no injected application credential sources available, button routes to add injected application credential sources', async function (assert) { - assert.expect(1); instances.target.update({ injectedApplicationCredentialSourceIds: [], }); @@ -210,7 +202,6 @@ module( }); test('can select and save a vault type credential library to add', async function (assert) { - assert.expect(4); instances.target.update({ injectedApplicationCredentialSourceIds: [], }); @@ -228,7 +219,6 @@ module( }); test('can select and save a username & password type credential to add', async function (assert) { - assert.expect(4); instances.target.update({ injectedApplicationCredentialSourceIds: [], }); @@ -246,7 +236,6 @@ module( }); test('can select and save both a credential-library and a credential to add', async function (assert) { - assert.expect(4); instances.target.update({ injectedApplicationCredentialSourceIds: [], }); @@ -276,7 +265,6 @@ module( }); test('can select and cancel credential sources to add', async function (assert) { - assert.expect(4); instances.target.update({ injectedApplicationCredentialSourceIds: [], }); @@ -294,7 +282,6 @@ module( }); test('can select multiple injected application credential sources to add and cancel', async function (assert) { - assert.expect(4); instances.target.update({ injectedApplicationCredentialSourceIds: [], }); @@ -313,7 +300,6 @@ module( }); test('adding credential sources which errors displays error message', async function (assert) { - assert.expect(1); this.server.post('/targets/:idMethod', () => { return new Response( 400, @@ -337,7 +323,6 @@ module( }); test('can remove a vault type credential library', async function (assert) { - assert.expect(3); instances.target.update({ injectedApplicationCredentialSourceIds: [ ...randomlySelectedCredentialLibraries, @@ -360,7 +345,6 @@ module( }); test('can remove a username & password type credential', async function (assert) { - assert.expect(3); instances.target.update({ injectedApplicationCredentialSourceIds: [ ...randomlySelectedCredentials, @@ -377,7 +361,6 @@ module( }); test('cannot remove credential libraries without proper authorization', async function (assert) { - assert.expect(1); instances.target.authorized_actions = instances.target.authorized_actions.filter( (item) => item !== 'remove-credential-sources', @@ -387,7 +370,6 @@ module( }); test('removing a target credential library which errors displays error messages', async function (assert) { - assert.expect(2); instances.target.update({ injectedApplicationCredentialSourceIds: [ ...randomlySelectedCredentialLibraries, @@ -414,7 +396,6 @@ module( }); test('removing a target credential which errors displays error messages', async function (assert) { - assert.expect(2); instances.target.update({ injectedApplicationCredentialSourceIds: [ ...randomlySelectedCredentials, diff --git a/ui/admin/tests/acceptance/targets/list-test.js b/ui/admin/tests/acceptance/targets/list-test.js index 38a73b446..d0b56cbf7 100644 --- a/ui/admin/tests/acceptance/targets/list-test.js +++ b/ui/admin/tests/acceptance/targets/list-test.js @@ -53,7 +53,6 @@ module('Acceptance | targets | list', function (hooks) { }); test('can navigate to targets with proper authorization', async function (assert) { - assert.expect(3); await visit(urls.orgScope); await click(`[href="${urls.projectScope}"]`); @@ -72,7 +71,6 @@ module('Acceptance | targets | list', function (hooks) { }); test('user cannot navigate to index without either list or create actions', async function (assert) { - assert.expect(3); instances.scopes.project.authorized_collection_actions.targets = []; await visit(urls.orgScope); @@ -94,7 +92,6 @@ module('Acceptance | targets | list', function (hooks) { }); test('user can navigate to index with only create action', async function (assert) { - assert.expect(3); instances.scopes.project.authorized_collection_actions.targets = instances.scopes.project.authorized_collection_actions.targets.filter( (item) => item !== 'list', @@ -117,7 +114,6 @@ module('Acceptance | targets | list', function (hooks) { }); test('user can navigate to index with only list action', async function (assert) { - assert.expect(3); instances.scopes.project.authorized_collection_actions.targets = instances.scopes.project.authorized_collection_actions.targets.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/targets/read-test.js b/ui/admin/tests/acceptance/targets/read-test.js index a3075ce8d..4931c91ad 100644 --- a/ui/admin/tests/acceptance/targets/read-test.js +++ b/ui/admin/tests/acceptance/targets/read-test.js @@ -74,7 +74,6 @@ module('Acceptance | targets | read', function (hooks) { }); test('visiting ssh target', async function (assert) { - assert.expect(2); featuresService.enable('ssh-target'); await visit(urls.targets); @@ -88,7 +87,6 @@ module('Acceptance | targets | read', function (hooks) { }); test('visiting tcp target', async function (assert) { - assert.expect(2); await visit(urls.targets); assert.strictEqual(currentURL(), urls.targets); @@ -100,7 +98,6 @@ module('Acceptance | targets | read', function (hooks) { test('visiting an ssh target shows the worker_filter deprecation message when worker_filter has value and "target-worker-filters-v2" is enabled', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(1); instances.sshTarget.worker_filter = 'worker filter present'; await visit(urls.sshTarget); @@ -109,7 +106,6 @@ module('Acceptance | targets | read', function (hooks) { test('visiting a tcp target shows the worker_filter deprecation message when worker_filter has value and "target-worker-filters-v2" is enabled', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(1); instances.tcpTarget.worker_filter = 'worker filter present'; await visit(urls.tcpTarget); @@ -118,7 +114,6 @@ module('Acceptance | targets | read', function (hooks) { test('visiting an ssh target does not show the worker_filter deprecation message when worker_filter has no value and "target-worker-filters-v2" is enabled', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(1); instances.sshTarget.worker_filter = null; await visit(urls.sshTarget); @@ -127,7 +122,6 @@ module('Acceptance | targets | read', function (hooks) { test('visiting a tcp target does not show the worker_filter deprecation message when worker_filter has no value and "target-worker-filters-v2" is enabled', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(1); instances.tcpTarget.worker_filter = null; await visit(urls.tcpTarget); @@ -135,21 +129,18 @@ module('Acceptance | targets | read', function (hooks) { }); test('visiting an ssh target does not show the worker_filter deprecation message when "target-worker-filters-v2" is disabled', async function (assert) { - assert.expect(2); await visit(urls.sshTarget); assert.false(featuresService.isEnabled('target-worker-filters-v2')); assert.dom('.hds-alert').doesNotExist(); }); test('visiting a tcp target does not show the worker_filter deprecation message when "target-worker-filters-v2" is disabled', async function (assert) { - assert.expect(2); await visit(urls.tcpTarget); assert.false(featuresService.isEnabled('target-worker-filters-v2')); assert.dom('.hds-alert').doesNotExist(); }); test('cannot navigate to an ssh target form without proper authorization', async function (assert) { - assert.expect(2); featuresService.enable('ssh-target'); await visit(urls.projectScope); instances.sshTarget.authorized_actions = @@ -162,7 +153,6 @@ module('Acceptance | targets | read', function (hooks) { }); test('cannot navigate to a tcp target form without proper authorization', async function (assert) { - assert.expect(2); featuresService.enable('ssh-target'); await visit(urls.projectScope); instances.tcpTarget.authorized_actions = @@ -175,8 +165,6 @@ module('Acceptance | targets | read', function (hooks) { }); test('visiting an unknown target displays 404 message', async function (assert) { - assert.expect(1); - await visit(urls.unknownTarget); await a11yAudit(); @@ -184,7 +172,6 @@ module('Acceptance | targets | read', function (hooks) { }); test('users can link to docs page for target', async function (assert) { - assert.expect(1); await visit(urls.projectScope); await click(`[href="${urls.targets}"]`); @@ -195,7 +182,6 @@ module('Acceptance | targets | read', function (hooks) { }); test('users can navigate to target and incorrect url autocorrects', async function (assert) { - assert.expect(2); const incorrectUrl = `/scopes/${instances.scopes.org.id}/targets/${instances.sshTarget.id}`; await visit(incorrectUrl); diff --git a/ui/admin/tests/acceptance/targets/update-test.js b/ui/admin/tests/acceptance/targets/update-test.js index 0ae7dd141..b5756117f 100644 --- a/ui/admin/tests/acceptance/targets/update-test.js +++ b/ui/admin/tests/acceptance/targets/update-test.js @@ -64,7 +64,6 @@ module('Acceptance | targets | update', function (hooks) { }); test('can save changes to existing target', async function (assert) { - assert.expect(5); await visit(urls.targets); assert.notEqual(instances.target.name, 'random string'); assert.notEqual(instances.target.worker_filter, 'random filter'); @@ -88,14 +87,12 @@ module('Acceptance | targets | update', function (hooks) { test('updating a target shows the worker_filter deprecation message when "target-worker-filters-v2" is enabled', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(1); await visit(urls.target); assert.dom('.hds-alert').isVisible(); }); test('updating a target does not show the worker_filter deprecation message when "target-worker-filters-v2" is disabled', async function (assert) { - assert.expect(2); await visit(urls.target); assert.false(featuresService.isEnabled('target-worker-filters-v2')); assert.dom('.hds-alert').doesNotExist(); @@ -103,7 +100,6 @@ module('Acceptance | targets | update', function (hooks) { test('cannot edit worker_filter when "target-worker-filters-v2" is enabled', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(1); await visit(urls.target); assert.dom('[name=worker_filter]').isDisabled(); @@ -111,7 +107,6 @@ module('Acceptance | targets | update', function (hooks) { test('show update filter button when the old worker filter field is has value', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(2); await visit(urls.target); assert.dom('[name=worker_filter]').isVisible(); await click('.rose-form-actions [type="button"]', 'Activate edit mode'); @@ -120,7 +115,6 @@ module('Acceptance | targets | update', function (hooks) { test('onClick update filter should select the egress toggle and the worker_filter value is copied into egress_worker_filter', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(2); await visit(urls.target); assert.dom('[name=worker_filter]').isVisible(); const worker_filter_value = this.server.schema.targets.first().workerFilter; @@ -135,7 +129,6 @@ module('Acceptance | targets | update', function (hooks) { test('onClick update filter should select the egress and ingress toggle and the worker_filter value is copied into egress_worker_filter and ingress_worker_filter', async function (assert) { featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); - assert.expect(3); await visit(urls.target); assert.dom('[name=worker_filter]').isVisible(); const worker_filter_value = this.server.schema.targets.first().workerFilter; @@ -153,7 +146,6 @@ module('Acceptance | targets | update', function (hooks) { test('show filter input field when the `egress_worker_filter` toggle is on', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(1); await visit(urls.target); await click('.rose-form-actions [type="button"]', 'Activate edit mode'); await click('.hds-button[type="button"]', 'Update Filter'); @@ -163,7 +155,6 @@ module('Acceptance | targets | update', function (hooks) { test('hide filter input field when the `egress_worker_filter` toggled is off', async function (assert) { featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); - assert.expect(1); await visit(urls.target); await click('.rose-form-actions [type="button"]', 'Activate edit mode'); await click('.hds-button[type="button"]', 'Update Filter'); @@ -177,7 +168,6 @@ module('Acceptance | targets | update', function (hooks) { test('clear `egress_worker_field` value from a target when the toggle is off and form is saved', async function (assert) { featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); - assert.expect(5); await visit(urls.target); await click('.rose-form-actions [type="button"]', 'Activate edit mode'); await click('.hds-button[type="button"]', 'Update Filter'); @@ -206,7 +196,6 @@ module('Acceptance | targets | update', function (hooks) { test('show filter input field when the `ingress_worker_filter` toggle is on', async function (assert) { featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); - assert.expect(1); await visit(urls.target); await click('.rose-form-actions [type="button"]', 'Activate edit mode'); await click('.hds-button[type="button"]', 'Update Filter'); @@ -216,7 +205,6 @@ module('Acceptance | targets | update', function (hooks) { test('hide filter input field when the `ingress_worker_filter` toggled is off', async function (assert) { featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); - assert.expect(1); await visit(urls.target); await click('.rose-form-actions [type="button"]', 'Activate edit mode'); await click('.hds-button[type="button"]', 'Update Filter'); @@ -227,7 +215,6 @@ module('Acceptance | targets | update', function (hooks) { test('clear `ingress_worker_field` value from a target when the toggle is off and form is saved', async function (assert) { featuresService.enable('target-worker-filters-v2'); featuresService.enable('target-worker-filters-v2-ingress'); - assert.expect(5); await visit(urls.target); await click('.rose-form-actions [type="button"]', 'Activate edit mode'); await click('.hds-button[type="button"]', 'Update Filter'); @@ -251,7 +238,6 @@ module('Acceptance | targets | update', function (hooks) { }); test('can cancel changes to existing target', async function (assert) { - assert.expect(2); await visit(urls.targets); await click(`[href="${urls.target}"]`); await click('.rose-form-actions [type="button"]', 'Activate edit mode'); @@ -263,7 +249,6 @@ module('Acceptance | targets | update', function (hooks) { }); test('saving an existing target with invalid fields displays error messages', async function (assert) { - assert.expect(2); await visit(urls.targets); this.server.patch('/targets/:id', () => { return new Response( @@ -296,7 +281,6 @@ module('Acceptance | targets | update', function (hooks) { test('can discard unsaved target changes via dialog', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(7); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; assert.notEqual(instances.target.name, 'random string'); @@ -326,7 +310,6 @@ module('Acceptance | targets | update', function (hooks) { test('can click cancel on discard dialog box for unsaved target changes', async function (assert) { featuresService.enable('target-worker-filters-v2'); - assert.expect(6); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; assert.notEqual(instances.target.name, 'random string'); @@ -352,7 +335,6 @@ module('Acceptance | targets | update', function (hooks) { }); test('cannot make changes to an existing target without proper authorization', async function (assert) { - assert.expect(1); await visit(urls.targets); instances.target.authorized_actions = instances.target.authorized_actions.filter((item) => item !== 'update'); @@ -363,7 +345,6 @@ module('Acceptance | targets | update', function (hooks) { }); test('saving address with existing host sources brings up confirmation modal and removes host sources', async function (assert) { - assert.expect(4); featuresService.enable('ssh-target'); featuresService.enable('target-network-address'); const confirmService = this.owner.lookup('service:confirm'); @@ -409,7 +390,6 @@ module('Acceptance | targets | update', function (hooks) { }); test('saving address with existing host sources brings up confirmation modal and can cancel', async function (assert) { - assert.expect(4); featuresService.enable('ssh-target'); featuresService.enable('target-network-address'); const confirmService = this.owner.lookup('service:confirm'); diff --git a/ui/admin/tests/acceptance/users/accounts-test.js b/ui/admin/tests/acceptance/users/accounts-test.js index 74a4a29f0..8ef38ba50 100644 --- a/ui/admin/tests/acceptance/users/accounts-test.js +++ b/ui/admin/tests/acceptance/users/accounts-test.js @@ -74,7 +74,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('visiting user accounts', async function (assert) { - assert.expect(2); await visit(urls.user); await click(`[href="${urls.accounts}"]`); @@ -85,7 +84,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('can remove an account', async function (assert) { - assert.expect(2); await visit(urls.user); await click(`[href="${urls.accounts}"]`); @@ -96,7 +94,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('cannot remove an account without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.user.authorized_actions.filter( (item) => item !== 'remove-accounts', ); @@ -109,7 +106,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('cannot remove an ldap account when feature flag disabled', async function (assert) { - assert.expect(2); const authMethod = this.server.create('auth-method', { scope: instances.scopes.org, type: TYPE_AUTH_METHOD_LDAP, @@ -129,7 +125,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('can remove an ldap account when feature flag enabled', async function (assert) { - assert.expect(2); features.enable('ldap-auth-methods'); const authMethod = this.server.create('auth-method', { scope: instances.scopes.org, @@ -150,7 +145,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('shows error message on account remove', async function (assert) { - assert.expect(2); this.server.post('/users/:idMethod', () => { return new Response( 400, @@ -173,7 +167,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('visiting account add accounts', async function (assert) { - assert.expect(1); await visit(urls.accounts); await click(ADD_ACCOUNTS_ACTION_SELECTOR); @@ -183,7 +176,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('can navigate to add accounts with proper authorization', async function (assert) { - assert.expect(1); await visit(urls.user); await click(`[href="${urls.accounts}"]`); @@ -192,7 +184,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('cannot navigate to add accounts without proper authorization', async function (assert) { - assert.expect(1); const authorized_actions = instances.user.authorized_actions.filter( (item) => item !== 'add-accounts', ); @@ -204,7 +195,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('cannot add ldap accounts to user when feature flag is disabled', async function (assert) { - assert.expect(1); const authMethod = this.server.create('auth-method', { scope: instances.scopes.org, type: TYPE_AUTH_METHOD_LDAP, @@ -228,7 +218,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('can add ldap accounts to user when feature flag is enabled', async function (assert) { - assert.expect(1); features.enable('ldap-auth-methods'); const authMethod = this.server.create('auth-method', { scope: instances.scopes.org, @@ -251,7 +240,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('select and save accounts to add', async function (assert) { - assert.expect(4); instances.user.update({ accountIds: [] }); await visit(urls.user); @@ -271,7 +259,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('select and cancel accounts to add', async function (assert) { - assert.expect(4); await visit(urls.user); await click(`[href="${urls.accounts}"]`); @@ -288,7 +275,6 @@ module('Acceptance | users | accounts', function (hooks) { }); test('shows error message on account add', async function (assert) { - assert.expect(1); this.server.post('/users/:idMethod', () => { return new Response( 400, diff --git a/ui/admin/tests/acceptance/users/create-test.js b/ui/admin/tests/acceptance/users/create-test.js index 7cd5af197..d4e88e0a9 100644 --- a/ui/admin/tests/acceptance/users/create-test.js +++ b/ui/admin/tests/acceptance/users/create-test.js @@ -56,7 +56,6 @@ module('Acceptance | users | create', function (hooks) { }); test('can create new users', async function (assert) { - assert.expect(1); const usersCount = getUsersCount(); await visit(urls.users); @@ -68,7 +67,6 @@ module('Acceptance | users | create', function (hooks) { }); test('users can navigate to new users route with proper authorization', async function (assert) { - assert.expect(2); await visit(urls.orgScope); await click(`[href="${urls.users}"]`); @@ -82,7 +80,6 @@ module('Acceptance | users | create', function (hooks) { }); test('users cannot navigate to new users route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.org.authorized_collection_actions.users = instances.scopes.org.authorized_collection_actions.users.filter( (item) => item !== 'create', @@ -101,7 +98,6 @@ module('Acceptance | users | create', function (hooks) { }); test('can cancel creation of a new user', async function (assert) { - assert.expect(2); const usersCount = getUsersCount(); await visit(urls.users); @@ -114,7 +110,6 @@ module('Acceptance | users | create', function (hooks) { }); test('saving a new user with invalid fields displays error messages', async function (assert) { - assert.expect(3); const usersCount = getUsersCount(); await visit(urls.users); this.server.post('/users', () => { @@ -147,7 +142,6 @@ module('Acceptance | users | create', function (hooks) { }); test('users cannot directly navigate to new user route without proper authorization', async function (assert) { - assert.expect(2); instances.scopes.org.authorized_collection_actions.users = instances.scopes.org.authorized_collection_actions.users.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/users/delete-test.js b/ui/admin/tests/acceptance/users/delete-test.js index d7b673290..e9d4bacde 100644 --- a/ui/admin/tests/acceptance/users/delete-test.js +++ b/ui/admin/tests/acceptance/users/delete-test.js @@ -50,7 +50,6 @@ module('Acceptance | users | delete', function (hooks) { }); test('can delete a user', async function (assert) { - assert.expect(1); const usersCount = this.server.db.users.length; await visit(urls.users); @@ -62,7 +61,6 @@ module('Acceptance | users | delete', function (hooks) { }); test('cannot delete a user without proper authorization', async function (assert) { - assert.expect(1); instances.user.authorized_actions = instances.user.authorized_actions.filter((item) => item !== 'delete'); await visit(urls.users); @@ -75,7 +73,6 @@ module('Acceptance | users | delete', function (hooks) { }); test('can accept delete user via dialog', async function (assert) { - assert.expect(3); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const usersCount = this.server.db.users.length; @@ -91,7 +88,6 @@ module('Acceptance | users | delete', function (hooks) { }); test('can cancel delete user via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; const usersCount = this.server.db.users.length; @@ -106,7 +102,6 @@ module('Acceptance | users | delete', function (hooks) { }); test('errors are displayed when user deletion fails', async function (assert) { - assert.expect(1); await visit(urls.users); this.server.del('/users/:id', () => { return new Response( diff --git a/ui/admin/tests/acceptance/users/list-test.js b/ui/admin/tests/acceptance/users/list-test.js index fba30d088..74a307d9c 100644 --- a/ui/admin/tests/acceptance/users/list-test.js +++ b/ui/admin/tests/acceptance/users/list-test.js @@ -50,7 +50,6 @@ module('Acceptance | users | list', function (hooks) { }); test('users can navigate to users with proper authorization', async function (assert) { - assert.expect(3); await visit(urls.globalScope); await click(`[href="${urls.orgScope}"]`); @@ -68,7 +67,6 @@ module('Acceptance | users | list', function (hooks) { }); test('user cannot navigate to users tab without either list or create actions', async function (assert) { - assert.expect(3); instances.scopes.org.authorized_collection_actions.users = []; await visit(urls.globalScope); @@ -86,7 +84,6 @@ module('Acceptance | users | list', function (hooks) { }); test('user can navigate to users tab with only create action', async function (assert) { - assert.expect(4); instances.scopes.org.authorized_collection_actions.users = instances.scopes.org.authorized_collection_actions.users.filter( (item) => item !== 'list', @@ -111,7 +108,6 @@ module('Acceptance | users | list', function (hooks) { }); test('user can navigate to users tab with only list action', async function (assert) { - assert.expect(4); instances.scopes.org.authorized_collection_actions.users = instances.scopes.org.authorized_collection_actions.users.filter( (item) => item !== 'create', diff --git a/ui/admin/tests/acceptance/users/read-test.js b/ui/admin/tests/acceptance/users/read-test.js index 939b67ce7..091cc6ef5 100644 --- a/ui/admin/tests/acceptance/users/read-test.js +++ b/ui/admin/tests/acceptance/users/read-test.js @@ -49,7 +49,6 @@ module('Acceptance | users | read', function (hooks) { }); test('visiting users', async function (assert) { - assert.expect(1); await visit(urls.orgScope); await a11yAudit(); @@ -60,7 +59,6 @@ module('Acceptance | users | read', function (hooks) { }); test('visiting user', async function (assert) { - assert.expect(1); await visit(urls.users); await click(`[href="${urls.user}"]`); @@ -70,7 +68,6 @@ module('Acceptance | users | read', function (hooks) { }); test('cannot navigate to an account form without proper authorization', async function (assert) { - assert.expect(1); instances.user.authorized_actions = instances.user.authorized_actions.filter((item) => item !== 'read'); await visit(urls.orgScope); @@ -81,7 +78,6 @@ module('Acceptance | users | read', function (hooks) { }); test('users can link to docs page for users', async function (assert) { - assert.expect(1); await visit(urls.orgScope); await click(`[href="${urls.users}"]`); @@ -92,7 +88,6 @@ module('Acceptance | users | read', function (hooks) { }); test('users can navigate to user and incorrect url autocorrects', async function (assert) { - assert.expect(2); const incorrectUrl = `/scopes/global/users/${instances.user.id}`; await visit(incorrectUrl); diff --git a/ui/admin/tests/acceptance/users/update-test.js b/ui/admin/tests/acceptance/users/update-test.js index 9fa3bc105..e552173de 100644 --- a/ui/admin/tests/acceptance/users/update-test.js +++ b/ui/admin/tests/acceptance/users/update-test.js @@ -50,7 +50,6 @@ module('Acceptance | users | update', function (hooks) { }); test('can save changes to an existing user', async function (assert) { - assert.expect(2); await visit(urls.users); await click(`[href="${urls.user}"]`); @@ -66,7 +65,6 @@ module('Acceptance | users | update', function (hooks) { }); test('cannot make changes to an existing user without proper authorization', async function (assert) { - assert.expect(2); instances.user.authorized_actions = instances.user.authorized_actions.filter((item) => item !== 'update'); await visit(urls.users); @@ -78,7 +76,6 @@ module('Acceptance | users | update', function (hooks) { }); test('can cancel changes to an existing user', async function (assert) { - assert.expect(2); await visit(urls.users); await click(`[href="${urls.user}"]`); @@ -91,7 +88,6 @@ module('Acceptance | users | update', function (hooks) { }); test('saving an existing user with invalid fields displays error messages', async function (assert) { - assert.expect(2); await visit(urls.users); this.server.patch('/users/:id', () => { return new Response( @@ -123,7 +119,6 @@ module('Acceptance | users | update', function (hooks) { }); test('can discard unsaved user changes via dialog', async function (assert) { - assert.expect(5); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; assert.notEqual(instances.user.name, 'Unsaved user name'); @@ -141,7 +136,6 @@ module('Acceptance | users | update', function (hooks) { }); test('can click cancel on discard dialog box for unsaved user changes', async function (assert) { - assert.expect(5); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; assert.notEqual(instances.user.name, 'Unsaved user name'); diff --git a/ui/admin/tests/acceptance/workers/create-test.js b/ui/admin/tests/acceptance/workers/create-test.js index 6e2d130c5..a192ffed8 100644 --- a/ui/admin/tests/acceptance/workers/create-test.js +++ b/ui/admin/tests/acceptance/workers/create-test.js @@ -42,7 +42,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('can create new workers', async function (assert) { - assert.expect(1); const workersCount = getWorkersCount(); await visit(newWorkerURL); await fillIn('[name="worker_auth_registration_request"]', 'token'); @@ -51,7 +50,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('cluster id input field is visible for `hcp` binary', async function (assert) { - assert.expect(2); const featuresService = this.owner.lookup('service:features'); featuresService.enable('byow-pki-hcp-cluster-id'); await visit(newWorkerURL); @@ -61,7 +59,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('initial upstreams input field is visible for `oss` binary', async function (assert) { - assert.expect(3); const featuresService = this.owner.lookup('service:features'); await visit(newWorkerURL); const labels = findAll('label.rose-form-label'); @@ -71,7 +68,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('download and install step shows correct oss instructions', async function (assert) { - assert.expect(3); const featuresService = this.owner.lookup('service:features'); await visit(newWorkerURL); const createSection = findAll('.worker-create-section'); @@ -89,7 +85,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('download and install step shows correct hcp instructions', async function (assert) { - assert.expect(2); const featuresService = this.owner.lookup('service:features'); featuresService.enable('byow-pki-hcp-cluster-id'); await visit(newWorkerURL); @@ -107,7 +102,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('Users can navigate to new workers route with proper authorization', async function (assert) { - assert.expect(2); await visit(workersURL); assert.ok( globalScope.authorized_collection_actions.workers.includes( @@ -118,7 +112,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('Users cannot navigate to new workers route without proper authorization', async function (assert) { - assert.expect(2); globalScope.authorized_collection_actions.workers = []; await visit(workersURL); assert.notOk( @@ -130,7 +123,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('saving a new user with invalid fields displays error messages', async function (assert) { - assert.expect(1); this.server.post('/workers:create:worker-led', () => { return new Response( 500, @@ -153,7 +145,6 @@ module('Acceptance | workers | create', function (hooks) { }); test('users cannot directly navigate to new worker route without proper authorization', async function (assert) { - assert.expect(2); globalScope.authorized_collection_actions.workers = globalScope.authorized_collection_actions.workers.filter( (item) => item !== 'create:worker-led', diff --git a/ui/admin/tests/acceptance/workers/delete-test.js b/ui/admin/tests/acceptance/workers/delete-test.js index e373ea14d..994621cb5 100644 --- a/ui/admin/tests/acceptance/workers/delete-test.js +++ b/ui/admin/tests/acceptance/workers/delete-test.js @@ -52,7 +52,6 @@ module('Acceptance | workers | delete', function (hooks) { }); test('can delete a worker', async function (assert) { - assert.expect(1); const count = getWorkerCount(); await visit(urls.worker); await click('.rose-layout-page-actions .rose-dropdown-button-danger'); @@ -60,7 +59,6 @@ module('Acceptance | workers | delete', function (hooks) { }); test('can accept delete worker via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(resolve()); @@ -72,7 +70,6 @@ module('Acceptance | workers | delete', function (hooks) { }); test('can cancel delete worker via dialog', async function (assert) { - assert.expect(2); const confirmService = this.owner.lookup('service:confirm'); confirmService.enabled = true; confirmService.confirm = sinon.fake.returns(reject()); @@ -84,7 +81,6 @@ module('Acceptance | workers | delete', function (hooks) { }); test('cannot delete worker without proper authorization', async function (assert) { - assert.expect(1); instances.worker.authorized_actions = instances.worker.authorized_actions.filter((item) => item !== 'delete'); await visit(urls.worker); @@ -94,7 +90,6 @@ module('Acceptance | workers | delete', function (hooks) { }); test('deleting a worker which errors displays error messages', async function (assert) { - assert.expect(1); this.server.del('/workers/:id', () => { return new Response( 490, diff --git a/ui/admin/tests/acceptance/workers/list-test.js b/ui/admin/tests/acceptance/workers/list-test.js index 6979bb96f..07e049e8c 100644 --- a/ui/admin/tests/acceptance/workers/list-test.js +++ b/ui/admin/tests/acceptance/workers/list-test.js @@ -40,7 +40,6 @@ module('Acceptance | workers | list', function (hooks) { }); test('Users can navigate to workers with proper authorization', async function (assert) { - assert.expect(2); featuresService.enable('byow'); await visit(urls.globalScope); assert.ok( @@ -52,7 +51,6 @@ module('Acceptance | workers | list', function (hooks) { }); test('Users cannot navigate to workers without list or create permissions', async function (assert) { - assert.expect(1); featuresService.enable('byow'); instances.scopes.global.authorized_collection_actions.workers = []; @@ -61,7 +59,6 @@ module('Acceptance | workers | list', function (hooks) { }); test('Users can navigate to workers with only create permission', async function (assert) { - assert.expect(1); featuresService.enable('byow'); instances.scopes.global.authorized_collection_actions.workers = [ 'create:worker-led', @@ -72,7 +69,6 @@ module('Acceptance | workers | list', function (hooks) { }); test('Users can navigate to workers with only list permission', async function (assert) { - assert.expect(1); featuresService.enable('byow'); instances.scopes.global.authorized_collection_actions.workers = ['list']; diff --git a/ui/admin/tests/acceptance/workers/read-test.js b/ui/admin/tests/acceptance/workers/read-test.js index dc4909d3e..4bd7562ed 100644 --- a/ui/admin/tests/acceptance/workers/read-test.js +++ b/ui/admin/tests/acceptance/workers/read-test.js @@ -56,7 +56,6 @@ module('Acceptance | workers | read', function (hooks) { }); test('visiting worker', async function (assert) { - assert.expect(1); await visit(urls.workers); await a11yAudit(); @@ -66,7 +65,6 @@ module('Acceptance | workers | read', function (hooks) { }); test('cannot navigate to an worker form without proper authorization', async function (assert) { - assert.expect(1); instances.worker.authorized_actions = instances.worker.authorized_actions.filter((itm) => itm !== 'read'); await visit(urls.globalScope); @@ -79,7 +77,6 @@ module('Acceptance | workers | read', function (hooks) { }); test('can navigate to an worker form with proper authorization', async function (assert) { - assert.expect(1); await visit(urls.globalScope); await click(`[href="${urls.workers}"]`); @@ -88,7 +85,6 @@ module('Acceptance | workers | read', function (hooks) { }); test('users can navigate to worker and incorrect url autocorrects', async function (assert) { - assert.expect(2); const orgScope = this.server.create('scope', { type: 'org', scope: { id: 'global', type: 'global' }, diff --git a/ui/admin/tests/acceptance/workers/update-test.js b/ui/admin/tests/acceptance/workers/update-test.js index f932aa393..8a3832cea 100644 --- a/ui/admin/tests/acceptance/workers/update-test.js +++ b/ui/admin/tests/acceptance/workers/update-test.js @@ -45,7 +45,6 @@ module('Acceptance | workers | update', function (hooks) { }); test('can save changes to an existing worker', async function (assert) { - assert.expect(2); await visit(urls.worker); await click('form [type="button"]', 'Click edit mode'); await fillIn('[name="name"]', 'Updated worker name'); @@ -55,7 +54,6 @@ module('Acceptance | workers | update', function (hooks) { }); test('can cancel changes to an existing worker', async function (assert) { - assert.expect(1); const name = instances.worker.name; await visit(urls.worker); await click('form [type="button"]', 'Click edit mode'); @@ -65,7 +63,6 @@ module('Acceptance | workers | update', function (hooks) { }); test('saving an existing worker with invalid fields displays error messages', async function (assert) { - assert.expect(2); this.server.patch('/workers/:id', () => { return new Response( 400, diff --git a/ui/admin/tests/integration/components/breadcrumbs/container/index-test.js b/ui/admin/tests/integration/components/breadcrumbs/container/index-test.js index 0f7f38522..5b4937012 100644 --- a/ui/admin/tests/integration/components/breadcrumbs/container/index-test.js +++ b/ui/admin/tests/integration/components/breadcrumbs/container/index-test.js @@ -14,7 +14,6 @@ module( setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(2); await render( hbs` `, ); diff --git a/ui/admin/tests/integration/components/form/field/json-secret-skeleton-test.js b/ui/admin/tests/integration/components/form/field/json-secret-skeleton-test.js index 9215d286c..4e9e89e0b 100644 --- a/ui/admin/tests/integration/components/form/field/json-secret-skeleton-test.js +++ b/ui/admin/tests/integration/components/form/field/json-secret-skeleton-test.js @@ -14,8 +14,6 @@ module( setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(2); - this.set('value', 'Skeleton Message'); await render(hbs` diff --git a/ui/admin/tests/integration/components/form/field/json-secret-test.js b/ui/admin/tests/integration/components/form/field/json-secret-test.js index 49f7fd121..f645a439b 100644 --- a/ui/admin/tests/integration/components/form/field/json-secret-test.js +++ b/ui/admin/tests/integration/components/form/field/json-secret-test.js @@ -20,7 +20,6 @@ module('Integration | Component | form/field/json-secret', function (hooks) { }); test('it renders the active editor', async function (assert) { - assert.expect(3); await render(hbs` {}; this.toggleAction = () => {}; await render( @@ -26,7 +25,6 @@ module('Integration | Component | form/target/worker-filter', function (hooks) { }); test('it renders a toggle field and text input field when "toggleEnabled" is true', async function (assert) { - assert.expect(2); this.onChange = () => {}; this.toggleAction = () => {}; await render( diff --git a/ui/admin/tests/integration/components/info-field-test.js b/ui/admin/tests/integration/components/info-field-test.js index 599b1b0a6..2b7f9b3a2 100644 --- a/ui/admin/tests/integration/components/info-field-test.js +++ b/ui/admin/tests/integration/components/info-field-test.js @@ -17,8 +17,6 @@ module('Integration | Component | info-field', function (hooks) { }); test('it renders without icon', async function (assert) { - assert.expect(4); - await render( hbs` @@ -34,8 +32,6 @@ module('Integration | Component | info-field', function (hooks) { }); test('it renders with icon', async function (assert) { - assert.expect(5); - await render( hbs` diff --git a/ui/admin/tests/integration/components/link-list-panel/index-test.js b/ui/admin/tests/integration/components/link-list-panel/index-test.js index 8b9c6b99a..1863f1bd2 100644 --- a/ui/admin/tests/integration/components/link-list-panel/index-test.js +++ b/ui/admin/tests/integration/components/link-list-panel/index-test.js @@ -12,7 +12,6 @@ module('Integration | Component | link-list-panel/index', function (hooks) { setupRenderingTest(hooks); test('it renders with icons, text and yield content wrapped in a link, because @route is present', async function (assert) { - assert.expect(6); await render(hbs` @@ -33,7 +32,6 @@ module('Integration | Component | link-list-panel/index', function (hooks) { }); test('it renders with icons, text and yield content WITHOUT a link, because @route is not present.', async function (assert) { - assert.expect(6); await render(hbs` @@ -54,8 +52,6 @@ module('Integration | Component | link-list-panel/index', function (hooks) { }); test('it renders link correctly supplying a single model', async function (assert) { - assert.expect(2); - // ScopeId global this.modelA = { scopeId: 'global' }; await render(hbs` @@ -80,7 +76,6 @@ module('Integration | Component | link-list-panel/index', function (hooks) { }); test('it renders a link correctly supplying multiple models', async function (assert) { - assert.expect(2); // ScopeId global this.modelA = { scopeId: 'global', id: 'u_umasjqde46' }; await render(hbs` diff --git a/ui/admin/tests/integration/components/ordered-series-diagram/group/index-test.js b/ui/admin/tests/integration/components/ordered-series-diagram/group/index-test.js index 33dbcb8f9..c66d8b0c8 100644 --- a/ui/admin/tests/integration/components/ordered-series-diagram/group/index-test.js +++ b/ui/admin/tests/integration/components/ordered-series-diagram/group/index-test.js @@ -14,8 +14,6 @@ module( setupRenderingTest(hooks); test('it renders group icons with highlight background', async function (assert) { - assert.expect(7); - this.set('client', 'Client'); this.set('egressWorker', 'Egress Worker'); diff --git a/ui/admin/tests/integration/components/ordered-series-diagram/index-test.js b/ui/admin/tests/integration/components/ordered-series-diagram/index-test.js index cf3e2c959..bdde21ec0 100644 --- a/ui/admin/tests/integration/components/ordered-series-diagram/index-test.js +++ b/ui/admin/tests/integration/components/ordered-series-diagram/index-test.js @@ -14,8 +14,6 @@ module( setupRenderingTest(hooks); test('it renders two icon series', async function (assert) { - assert.expect(5); - this.set('client', 'Client'); this.set('egressWorker', 'Egress Worker'); diff --git a/ui/admin/tests/integration/components/ordered-series-diagram/item/index-test.js b/ui/admin/tests/integration/components/ordered-series-diagram/item/index-test.js index 70f9b29f6..d9ab73599 100644 --- a/ui/admin/tests/integration/components/ordered-series-diagram/item/index-test.js +++ b/ui/admin/tests/integration/components/ordered-series-diagram/item/index-test.js @@ -14,8 +14,6 @@ module( setupRenderingTest(hooks); test('it renders with icon and text', async function (assert) { - assert.expect(2); - this.set('client', 'Client'); await render(hbs` diff --git a/ui/admin/tests/integration/components/session-recording/status-test.js b/ui/admin/tests/integration/components/session-recording/status-test.js index 49909eecc..34c31fc46 100644 --- a/ui/admin/tests/integration/components/session-recording/status-test.js +++ b/ui/admin/tests/integration/components/session-recording/status-test.js @@ -22,7 +22,6 @@ module('Integration | Component | session-recording/status', function (hooks) { const BADGE_TEXT_SELECTOR = '.hds-badge__text'; test('it renders a completed status badge', async function (assert) { - assert.expect(2); this.status = STATE_SESSION_RECORDING_AVAILABLE; await render(hbs` @@ -36,7 +35,6 @@ module('Integration | Component | session-recording/status', function (hooks) { }); test('it renders an in progress status badge', async function (assert) { - assert.expect(2); this.status = STATE_SESSION_RECORDING_STARTED; await render(hbs` @@ -50,7 +48,6 @@ module('Integration | Component | session-recording/status', function (hooks) { }); test('it renders a failed status badge', async function (assert) { - assert.expect(2); this.status = STATE_SESSION_RECORDING_UNKNOWN; await render(hbs` @@ -64,8 +61,6 @@ module('Integration | Component | session-recording/status', function (hooks) { }); test('it renders a failed status badge when the status does not match any known states', async function (assert) { - assert.expect(2); - await render(hbs` `); diff --git a/ui/admin/tests/integration/components/worker-diagram/index-test.js b/ui/admin/tests/integration/components/worker-diagram/index-test.js index 3310a90a8..079508581 100644 --- a/ui/admin/tests/integration/components/worker-diagram/index-test.js +++ b/ui/admin/tests/integration/components/worker-diagram/index-test.js @@ -19,7 +19,6 @@ module('Integration | Component | worker-diagram/index', function (hooks) { test('it renders a single filter diagram', async function (assert) { featuresService = this.owner.lookup('service:features'); - assert.expect(3); await render(hbs``); assert.false(featuresService.isEnabled(targetWorkerFilterIngress)); assert.false(featuresService.isEnabled(targetWorkerFilterHCP)); @@ -29,7 +28,6 @@ module('Integration | Component | worker-diagram/index', function (hooks) { test('it renders a dual filter diagram when `target-worker-filters-v2-ingress` is enabled', async function (assert) { featuresService = this.owner.lookup('service:features'); featuresService.enable(targetWorkerFilterIngress); - assert.expect(3); assert.true(featuresService.isEnabled(targetWorkerFilterIngress)); assert.false(featuresService.isEnabled(targetWorkerFilterHCP)); await render(hbs``); @@ -41,7 +39,6 @@ module('Integration | Component | worker-diagram/index', function (hooks) { featuresService = this.owner.lookup('service:features'); featuresService.enable(targetWorkerFilterIngress); featuresService.enable(targetWorkerFilterHCP); - assert.expect(3); await render(hbs``); assert.true(featuresService.isEnabled(targetWorkerFilterIngress)); assert.true(featuresService.isEnabled(targetWorkerFilterHCP)); diff --git a/ui/admin/tests/integration/components/worker-diagram/single-filter/index-test.js b/ui/admin/tests/integration/components/worker-diagram/single-filter/index-test.js index 946e46e1d..eb8d916be 100644 --- a/ui/admin/tests/integration/components/worker-diagram/single-filter/index-test.js +++ b/ui/admin/tests/integration/components/worker-diagram/single-filter/index-test.js @@ -16,7 +16,6 @@ module( setupIntl(hooks); test('it renders the correct diagram when egress filter is false', async function (assert) { - assert.expect(2); await render( hbs``, ); @@ -26,7 +25,6 @@ module( }); test('it renders the correct diagram when egress filter is true', async function (assert) { - assert.expect(2); await render( hbs``, ); diff --git a/ui/admin/tests/integration/helpers/can-test.js b/ui/admin/tests/integration/helpers/can-test.js index d0a9ec535..dc8661566 100644 --- a/ui/admin/tests/integration/helpers/can-test.js +++ b/ui/admin/tests/integration/helpers/can-test.js @@ -17,8 +17,6 @@ module('Integration | Helper | can', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { - assert.expect(2); - const model = { authorized_actions: ['read'], authorized_collection_actions: { diff --git a/ui/admin/tests/unit/abilities/auth-method-test.js b/ui/admin/tests/unit/abilities/auth-method-test.js index 66888a231..df5e2e7ca 100644 --- a/ui/admin/tests/unit/abilities/auth-method-test.js +++ b/ui/admin/tests/unit/abilities/auth-method-test.js @@ -25,7 +25,6 @@ module('Unit | Abilities | auth-method', function (hooks) { }); test('can read LDAP auth-method when authorized and feature flag enabled', function (assert) { - assert.expect(2); features.enable('ldap-auth-methods'); const authMethod = store.createRecord('auth-method', { authorized_actions: ['read'], @@ -37,7 +36,6 @@ module('Unit | Abilities | auth-method', function (hooks) { }); test('cannot read LDAP auth-method when authorized and feature flag disabled', function (assert) { - assert.expect(2); const authMethod = store.createRecord('auth-method', { authorized_actions: ['read'], type: TYPE_AUTH_METHOD_LDAP, @@ -48,7 +46,6 @@ module('Unit | Abilities | auth-method', function (hooks) { }); test('can read non-LDAP auth-method when authorized', function (assert) { - assert.expect(2); const authMethod = store.createRecord('auth-method', { authorized_actions: ['read'], type: TYPE_AUTH_METHOD_OIDC, @@ -59,7 +56,6 @@ module('Unit | Abilities | auth-method', function (hooks) { }); test('cannot read non-LDAP auth-method when unauthorized', function (assert) { - assert.expect(2); const authMethod = store.createRecord('auth-method', { authorized_actions: [], type: TYPE_AUTH_METHOD_OIDC, @@ -70,7 +66,6 @@ module('Unit | Abilities | auth-method', function (hooks) { }); test('cannot make LDAP auth-method primary when feature flag disabled', function (assert) { - assert.expect(1); const authMethod = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_LDAP, }); @@ -78,7 +73,6 @@ module('Unit | Abilities | auth-method', function (hooks) { }); test('can make LDAP auth-method primary when feature flag enabled', function (assert) { - assert.expect(1); features.enable('ldap-auth-methods'); const authMethod = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_LDAP, @@ -87,7 +81,6 @@ module('Unit | Abilities | auth-method', function (hooks) { }); test('can make non-LDAP auth-method primary', function (assert) { - assert.expect(2); const authMethod = store.createRecord('auth-method', { type: TYPE_AUTH_METHOD_OIDC, }); diff --git a/ui/admin/tests/unit/abilities/channel-recording-test.js b/ui/admin/tests/unit/abilities/channel-recording-test.js index af3d203a0..468eba01d 100644 --- a/ui/admin/tests/unit/abilities/channel-recording-test.js +++ b/ui/admin/tests/unit/abilities/channel-recording-test.js @@ -39,8 +39,6 @@ module('Unit | Abilities | channel-recording', function (hooks) { }); test('returns true if session recording complete and channel mime type is asciicast', function (assert) { - assert.expect(2); - assert.true(canService.can('play channel-recording', asciicastChannel)); assert.false( canService.can('play channel-recording', noneAsciicastChannel), @@ -48,8 +46,6 @@ module('Unit | Abilities | channel-recording', function (hooks) { }); test('returns false if session recording complete and channel mime type is not asciicast', function (assert) { - assert.expect(2); - assert.true( canService.can('viewOnly channel-recording', noneAsciicastChannel), ); diff --git a/ui/admin/tests/unit/abilities/collection-test.js b/ui/admin/tests/unit/abilities/collection-test.js index ce410df6c..8f12263b9 100644 --- a/ui/admin/tests/unit/abilities/collection-test.js +++ b/ui/admin/tests/unit/abilities/collection-test.js @@ -10,7 +10,6 @@ module('Unit | Abilities | model', function (hooks) { setupTest(hooks); test('it reflects when a resource may be navigated to based on list and create actions', function (assert) { - assert.expect(4); const service = this.owner.lookup('service:can'); const model = { authorized_collection_actions: { foobars: [] }, diff --git a/ui/admin/tests/unit/abilities/credential-library-test.js b/ui/admin/tests/unit/abilities/credential-library-test.js index 0765bb72f..6d470b4d8 100644 --- a/ui/admin/tests/unit/abilities/credential-library-test.js +++ b/ui/admin/tests/unit/abilities/credential-library-test.js @@ -20,7 +20,6 @@ module('Unit | Abilities | credential-library', function (hooks) { }); test('can read credential library type when authorized and feature is enabled', function (assert) { - assert.expect(2); features.enable('ssh-target'); const canService = this.owner.lookup('service:can'); const store = this.owner.lookup('service:store'); @@ -34,7 +33,6 @@ module('Unit | Abilities | credential-library', function (hooks) { }); test('cannot read credential library type when unauthorized and feature is enabled', function (assert) { - assert.expect(2); features.enable('ssh-target'); const canService = this.owner.lookup('service:can'); const store = this.owner.lookup('service:store'); @@ -48,7 +46,6 @@ module('Unit | Abilities | credential-library', function (hooks) { }); test('cannot read credential library type when unauthorized and feature is disabled', function (assert) { - assert.expect(3); const canService = this.owner.lookup('service:can'); const store = this.owner.lookup('service:store'); const featuresService = this.owner.lookup('service:features'); @@ -63,7 +60,6 @@ module('Unit | Abilities | credential-library', function (hooks) { }); test('can read vault-generic but not vault-ssh-certificate when authorized and feature is disabled', function (assert) { - assert.expect(3); const canService = this.owner.lookup('service:can'); const store = this.owner.lookup('service:store'); const featuresService = this.owner.lookup('service:features'); diff --git a/ui/admin/tests/unit/abilities/credential-test.js b/ui/admin/tests/unit/abilities/credential-test.js index b60d95a7c..ac6387e41 100644 --- a/ui/admin/tests/unit/abilities/credential-test.js +++ b/ui/admin/tests/unit/abilities/credential-test.js @@ -17,7 +17,6 @@ module('Unit | Abilities | credential', function (hooks) { }); test('can read credentials, including JSON credentials, when authorized and json-credentials feature is enabled', function (assert) { - assert.expect(3); featuresService.enable('json-credentials'); const service = this.owner.lookup('service:can'); const store = this.owner.lookup('service:store'); @@ -33,7 +32,6 @@ module('Unit | Abilities | credential', function (hooks) { }); test('cannot read credentials, including JSON credentials, when unauthorized and json-credentials feature is enabled', function (assert) { - assert.expect(3); featuresService.enable('json-credentials'); const service = this.owner.lookup('service:can'); const store = this.owner.lookup('service:store'); @@ -49,7 +47,6 @@ module('Unit | Abilities | credential', function (hooks) { }); test('cannot read credentials, including JSON credentials, when unauthorized and json-credentials feature is disabled', function (assert) { - assert.expect(4); const service = this.owner.lookup('service:can'); const store = this.owner.lookup('service:store'); const credential = store.createRecord('credential', { @@ -65,7 +62,6 @@ module('Unit | Abilities | credential', function (hooks) { }); test('can read credentials, excepting JSON credentials, when authorized and json-credentials feature is disabled', function (assert) { - assert.expect(4); const service = this.owner.lookup('service:can'); const store = this.owner.lookup('service:store'); const credential = store.createRecord('credential', { diff --git a/ui/admin/tests/unit/abilities/session-recording-test.js b/ui/admin/tests/unit/abilities/session-recording-test.js index 912cce19f..916bf6a89 100644 --- a/ui/admin/tests/unit/abilities/session-recording-test.js +++ b/ui/admin/tests/unit/abilities/session-recording-test.js @@ -21,8 +21,6 @@ module('Unit | Abilities | session-recording', function (hooks) { }); test('can read session recording feature is enabled', function (assert) { - assert.expect(2); - features.enable('ssh-session-recording'); const recordingWithAuthorizedAction = store.createRecord( @@ -52,8 +50,6 @@ module('Unit | Abilities | session-recording', function (hooks) { }); test('cannot read session recording when feature is disabled', function (assert) { - assert.expect(2); - const recordingWithAuthorizedAction = store.createRecord( 'session-recording', { @@ -81,8 +77,6 @@ module('Unit | Abilities | session-recording', function (hooks) { }); test('can list session recording when in global scope', function (assert) { - assert.expect(2); - features.enable('ssh-session-recording'); const scopeModelWithAuthorizedAction = store.createRecord('scope', { @@ -109,8 +103,6 @@ module('Unit | Abilities | session-recording', function (hooks) { }); test('can list session recording when in org scope when authorized', function (assert) { - assert.expect(2); - features.enable('ssh-session-recording'); const scopeModelWithAuthorizedAction = store.createRecord('scope', { @@ -137,8 +129,6 @@ module('Unit | Abilities | session-recording', function (hooks) { }); test('can navigate to session recording when feature is enabled', function (assert) { - assert.expect(2); - features.enable('ssh-session-recording'); const scopeModelWithAuthorizedAction = store.createRecord('scope', { @@ -165,8 +155,6 @@ module('Unit | Abilities | session-recording', function (hooks) { }); test('cannot navigate to session recording when feature is disabled', function (assert) { - assert.expect(2); - const scopeModelWithAuthorizedAction = store.createRecord('scope', { authorized_collection_actions: { ['session-recordings']: ['list'] }, type: 'global', diff --git a/ui/admin/tests/unit/abilities/storage-bucket-test.js b/ui/admin/tests/unit/abilities/storage-bucket-test.js index a35d99ecc..456945f40 100644 --- a/ui/admin/tests/unit/abilities/storage-bucket-test.js +++ b/ui/admin/tests/unit/abilities/storage-bucket-test.js @@ -24,8 +24,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('can read storage bucket when authorized and feature is enabled', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const storageBucket = store.createRecord('storage-bucket', { @@ -38,8 +36,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('cannot read storage bucket when unauthorized and feature is enabled', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const storageBucket = store.createRecord('storage-bucket', { @@ -52,8 +48,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('cannot read storage bucket when authorized and feature is disabled', function (assert) { - assert.expect(1); - const storageBucket = store.createRecord('storage-bucket', { authorized_actions: ['read'], type: TYPE_STORAGE_BUCKET_PLUGIN, @@ -64,8 +58,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('cannot read storage bucket when unauthorized and feature is disabled', function (assert) { - assert.expect(1); - const storageBucket = store.createRecord('storage-bucket', { authorized_actions: [], type: TYPE_STORAGE_BUCKET_PLUGIN, @@ -76,8 +68,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('can list storage bucket when authorized and in global scope', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const scopeModel = store.createRecord('scope', { @@ -94,8 +84,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('cannot list storage bucket when unauthorized and in global scope', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const scopeModel = store.createRecord('scope', { @@ -112,8 +100,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('can list storage bucket when authorized and in org scope', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const scopeModel = store.createRecord('scope', { @@ -130,8 +116,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('can create storage bucket when authorized and in global scope', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const scopeModel = store.createRecord('scope', { @@ -148,8 +132,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('can create storage bucket when authorized and in org scope', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const scopeModel = store.createRecord('scope', { @@ -166,8 +148,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('can create storage bucket when authorized and in project scope', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const scopeModel = store.createRecord('scope', { @@ -184,8 +164,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('cannot create storage bucket when unauthorized', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const scopeModel = store.createRecord('scope', { @@ -202,8 +180,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('can navigate to storage bucket when authorized', function (assert) { - assert.expect(1); - features.enable('ssh-session-recording'); const scopeModel = store.createRecord('scope', { @@ -220,8 +196,6 @@ module('Unit | Abilities | storage-bucket', function (hooks) { }); test('cannot navigate to storage bucket when authorized and feature is disabled', function (assert) { - assert.expect(1); - const scopeModel = store.createRecord('scope', { authorized_collection_actions: { 'storage-buckets': ['create'] }, type: 'global', diff --git a/ui/admin/tests/unit/abilities/user-test.js b/ui/admin/tests/unit/abilities/user-test.js index 7cb1afe8d..d1027cf7f 100644 --- a/ui/admin/tests/unit/abilities/user-test.js +++ b/ui/admin/tests/unit/abilities/user-test.js @@ -34,7 +34,6 @@ module('Unit | Abilities | user', function (hooks) { }); test('can add ldap account to user when feature flag enabled', function (assert) { - assert.expect(1); features.enable('ldap-auth-methods'); instances.account.type = TYPE_AUTH_METHOD_LDAP; assert.true( @@ -45,7 +44,6 @@ module('Unit | Abilities | user', function (hooks) { }); test('can add non-ldap account to user', function (assert) { - assert.expect(2); instances.account.type = TYPE_AUTH_METHOD_OIDC; assert.true( canService.can('addAccount user', instances.user, { @@ -61,7 +59,6 @@ module('Unit | Abilities | user', function (hooks) { }); test('cannot add ldap account to user when feature flag disabled', function (assert) { - assert.expect(1); instances.account.type = TYPE_AUTH_METHOD_LDAP; assert.false( canService.can('addAccount user', instances.user, { @@ -71,7 +68,6 @@ module('Unit | Abilities | user', function (hooks) { }); test('can remove ldap account from user when feature flag enabled', function (assert) { - assert.expect(1); features.enable('ldap-auth-methods'); instances.account.type = TYPE_AUTH_METHOD_LDAP; assert.true( @@ -82,7 +78,6 @@ module('Unit | Abilities | user', function (hooks) { }); test('cannot remove ldap account from user when feature flag disabled', function (assert) { - assert.expect(1); instances.account.type = TYPE_AUTH_METHOD_LDAP; assert.false( canService.can('removeAccount user', instances.user, { @@ -92,7 +87,6 @@ module('Unit | Abilities | user', function (hooks) { }); test('can remove non-ldap account from user', function (assert) { - assert.expect(2); instances.account.type = TYPE_AUTH_METHOD_OIDC; assert.true( canService.can('removeAccount user', instances.user, { diff --git a/ui/admin/tests/unit/services/breadcrumbs-test.js b/ui/admin/tests/unit/services/breadcrumbs-test.js index 2f6c41d2e..9e7990672 100644 --- a/ui/admin/tests/unit/services/breadcrumbs-test.js +++ b/ui/admin/tests/unit/services/breadcrumbs-test.js @@ -10,13 +10,11 @@ module('Unit | Service | breadcrumbs', function (hooks) { setupTest(hooks); test('it exists', function (assert) { - assert.expect(1); const service = this.owner.lookup('service:breadcrumbs'); assert.ok(service); }); test('registerContainer properly adds a new container', function (assert) { - assert.expect(1); const container = { element: 'element' }; const service = this.owner.lookup('service:breadcrumbs'); @@ -26,7 +24,6 @@ module('Unit | Service | breadcrumbs', function (hooks) { }); test('unregisterContainer properly removes an existing container', function (assert) { - assert.expect(1); const container = { element: 'element' }; const service = this.owner.lookup('service:breadcrumbs'); diff --git a/ui/admin/tests/unit/utils/param-value-finder-test.js b/ui/admin/tests/unit/utils/param-value-finder-test.js index 92c9356cc..320185721 100644 --- a/ui/admin/tests/unit/utils/param-value-finder-test.js +++ b/ui/admin/tests/unit/utils/param-value-finder-test.js @@ -17,7 +17,6 @@ module('Unit | Utility | param-value-finder', function (hooks) { }); test('returns empty array when null or empty routeInfo object is used', function (assert) { - assert.expect(2); let result = paramValueFinder('scopes', null); assert.deepEqual(result, []); @@ -28,7 +27,6 @@ module('Unit | Utility | param-value-finder', function (hooks) { }); test('returns correct array when routeInfo object is used', function (assert) { - assert.expect(2); let routeInfo = router.recognize('/scopes'); let result = paramValueFinder('scopes', routeInfo.parent); diff --git a/ui/desktop/.eslintrc.js b/ui/desktop/.eslintrc.js index 4a8101cea..c2ae50640 100644 --- a/ui/desktop/.eslintrc.js +++ b/ui/desktop/.eslintrc.js @@ -61,6 +61,9 @@ module.exports = { // test files files: ['tests/**/*-test.{js,ts}'], extends: ['plugin:qunit/recommended'], + rules: { + 'qunit/require-expect': [2, 'except-simple'], + }, }, ], }; diff --git a/ui/desktop/package.json b/ui/desktop/package.json index 580762d9a..b4a38a252 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -101,7 +101,7 @@ "eslint-config-prettier": "^9.0.0", "eslint-plugin-ember": "^11.11.1", "eslint-plugin-n": "^16.3.1", - "eslint-plugin-qunit": "^7.3.4", + "eslint-plugin-qunit": "^8.0.1", "js-bexpr": "hashicorp/js-bexpr#9b4a4b54d85eba67fdfc0990133d1518d890b1e1", "loader.js": "^4.7.0", "lodash": "4.17.21", diff --git a/yarn.lock b/yarn.lock index 369d52657..c00d97460 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11730,10 +11730,10 @@ eslint-plugin-n@^16.3.1: resolve "^1.22.2" semver "^7.5.3" -eslint-plugin-qunit@^7.3.4: - version "7.3.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-qunit/-/eslint-plugin-qunit-7.3.4.tgz#2465b6f29ff56fbe9b741bde2740dec109ee9bec" - integrity sha512-EbDM0zJerH9zVdUswMJpcFF7wrrpvsGuYfNexUpa5hZkkdFhaFcX+yD+RSK4Nrauw4psMGlcqeWUMhaVo+Manw== +eslint-plugin-qunit@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-qunit/-/eslint-plugin-qunit-8.0.1.tgz#4969c2a5a13c7362cee1b38a2c0c06b60437a931" + integrity sha512-3bFOPryXoQOez95oP/JfWTxHBc/bgDQQZqTuv9uYTwH5sdIvSM2TES1iHDcy/F/LvqiqIpscDAOPAjlqSCnNPg== dependencies: eslint-utils "^3.0.0" requireindex "^1.2.0"