feat: 🎸 add showFilterGenerator to WorkerFilterGenerator comp (#2669)

✅ Closes: https://hashicorp.atlassian.net/browse/ICU-16282
This commit is contained in:
Cameron Perera authored and GitHub committed 2025-01-28 16:24:38 -08:00
1 parent c72d4f35a0
commit ae1e6d2748
3 files changed
+40 -11

No files matched your search

@@ -10,7 +10,11 @@
@disabled={{@model.isSaving}}
as |form|
>
<WorkerFilterGenerator @model={{@model}} @name={{@name}} />
<WorkerFilterGenerator
@model={{@model}}
@name={{@name}}
@showFilterGenerator={{true}}
/>
{{#if (can 'save model' @model)}}
<form.actions
@@ -13,7 +13,7 @@ export default class WorkerFilterGeneratorIndexComponent extends Component {
generatorTagType = 'tag';
generatorNameType = 'name';
operatorOptions = ['==', 'matches', 'contains'];
@tracked showFilterGenerator = true;
@tracked showFilterGenerator = this.args.showFilterGenerator;
@tracked selectedGeneratorType = this.generatorTagType;
@tracked key = '';
@tracked value = '';
@@ -53,15 +53,13 @@ module(
hbs`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.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`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.model}} />`,
);
assert.dom(FILTER_GENERATOR).isVisible();
await click(SHOW_FILTER_GENERATOR);
await click(TAG_TYPE_OPTION);
@@ -85,7 +83,7 @@ module(
hbs`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.model}} />`,
);
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`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.model}} />`,
);
assert.dom(FILTER_GENERATOR).isVisible();
await click(SHOW_FILTER_GENERATOR);
await click(NAME_TYPE_OPTION);
@@ -115,7 +113,7 @@ module(
hbs`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.model}} />`,
);
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`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.model}} />`,
);
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`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.model}} @showFilterGenerator={{this.showFilterGenerator}} />`,
);
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`<WorkerFilterGenerator @name='ingress_worker_filter' @model={{this.model}} />`,
);
assert.dom(FILTER_GENERATOR).isNotVisible();
await click(SHOW_FILTER_GENERATOR);
assert.dom(FILTER_GENERATOR).isVisible();
});
},
);