/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: BUSL-1.1 */ import { module, test } from 'qunit'; import { setupRenderingTest } from 'ember-qunit'; import { render } from '@ember/test-helpers'; import hbs from 'htmlbars-inline-precompile'; const CARD_TITLE = 'Card title'; const ACTION_TEXT = 'View card'; const SUBTEXT = 'This is subtext for card'; const SELECTORS = { container: '[data-test-overview-card-container]', title: '[data-test-overview-card-title]', subtitle: '[data-test-overview-card-subtitle]', action: '[data-test-action-text]', customSubtext: '[data-test-custom-subtext]', }; module('Integration | Component | overview-card', function (hooks) { setupRenderingTest(hooks); hooks.beforeEach(function () { this.set('cardTitle', CARD_TITLE); this.set('actionText', ACTION_TEXT); this.set('subText', SUBTEXT); }); test('it returns card title', async function (assert) { await render(hbs``); assert.dom(SELECTORS.title).hasText('Card title'); }); test('it returns custom title if both exist', async function (assert) { await render(hbs` <:customTitle> Fancy custom title `); assert.dom(SELECTORS.container).hasText('Fancy custom title'); assert.dom(SELECTORS.container).doesNotIncludeText(this.cardTitle); }); test('it renders card @subText arg, ', async function (assert) { await render(hbs``); assert.dom(SELECTORS.subtitle).hasText('This is subtext for card'); }); test('it renders card action text', async function (assert) { await render( hbs` <:action>
{{this.actionText}}
` ); assert.dom(SELECTORS.action).hasText('View card'); }); test('it renders custom subtext text', async function (assert) { await render( hbs` <:customSubtext>
Fancy yielded subtext
` ); assert.dom(SELECTORS.customSubtext).hasText('Fancy yielded subtext'); }); });