/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: BUSL-1.1 */ import { module, test } from 'qunit'; import { setupRenderingTest } from 'vault/tests/helpers'; import { render } from '@ember/test-helpers'; import { hbs } from 'ember-cli-htmlbars'; import { setupEngine } from 'ember-engines/test-support'; module('Integration | Component | parsed-certificate-info-rows', function (hooks) { setupRenderingTest(hooks); setupEngine(hooks, 'pki'); test('it renders nothing if no valid attributes passed', async function (assert) { this.set('parsedCertificate', { foo: '', common_name: 'not-shown', }); await render(hbs``, { owner: this.engine, }); assert.dom(this.element).hasText(''); }); test('it renders only valid attributes with values', async function (assert) { this.set('parsedCertificate', { common_name: 'not-shown', use_pss: false, alt_names: ['something', 'here'], ttl: undefined, }); await render(hbs``, { owner: this.engine, }); assert.dom('[data-test-component="info-table-row"]').exists({ count: 2 }, 'renders 2 rows'); assert.dom('[data-test-value-div="Common name"]').doesNotExist('common name is never rendered'); assert.dom('[data-test-row-value="Subject Alternative Names (SANs)"]').hasText('something,here'); assert.dom('[data-test-value-div="Use PSS"]').hasText('No', 'Booleans are rendered'); assert.dom('[data-test-value-div="ttl"]').doesNotExist('ttl is not rendered because value undefined'); assert .dom('[data-test-parsing-error-alert-banner]') .doesNotExist('does not render parsing error info banner'); }); });