diff --git a/.changeset/tidy-roses-cross.md b/.changeset/tidy-roses-cross.md new file mode 100644 index 00000000..42fde8ff --- /dev/null +++ b/.changeset/tidy-roses-cross.md @@ -0,0 +1,6 @@ +--- +'@crowdstrike/ember-toucan-core': minor +'@crowdstrike/ember-toucan-form': minor +--- + +Remove Button's test helpers diff --git a/packages/ember-toucan-core/src/test-support/components/button.ts b/packages/ember-toucan-core/src/test-support/components/button.ts deleted file mode 100644 index 0c41e5a3..00000000 --- a/packages/ember-toucan-core/src/test-support/components/button.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { click } from '@ember/test-helpers'; - -import { PageObject } from 'fractal-page-object'; - -export class ButtonPageObject extends PageObject { - async click() { - if (this.element) { - await click(this.element); - } - } - - get isLoading() { - return Boolean(this.element?.querySelector('[data-loading]')); - } - - get isDisabled() { - return Boolean(this.element?.hasAttribute('aria-disabled')); - } - - get text() { - return this.element?.textContent?.trim(); - } -} diff --git a/packages/ember-toucan-core/src/test-support/index.ts b/packages/ember-toucan-core/src/test-support/index.ts index e885ae5c..ad1734fd 100644 --- a/packages/ember-toucan-core/src/test-support/index.ts +++ b/packages/ember-toucan-core/src/test-support/index.ts @@ -1,3 +1,2 @@ export { AutocompletePageObject } from './components/autocomplete'; -export { ButtonPageObject } from './components/button'; export { MultiselectPageObject } from './components/multiselect'; diff --git a/test-app/tests/integration/components/button-test.gts b/test-app/tests/integration/components/button-test.gts index caf6b819..71971ce4 100644 --- a/test-app/tests/integration/components/button-test.gts +++ b/test-app/tests/integration/components/button-test.gts @@ -1,16 +1,12 @@ -import { render, setupOnerror } from '@ember/test-helpers'; +import { click, render, setupOnerror } from '@ember/test-helpers'; import { module, test } from 'qunit'; import Button from '@crowdstrike/ember-toucan-core/components/button'; import { setupRenderingTest } from 'test-app/tests/helpers'; -import { ButtonPageObject } from '@crowdstrike/ember-toucan-core/test-support'; - module('Integration | Component | button', function (hooks) { setupRenderingTest(hooks); - let buttonPageObject = new ButtonPageObject('[data-button]'); - test('it renders', async function (assert) { await render(); - assert.strictEqual(buttonPageObject.text, 'text'); - assert.false(buttonPageObject.isDisabled); + assert.dom('[data-button]').hasText('text'); + assert.dom('[data-button]').isEnabled(); assert - .dom(buttonPageObject.element) + .dom('[data-button]') .hasAttribute('type', 'button', 'Expected default type to be "button"'); }); @@ -35,8 +31,6 @@ module('Integration | Component | button', function (hooks) { ); - assert.true(buttonPageObject.isLoading); - assert .dom('[data-test-loading-content]') .exists('Expect to have loading named block rendered'); @@ -55,8 +49,6 @@ module('Integration | Component | button', function (hooks) { ); - assert.false(buttonPageObject.isLoading); - assert .dom('[data-test-loading]') .doesNotExist('Expected to NOT have loading named block rendered'); @@ -73,7 +65,7 @@ module('Integration | Component | button', function (hooks) { ); - assert.true(buttonPageObject.isDisabled); + assert.dom('[data-button]').hasAttribute('aria-disabled', 'true'); }); test('it yields a disabled named block when `@isDisabled={{true}}', async function (assert) { @@ -123,7 +115,7 @@ module('Integration | Component | button', function (hooks) { assert.verifySteps([]); - await buttonPageObject.click(); + await click('[data-button]'); assert.verifySteps(['clicked']); }); @@ -139,7 +131,7 @@ module('Integration | Component | button', function (hooks) { assert.verifySteps([]); - await buttonPageObject.click(); + await click('[data-button]'); assert.verifySteps([]); }); @@ -150,7 +142,7 @@ module('Integration | Component | button', function (hooks) { setupOnerror((e: Error) => { assert.ok( e.message.includes('Invalid variant for Button'), - 'Expected assertion error message' + 'Expected assertion error message', ); });