From ae1e6d27489f3259e6622b9fdb5781a365eb5473 Mon Sep 17 00:00:00 2001 From: Cameron Perera Date: Tue, 28 Jan 2025 18:24:38 -0600 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20add=20showFilterGenerato?= =?UTF-8?q?r=20to=20WorkerFilterGenerator=20comp=20(#2669)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Closes: https://hashicorp.atlassian.net/browse/ICU-16282 --- .../components/form/worker-filter/index.hbs | 6 ++- .../worker-filter-generator/index.js | 2 +- .../worker-filter-generator/index-test.js | 43 +++++++++++++++---- 3 files changed, 40 insertions(+), 11 deletions(-) diff --git a/ui/admin/app/components/form/worker-filter/index.hbs b/ui/admin/app/components/form/worker-filter/index.hbs index d9cc163c1..7eb460f99 100644 --- a/ui/admin/app/components/form/worker-filter/index.hbs +++ b/ui/admin/app/components/form/worker-filter/index.hbs @@ -10,7 +10,11 @@ @disabled={{@model.isSaving}} as |form| > - + {{#if (can 'save model' @model)}} `, ); + await click(SHOW_FILTER_GENERATOR); + assert.dom(FILTER_GENERATOR).isVisible(); await click(SHOW_FILTER_GENERATOR); assert.dom(FILTER_GENERATOR).isNotVisible(); - - await click(SHOW_FILTER_GENERATOR); - - assert.dom(FILTER_GENERATOR).isVisible(); }); test('filter generator tag type shows key and value input boxes', async function (assert) { @@ -70,7 +68,7 @@ module( hbs``, ); - assert.dom(FILTER_GENERATOR).isVisible(); + await click(SHOW_FILTER_GENERATOR); await click(TAG_TYPE_OPTION); @@ -85,7 +83,7 @@ module( hbs``, ); - assert.dom(FILTER_GENERATOR).isVisible(); + await click(SHOW_FILTER_GENERATOR); await click(TAG_TYPE_OPTION); await fillIn(TAG_KEY, 'key1'); @@ -100,7 +98,7 @@ module( hbs``, ); - assert.dom(FILTER_GENERATOR).isVisible(); + await click(SHOW_FILTER_GENERATOR); await click(NAME_TYPE_OPTION); @@ -115,7 +113,7 @@ module( hbs``, ); - assert.dom(FILTER_GENERATOR).isVisible(); + await click(SHOW_FILTER_GENERATOR); await click(NAME_TYPE_OPTION); await fillIn(TAG_VALUE, 'val1'); @@ -130,7 +128,7 @@ module( hbs``, ); - assert.dom(FILTER_GENERATOR).isVisible(); + await click(SHOW_FILTER_GENERATOR); await click(NAME_TYPE_OPTION); await fillIn(TAG_VALUE, 'val1'); @@ -142,5 +140,32 @@ module( assert.dom(GENERATED_VALUE).hasNoValue(); }); + + test('filter generator is toggled on when showFilterGenerator is true and can be hidden', async function (assert) { + this.model = { ingress_worker_filter: 'ingress filter' }; + this.showFilterGenerator = true; + await render( + hbs``, + ); + + assert.dom(FILTER_GENERATOR).isVisible(); + + await click(SHOW_FILTER_GENERATOR); + + assert.dom(FILTER_GENERATOR).isNotVisible(); + }); + + test('filter generator is not toggled when showFilterGenerator is not provided and can be shown', async function (assert) { + this.model = { ingress_worker_filter: 'ingress filter' }; + await render( + hbs``, + ); + + assert.dom(FILTER_GENERATOR).isNotVisible(); + + await click(SHOW_FILTER_GENERATOR); + + assert.dom(FILTER_GENERATOR).isVisible(); + }); }, );