From de825e0d22fa1a922657cc77ac0f253f0e41db08 Mon Sep 17 00:00:00 2001 From: Patrick Cate Date: Sat, 31 Dec 2022 22:18:47 -0500 Subject: [PATCH 1/7] fix: remove extra comma from deprecation message --- src/components/UsaBannerContent/UsaBannerContent.test.js | 8 ++++---- src/components/UsaBannerContent/UsaBannerContent.vue | 8 ++++---- src/components/UsaHeroCallout/UsaHeroCallout.test.js | 2 +- src/components/UsaHeroCallout/UsaHeroCallout.vue | 2 +- src/components/UsaModal/UsaModal.test.js | 2 +- src/components/UsaModal/UsaModal.vue | 2 +- src/components/UsaPagination/UsaPagination.test.js | 8 ++++---- src/components/UsaPagination/UsaPagination.vue | 8 ++++---- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/components/UsaBannerContent/UsaBannerContent.test.js b/src/components/UsaBannerContent/UsaBannerContent.test.js index 8dacef38..7d965055 100644 --- a/src/components/UsaBannerContent/UsaBannerContent.test.js +++ b/src/components/UsaBannerContent/UsaBannerContent.test.js @@ -78,19 +78,19 @@ describe('UsaBannerContent', () => { cy.get('@consoleWarn').should( 'be.calledWith', - `The 'tldIcon' slot' is deprecated, use 'tld-icon' instead.` + `The 'tldIcon' slot is deprecated, use 'tld-icon' instead.` ) cy.get('@consoleWarn').should( 'be.calledWith', - `The 'tldDescription' slot' is deprecated, use 'tld-description' instead.` + `The 'tldDescription' slot is deprecated, use 'tld-description' instead.` ) cy.get('@consoleWarn').should( 'be.calledWith', - `The 'httpsIcon' slot' is deprecated, use 'https-icon' instead.` + `The 'httpsIcon' slot is deprecated, use 'https-icon' instead.` ) cy.get('@consoleWarn').should( 'be.calledWith', - `The 'httpsDescription' slot' is deprecated, use 'https-description' instead.` + `The 'httpsDescription' slot is deprecated, use 'https-description' instead.` ) cy.get('.usa-banner__guidance').should( diff --git a/src/components/UsaBannerContent/UsaBannerContent.vue b/src/components/UsaBannerContent/UsaBannerContent.vue index 590c6496..9bdcbc9f 100644 --- a/src/components/UsaBannerContent/UsaBannerContent.vue +++ b/src/components/UsaBannerContent/UsaBannerContent.vue @@ -9,22 +9,22 @@ import { const slots = useSlots() if (slots?.tldIcon) { - console.warn(`The 'tldIcon' slot' is deprecated, use 'tld-icon' instead.`) + console.warn(`The 'tldIcon' slot is deprecated, use 'tld-icon' instead.`) } if (slots?.tldDescription) { console.warn( - `The 'tldDescription' slot' is deprecated, use 'tld-description' instead.` + `The 'tldDescription' slot is deprecated, use 'tld-description' instead.` ) } if (slots?.httpsIcon) { - console.warn(`The 'httpsIcon' slot' is deprecated, use 'https-icon' instead.`) + console.warn(`The 'httpsIcon' slot is deprecated, use 'https-icon' instead.`) } if (slots?.httpsDescription) { console.warn( - `The 'httpsDescription' slot' is deprecated, use 'https-description' instead.` + `The 'httpsDescription' slot is deprecated, use 'https-description' instead.` ) } diff --git a/src/components/UsaHeroCallout/UsaHeroCallout.test.js b/src/components/UsaHeroCallout/UsaHeroCallout.test.js index 84152c91..81b07ef8 100644 --- a/src/components/UsaHeroCallout/UsaHeroCallout.test.js +++ b/src/components/UsaHeroCallout/UsaHeroCallout.test.js @@ -140,7 +140,7 @@ describe('UsaHeroCallout', () => { cy.get('@consoleWarn').should( 'be.calledWith', - `The 'headingAlt' slot' is deprecated, use 'heading-alt' instead.` + `The 'headingAlt' slot is deprecated, use 'heading-alt' instead.` ) }) }) diff --git a/src/components/UsaHeroCallout/UsaHeroCallout.vue b/src/components/UsaHeroCallout/UsaHeroCallout.vue index 0ce416cb..21e4ab01 100644 --- a/src/components/UsaHeroCallout/UsaHeroCallout.vue +++ b/src/components/UsaHeroCallout/UsaHeroCallout.vue @@ -6,7 +6,7 @@ const slots = useSlots() if (slots?.headingAlt) { console.warn( - `The 'headingAlt' slot' is deprecated, use 'heading-alt' instead.` + `The 'headingAlt' slot is deprecated, use 'heading-alt' instead.` ) } diff --git a/src/components/UsaModal/UsaModal.test.js b/src/components/UsaModal/UsaModal.test.js index 7f5f8da6..cb296525 100644 --- a/src/components/UsaModal/UsaModal.test.js +++ b/src/components/UsaModal/UsaModal.test.js @@ -465,7 +465,7 @@ describe('UsaModal', () => { cy.get('@consoleWarn').should( 'be.calledWith', - `The 'closeButton' slot' is deprecated, use 'close-button' instead.` + `The 'closeButton' slot is deprecated, use 'close-button' instead.` ) }) }) diff --git a/src/components/UsaModal/UsaModal.vue b/src/components/UsaModal/UsaModal.vue index 3d49a191..0a334e12 100644 --- a/src/components/UsaModal/UsaModal.vue +++ b/src/components/UsaModal/UsaModal.vue @@ -10,7 +10,7 @@ const slots = useSlots() if (slots?.closeButton) { console.warn( - `The 'closeButton' slot' is deprecated, use 'close-button' instead.` + `The 'closeButton' slot is deprecated, use 'close-button' instead.` ) } diff --git a/src/components/UsaPagination/UsaPagination.test.js b/src/components/UsaPagination/UsaPagination.test.js index 21ee304d..cfc689b8 100644 --- a/src/components/UsaPagination/UsaPagination.test.js +++ b/src/components/UsaPagination/UsaPagination.test.js @@ -817,21 +817,21 @@ describe('UsaPagination', () => { cy.get('@consoleWarn').should( 'be.calledWith', - `The 'previousIcon' slot' is deprecated, use 'previous-icon' instead.` + `The 'previousIcon' slot is deprecated, use 'previous-icon' instead.` ) cy.get('@consoleWarn').should( 'be.calledWith', - `The 'previousLabel' slot' is deprecated, use 'previous-label' instead.` + `The 'previousLabel' slot is deprecated, use 'previous-label' instead.` ) cy.get('@consoleWarn').should( 'be.calledWith', - `The 'nextIcon' slot' is deprecated, use 'next-icon' instead.` + `The 'nextIcon' slot is deprecated, use 'next-icon' instead.` ) cy.get('@consoleWarn').should( 'be.calledWith', - `The 'nextLabel' slot' is deprecated, use 'next-label' instead.` + `The 'nextLabel' slot is deprecated, use 'next-label' instead.` ) cy.get('span.test-next-label').should( diff --git a/src/components/UsaPagination/UsaPagination.vue b/src/components/UsaPagination/UsaPagination.vue index a0d6dbe4..135b67d7 100644 --- a/src/components/UsaPagination/UsaPagination.vue +++ b/src/components/UsaPagination/UsaPagination.vue @@ -8,22 +8,22 @@ const slots = useSlots() if (slots?.previousIcon) { console.warn( - `The 'previousIcon' slot' is deprecated, use 'previous-icon' instead.` + `The 'previousIcon' slot is deprecated, use 'previous-icon' instead.` ) } if (slots?.previousLabel) { console.warn( - `The 'previousLabel' slot' is deprecated, use 'previous-label' instead.` + `The 'previousLabel' slot is deprecated, use 'previous-label' instead.` ) } if (slots?.nextIcon) { - console.warn(`The 'nextIcon' slot' is deprecated, use 'next-icon' instead.`) + console.warn(`The 'nextIcon' slot is deprecated, use 'next-icon' instead.`) } if (slots?.nextLabel) { - console.warn(`The 'nextLabel' slot' is deprecated, use 'next-label' instead.`) + console.warn(`The 'nextLabel' slot is deprecated, use 'next-label' instead.`) } const emit = defineEmits(['update:currentPage']) From 38ae9e4209bff60911bed1e84260ef74099d3dda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 8 Jan 2023 06:59:01 +0000 Subject: [PATCH 2/7] chore (npm): bump json5 from 1.0.1 to 1.0.2 Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 60 +++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/package-lock.json b/package-lock.json index db153260..bb725f14 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10328,9 +10328,9 @@ } }, "node_modules/css-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -14825,9 +14825,9 @@ } }, "node_modules/html-webpack-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -17071,9 +17071,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -28432,9 +28432,9 @@ } }, "node_modules/vue-docgen-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -29264,9 +29264,9 @@ } }, "node_modules/webpack/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "dependencies": { "minimist": "^1.2.0" @@ -37394,9 +37394,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -40799,9 +40799,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -42517,9 +42517,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "jsonfile": { @@ -51111,9 +51111,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -51671,9 +51671,9 @@ "dev": true }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dev": true, "requires": { "minimist": "^1.2.0" From aa084488eb91c192690cd6929ac2ad70ca34b562 Mon Sep 17 00:00:00 2001 From: Patrick Cate Date: Sun, 8 Jan 2023 11:06:48 -0500 Subject: [PATCH 3/7] feat(UsaSelect): add explicit `group` prop option --- src/components/UsaSelect/UsaSelect.stories.js | 100 ++++++++++-------- src/components/UsaSelect/UsaSelect.test.js | 14 +++ src/components/UsaSelect/UsaSelect.vue | 19 +++- 3 files changed, 87 insertions(+), 46 deletions(-) diff --git a/src/components/UsaSelect/UsaSelect.stories.js b/src/components/UsaSelect/UsaSelect.stories.js index 80e9fe2d..3d69a249 100644 --- a/src/components/UsaSelect/UsaSelect.stories.js +++ b/src/components/UsaSelect/UsaSelect.stories.js @@ -73,6 +73,9 @@ export default { modelValue: { control: { type: 'text' }, }, + group: { + control: { type: 'boolean' }, + }, label: { control: { type: 'text' }, table: { @@ -112,6 +115,7 @@ export default { options: defaultProps.options, emptyLabel: defaultProps.emptyLabel, modelValue: defaultProps.modelValue, + group: defaultProps.group, label: defaultProps.label, required: defaultProps.required, error: defaultProps.error, @@ -140,6 +144,7 @@ const DefaultTemplate = (args, { argTypes }) => ({ v-bind="$attrs" :options="options" :empty-label="emptyLabel" + :group="group" :label="label" :required="required" :error="error" @@ -160,103 +165,112 @@ const DefaultTemplate = (args, { argTypes }) => ({ `, }) -export const DefaultDropdown = DefaultTemplate.bind({}) -DefaultDropdown.args = { +export const DefaultSelect = DefaultTemplate.bind({}) +DefaultSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, } -DefaultDropdown.storyName = 'Default' +DefaultSelect.storyName = 'Default' -export const DefaultByDefaultDropdown = DefaultTemplate.bind({}) -DefaultByDefaultDropdown.args = { +export const DefaultByDefaultSelect = DefaultTemplate.bind({}) +DefaultByDefaultSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, modelValue: '2', } -DefaultByDefaultDropdown.storyName = 'Selected by Default' +DefaultByDefaultSelect.storyName = 'Selected by Default' -export const HintDropdown = DefaultTemplate.bind({}) -HintDropdown.args = { +export const HintSelect = DefaultTemplate.bind({}) +HintSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, hint: 'Choose wisely', } -HintDropdown.storyName = 'Hint' +HintSelect.storyName = 'Hint' -export const ErrorDropdown = DefaultTemplate.bind({}) -ErrorDropdown.args = { +export const ErrorSelect = DefaultTemplate.bind({}) +ErrorSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, error: true, } -ErrorDropdown.storyName = 'Error' +ErrorSelect.storyName = 'Error' -export const ErrorMessageDropdown = DefaultTemplate.bind({}) -ErrorMessageDropdown.args = { +export const ErrorMessageSelect = DefaultTemplate.bind({}) +ErrorMessageSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, error: true, 'error-message': 'Error message here', } -ErrorMessageDropdown.storyName = 'Error Message' +ErrorMessageSelect.storyName = 'Error Message' + +export const GroupedSelect = DefaultTemplate.bind({}) +GroupedSelect.args = { + ...defaultProps, + label: 'Select label', + options: testOptions, + group: true, +} +GroupedSelect.storyName = 'Group Elements' -export const RequiredDropdown = DefaultTemplate.bind({}) -RequiredDropdown.args = { +export const RequiredSelect = DefaultTemplate.bind({}) +RequiredSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, required: true, } -RequiredDropdown.storyName = 'Required' +RequiredSelect.storyName = 'Required' -export const CustomEmptyLabelDropdown = DefaultTemplate.bind({}) -CustomEmptyLabelDropdown.args = { +export const CustomEmptyLabelSelect = DefaultTemplate.bind({}) +CustomEmptyLabelSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, emptyLabel: 'Custom empty label', } -CustomEmptyLabelDropdown.storyName = 'Custom Empty Label' +CustomEmptyLabelSelect.storyName = 'Custom Empty Label' -export const LabelSlotDropdown = DefaultTemplate.bind({}) -LabelSlotDropdown.args = { +export const LabelSlotSelect = DefaultTemplate.bind({}) +LabelSlotSelect.args = { ...defaultProps, options: testOptions, 'slot:label': `Label slot content`, } -LabelSlotDropdown.storyName = 'Label Slot' +LabelSlotSelect.storyName = 'Label Slot' -export const ScopedSlotDropdown = DefaultTemplate.bind({}) -ScopedSlotDropdown.args = { +export const ScopedSlotSelect = DefaultTemplate.bind({}) +ScopedSlotSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, default: ``, } -ScopedSlotDropdown.storyName = 'Scoped Slot' +ScopedSlotSelect.storyName = 'Scoped Slot' -export const CustomIdDropdown = DefaultTemplate.bind({}) -CustomIdDropdown.args = { +export const CustomIdSelect = DefaultTemplate.bind({}) +CustomIdSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, id: 'custom-id', } -CustomIdDropdown.storyName = 'Custom ID' +CustomIdSelect.storyName = 'Custom ID' -export const CustomClassesDropdown = DefaultTemplate.bind({}) -CustomClassesDropdown.args = { +export const CustomClassesSelect = DefaultTemplate.bind({}) +CustomClassesSelect.args = { ...defaultProps, - label: 'Dropdown label', + label: 'Select label', options: testOptions, customClasses: { component: ['test-component-class'], label: ['test-label-class'], }, } -CustomClassesDropdown.storyName = 'Custom CSS Classes' +CustomClassesSelect.storyName = 'Custom CSS Classes' diff --git a/src/components/UsaSelect/UsaSelect.test.js b/src/components/UsaSelect/UsaSelect.test.js index 174762a4..af2c9586 100644 --- a/src/components/UsaSelect/UsaSelect.test.js +++ b/src/components/UsaSelect/UsaSelect.test.js @@ -360,4 +360,18 @@ describe('UsaSelect', () => { cy.get('.usa-form-group').should('have.class', 'test-component-class') cy.get('.usa-label').should('have.class', 'test-label-class') }) + + it('use group wrapper if `group` prop is true', () => { + mount(UsaSelect, { + props: { + group: true, + }, + attrs: { + 'aria-describedby': 'test-hint', + }, + }) + + cy.get('div.usa-form-group').should('exist') + cy.get('select').should('have.attr', 'aria-describedby', 'test-hint') + }) }) diff --git a/src/components/UsaSelect/UsaSelect.vue b/src/components/UsaSelect/UsaSelect.vue index aa4bbb53..3c2663af 100644 --- a/src/components/UsaSelect/UsaSelect.vue +++ b/src/components/UsaSelect/UsaSelect.vue @@ -5,12 +5,13 @@ export default {