/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { module, test } from 'qunit'; import { setupRenderingTest } from 'admin/tests/helpers'; import { render } from '@ember/test-helpers'; import { hbs } from 'ember-cli-htmlbars'; import { setupIntl } from 'ember-intl/test-support'; module('Integration | Component | worker-diagram/index', function (hooks) { setupRenderingTest(hooks); setupIntl(hooks); let featuresService; const targetWorkerFilterIngress = 'target-worker-filters-v2-ingress'; const targetWorkerFilterHCP = 'target-worker-filters-v2-hcp'; 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)); assert.dom('[data-test-single-filter-egress-off]').isVisible(); }); 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``); assert.dom('[data-test-dual-filter-egress-off-ingress-off]').isVisible(); }); test('it renders an HCP dual filter diagram when `target-worker-filters-v2-hcp` is enabled', async function (assert) { 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)); assert .dom('[data-test-dual-filter-hcp-egress-off-ingress-off]') .isVisible(); }); });