mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-09 16:17:01 +02:00
* move date-from-now helper to addon * make overview cards consistent across engines * make kv-paths-card component * remove overview margin all together * small styling changes for paths card * small selector additions * add overview card test * add overview page and test * add default timestamp format * cleanup paths test * fix dateFromNow import * fix selectors, cleanup pki selectors * and more selector cleanup * make deactivated state single arg * fix template and remove @isDeleted and @isDestroyed * add test and hide badge unless deactivated * address failings from changing selectors * oops, not ready to show overview tab just yet! * add deletionTime to currentSecret metadata getter
80 lines
2.4 KiB
JavaScript
80 lines
2.4 KiB
JavaScript
/**
|
|
* 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`<OverviewCard @cardTitle={{this.cardTitle}}/>`);
|
|
assert.dom(SELECTORS.title).hasText('Card title');
|
|
});
|
|
test('it returns custom title if both exist', async function (assert) {
|
|
await render(hbs`
|
|
<OverviewCard @cardTitle={{this.cardTitle}}>
|
|
<:customTitle>
|
|
Fancy custom title
|
|
</:customTitle>
|
|
</OverviewCard>
|
|
`);
|
|
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`<OverviewCard @cardTitle={{this.cardTitle}} @subText={{this.subText}} />`);
|
|
assert.dom(SELECTORS.subtitle).hasText('This is subtext for card');
|
|
});
|
|
test('it renders card action text', async function (assert) {
|
|
await render(
|
|
hbs`
|
|
<OverviewCard @cardTitle={{this.cardTitle}}>
|
|
<:action>
|
|
<div data-test-action-text>
|
|
{{this.actionText}}
|
|
</div>
|
|
</:action>
|
|
</OverviewCard>
|
|
`
|
|
);
|
|
assert.dom(SELECTORS.action).hasText('View card');
|
|
});
|
|
test('it renders custom subtext text', async function (assert) {
|
|
await render(
|
|
hbs`
|
|
<OverviewCard @cardTitle={{this.cardTitle}}>
|
|
<:customSubtext>
|
|
<div data-test-custom-subtext>
|
|
Fancy yielded subtext
|
|
</div>
|
|
</:customSubtext>
|
|
</OverviewCard>
|
|
`
|
|
);
|
|
assert.dom(SELECTORS.customSubtext).hasText('Fancy yielded subtext');
|
|
});
|
|
});
|