Vault cred store filter create (#2668)

* refactor: 💡 add worker filter back to create form

✅ Closes: ICU-16281

* add helper text to worker filter generator at creation state

* set isOptional to true

* set isOptional to true

---------

Co-authored-by: cameronperera <cameron.perera@hashicorp.com>
This commit is contained in:
Laurenandcameronperera authored and GitHub committed 2025-01-28 16:46:11 -05:00
1 parent 9742d824c4
commit c72d4f35a0
6 files changed
+51 -4

No files matched your search

@@ -117,6 +117,34 @@
{{/if}}
</Hds::Form::TextInput::Field>
{{! worker_filter }}
{{#if (and (feature-flag 'vault-worker-filter') @model.isNew)}}
{{#let (unique-id) (unique-id) as |labelId helpId|}}
<Hds::Form::Fieldset
@isOptional={{true}}
aria-labelledby={{labelId}}
aria-describedby={{helpId}}
class='worker-filter-generator-form-layout'
as |F|
>
<F.Legend id={{labelId}}>{{t 'form.worker_filter.label'}}</F.Legend>
<F.HelperText id={{helpId}}>
{{t 'resources.credential-store.worker-filter.description'}}
<Hds::Link::Inline @href={{doc-url 'worker-filters'}}>
{{t 'actions.learn-more'}}
</Hds::Link::Inline>
</F.HelperText>
<F.Control>
<WorkerFilterGenerator
@model={{@model}}
@name='worker_filter'
@hideToolbar={{true}}
/>
</F.Control>
</Hds::Form::Fieldset>
{{/let}}
{{/if}}
{{#if (or @model.isNew form.isEditable)}}
<Hds::Form::TextInput::Field
name='token'
@@ -460,7 +460,7 @@
<Hds::Form::Fieldset
aria-labelledby={{labelId}}
aria-describedby={{helpId}}
class='storage-bucket-worker-filter'
class='worker-filter-generator-form-layout'
@isRequired={{true}}
as |F|
>
@@ -319,7 +319,7 @@
<Hds::Form::Fieldset
aria-labelledby={{labelId}}
aria-describedby={{helpId}}
class='storage-bucket-worker-filter'
class='worker-filter-generator-form-layout'
@isRequired={{true}}
as |F|
>
+2 -2
View File
@@ -1077,8 +1077,8 @@
align-items: flex-start;
}
// storage buckets
.storage-bucket-worker-filter {
// worker filter generator layout in form
.worker-filter-generator-form-layout {
.hds-form-field--layout-flag {
margin-bottom: 0;
}
@@ -89,6 +89,24 @@ module('Acceptance | credential-stores | create', function (hooks) {
assert.strictEqual(getVaultCredentialStoresCount(), count + 1);
});
test('Users can create a new credential store of type vault with a worker filter', async function (assert) {
featuresService.enable('static-credentials');
featuresService.enable('vault-worker-filter');
const count = getVaultCredentialStoresCount();
await visit(urls.newCredentialStore);
await fillIn(commonSelectors.FIELD_NAME, commonSelectors.FIELD_NAME_VALUE);
await click(selectors.TYPE_VAULT);
await fillIn(
selectors.CODE_EDITOR_BODY,
selectors.EDITOR_WORKER_FILTER_VALUE,
);
await click(commonSelectors.SAVE_BTN);
assert.dom(selectors.CODE_BLOCK_BODY).doesNotExist();
assert.strictEqual(getVaultCredentialStoresCount(), count + 1);
});
test('Users can cancel create new credential stores', async function (assert) {
const count = getCredentialStoresCount();
await visit(urls.newCredentialStore);
@@ -11,6 +11,7 @@ export const EDIT_ACTION =
export const CODE_EDITOR_BODY = '[data-test-code-editor-field-editor] textarea';
export const CODE_BLOCK_BODY = '.hds-code-block__code';
export const EDITOR_WORKER_FILTER_VALUE = '"dev" in "/tags/env"';
export const TYPE_VAULT = '[value="vault"]';