diff --git a/app/assets/javascripts/vue_shared/gl_feature_flags_plugin.js b/app/assets/javascripts/vue_shared/gl_feature_flags_plugin.js index c12ffaac40aea5810c1e623580df1576ce006f0f..79946ebaecd19ac831d5e6946572591eebc58941 100644 --- a/app/assets/javascripts/vue_shared/gl_feature_flags_plugin.js +++ b/app/assets/javascripts/vue_shared/gl_feature_flags_plugin.js @@ -1,12 +1,14 @@ export default (Vue) => { Vue.mixin({ - provide: { - glFeatures: - { - ...window.gon?.features, - // TODO: extract into glLicensedFeatures https://gitlab.com/gitlab-org/gitlab/-/issues/322460 - ...window.gon?.licensed_features, - } || {}, + provide() { + return { + glFeatures: + { + ...window.gon?.features, + // TODO: extract into glLicensedFeatures https://gitlab.com/gitlab-org/gitlab/-/issues/322460 + ...window.gon?.licensed_features, + } || {}, + }; }, }); }; diff --git a/ee/spec/frontend/analytics/code_review_analytics/components/__snapshots__/merge_request_table_spec.js.snap b/ee/spec/frontend/analytics/code_review_analytics/components/__snapshots__/merge_request_table_spec.js.snap index 1fc2529a415949e9aea462751515bd486d036ba1..8379f37ca11301770839aa750ccf9cf5999da4fc 100644 --- a/ee/spec/frontend/analytics/code_review_analytics/components/__snapshots__/merge_request_table_spec.js.snap +++ b/ee/spec/frontend/analytics/code_review_analytics/components/__snapshots__/merge_request_table_spec.js.snap @@ -2,9 +2,8 @@ exports[`MergeRequestTable component template matches the snapshot 1`] = ` <table - aria-busy="false" + aria-busy="" aria-colcount="7" - aria-describedby="__BVID__36__caption_" class="table b-table gl-table my-3 b-table-stacked-sm" id="__BVID__36" role="table" diff --git a/ee/spec/frontend/boards/components/__snapshots__/board_content_sidebar_spec.js.snap b/ee/spec/frontend/boards/components/__snapshots__/board_content_sidebar_spec.js.snap index fca7fc3085ffd09bf1b60dda5ef97ead2d05781c..467441a7acbee33f44c9a1ed47af9d8394f5d33e 100644 --- a/ee/spec/frontend/boards/components/__snapshots__/board_content_sidebar_spec.js.snap +++ b/ee/spec/frontend/boards/components/__snapshots__/board_content_sidebar_spec.js.snap @@ -143,7 +143,7 @@ exports[`ee/BoardContentSidebar incident sidebar matches the snapshot 1`] = ` <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-md btn-block dropdown-menu-toggle gl-mb-2 gl-button gl-dropdown-toggle" id="__BVID__40__BV_toggle_" type="button" diff --git a/ee/spec/frontend/security_orchestration/components/policies/filters/policy_source_filter_spec.js b/ee/spec/frontend/security_orchestration/components/policies/filters/policy_source_filter_spec.js index 0d6f8524d24059d43ae5a067dfa4c11dac491c35..85fd8117213807463bdf5dcdbb445fc3ee42be16 100644 --- a/ee/spec/frontend/security_orchestration/components/policies/filters/policy_source_filter_spec.js +++ b/ee/spec/frontend/security_orchestration/components/policies/filters/policy_source_filter_spec.js @@ -14,7 +14,7 @@ describe('PolicySourceFilter component', () => { }); }; - const findToggle = () => wrapper.find('button[aria-haspopup="true"]'); + const findToggle = () => wrapper.find('button[aria-haspopup="menu"]'); afterEach(() => { wrapper.destroy(); diff --git a/ee/spec/frontend/security_orchestration/components/policies/filters/policy_type_filter_spec.js b/ee/spec/frontend/security_orchestration/components/policies/filters/policy_type_filter_spec.js index 24b11372dbcf8cdae50648cb5ff715fdb5ceec19..e921226ef27d2ff3ab22698461b705ee8afa04b0 100644 --- a/ee/spec/frontend/security_orchestration/components/policies/filters/policy_type_filter_spec.js +++ b/ee/spec/frontend/security_orchestration/components/policies/filters/policy_type_filter_spec.js @@ -14,7 +14,7 @@ describe('PolicyTypeFilter component', () => { }); }; - const findToggle = () => wrapper.find('button[aria-haspopup="true"]'); + const findToggle = () => wrapper.find('button[aria-haspopup="menu"]'); afterEach(() => { wrapper.destroy(); diff --git a/ee/spec/frontend/subscriptions/new/components/__snapshots__/modal_spec.js.snap b/ee/spec/frontend/subscriptions/new/components/__snapshots__/modal_spec.js.snap index 36fb747dc405d036a60375af43a540170841386e..c24dcdb3af1e990c09147b32ec22e3beb1da45d4 100644 --- a/ee/spec/frontend/subscriptions/new/components/__snapshots__/modal_spec.js.snap +++ b/ee/spec/frontend/subscriptions/new/components/__snapshots__/modal_spec.js.snap @@ -4,16 +4,16 @@ exports[`Modal component matches the snapshot 1`] = ` <b-modal-stub canceltitle="Cancel" cancelvariant="secondary" + footertag="footer" headerclosecontent="×" headercloselabel="Close" + headertag="header" id="subscription-modal" - ignoreenforcefocusselector="" lazy="true" modalclass="gl-modal," oktitle="OK" okvariant="primary" size="sm" - title="" titletag="h4" > diff --git a/ee/spec/frontend/vue_merge_request_widget/extensions/license_compliance/__snapshots__/index_spec.js.snap b/ee/spec/frontend/vue_merge_request_widget/extensions/license_compliance/__snapshots__/index_spec.js.snap index bef2e6a2e52659d44389127c192f4f71fccdad6b..206d5588751b3848214d689b3af07d66e75e2696 100644 --- a/ee/spec/frontend/vue_merge_request_widget/extensions/license_compliance/__snapshots__/index_spec.js.snap +++ b/ee/spec/frontend/vue_merge_request_widget/extensions/license_compliance/__snapshots__/index_spec.js.snap @@ -159,7 +159,7 @@ exports[`License Compliance extension expanded data with new licenses displays a <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-sm gl-p-2! gl-button gl-dropdown-toggle btn-default-tertiary dropdown-icon-only dropdown-toggle-no-caret" id="__BVID__619__BV_toggle_" type="button" @@ -572,7 +572,7 @@ exports[`License Compliance extension expanded data with new licenses displays u <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-sm gl-p-2! gl-button gl-dropdown-toggle btn-default-tertiary dropdown-icon-only dropdown-toggle-no-caret" id="__BVID__527__BV_toggle_" type="button" diff --git a/ee/spec/frontend/vulnerabilities/new_vulnerability/section_details_spec.js b/ee/spec/frontend/vulnerabilities/new_vulnerability/section_details_spec.js index 3c70d88d6c3c7f69f2bd1b695860e141cda676dc..d1f6467e26a7ac31be3fe2984cb83b8262d2e158 100644 --- a/ee/spec/frontend/vulnerabilities/new_vulnerability/section_details_spec.js +++ b/ee/spec/frontend/vulnerabilities/new_vulnerability/section_details_spec.js @@ -96,11 +96,11 @@ describe('New vulnerability - Section Details', () => { await nextTick(); // severity input - expect(wrapper.findAllByRole('alert').at(0).text()).toBe('Select a severity level'); expect(findFormGroup(1).attributes('aria-invalid')).toBe('true'); + expect(findFormGroup(1).find('.invalid-feedback').text()).toBe('Select a severity level'); // status input - expect(wrapper.findAllByRole('alert').at(1).text()).toBe('Select a status'); expect(findFormGroup(2).attributes('aria-invalid')).toBe('true'); + expect(findFormGroup(2).find('.invalid-feedback').text()).toBe('Select a status'); }); }); diff --git a/ee/spec/frontend/vulnerabilities/new_vulnerability/section_identifiers_spec.js b/ee/spec/frontend/vulnerabilities/new_vulnerability/section_identifiers_spec.js index 692ec14f3c207b06ede84148e27cd5b505876d39..b7e496c3eea732a3e9f99aebcf615bafba3ce089 100644 --- a/ee/spec/frontend/vulnerabilities/new_vulnerability/section_identifiers_spec.js +++ b/ee/spec/frontend/vulnerabilities/new_vulnerability/section_identifiers_spec.js @@ -50,10 +50,12 @@ describe('New vulnerability - Section Identifiers', () => { await nextTick(); expect(findFormGroup(0).attributes('aria-invalid')).toBe('true'); - expect(wrapper.findAllByRole('alert').at(0).text()).toBe('Enter the CVE or CWE code'); + expect(findFormGroup(0).find('.invalid-feedback').text()).toBe('Enter the CVE or CWE code'); expect(findFormGroup(1).attributes('aria-invalid')).toBe('true'); - expect(wrapper.findAllByRole('alert').at(1).text()).toBe('Enter the CVE or CWE identifier URL'); + expect(findFormGroup(1).find('.invalid-feedback').text()).toBe( + 'Enter the CVE or CWE identifier URL', + ); }); it('emits change event when input changes', () => { diff --git a/ee/spec/frontend/vulnerabilities/new_vulnerability/section_name_spec.js b/ee/spec/frontend/vulnerabilities/new_vulnerability/section_name_spec.js index 19fafb2461286ab1d51b7b0a330e4dfe95cb61da..0b26d32e1689dd8726e0b62b96823afefcb5fc8c 100644 --- a/ee/spec/frontend/vulnerabilities/new_vulnerability/section_name_spec.js +++ b/ee/spec/frontend/vulnerabilities/new_vulnerability/section_name_spec.js @@ -80,7 +80,7 @@ describe('New vulnerability - Section Name', () => { await nextTick(); - expect(wrapper.findByRole('alert').text()).toBe('Enter a name'); + expect(wrapper.find('.invalid-feedback').text()).toBe('Enter a name'); expect(findFormGroup(0).attributes('aria-invalid')).toBe('true'); }); }); diff --git a/spec/features/groups/members/sort_members_spec.rb b/spec/features/groups/members/sort_members_spec.rb index bf8e64fa1e29042a8e30addc14e91c52f3c6e1a4..9892d6fec1eec7f55e523f05c0b4908a437247f5 100644 --- a/spec/features/groups/members/sort_members_spec.rb +++ b/spec/features/groups/members/sort_members_spec.rb @@ -18,7 +18,7 @@ def expect_sort_by(text, sort_direction) within('[data-testid="members-sort-dropdown"]') do - expect(page).to have_css('button[aria-haspopup="true"]', text: text) + expect(page).to have_css('button[aria-haspopup="menu"]', text: text) expect(page).to have_button("Sorting Direction: #{sort_direction == :asc ? 'Ascending' : 'Descending'}") end end diff --git a/spec/features/projects/members/sorting_spec.rb b/spec/features/projects/members/sorting_spec.rb index 8aadd6302d0b981eeab7834760f7b9d662517936..3fc5a1258e4f3080c847ad20b7194eb3dbb0b4fa 100644 --- a/spec/features/projects/members/sorting_spec.rb +++ b/spec/features/projects/members/sorting_spec.rb @@ -148,7 +148,7 @@ def second_member def expect_sort_by(text, sort_direction) within('[data-testid="members-sort-dropdown"]') do - expect(page).to have_css('button[aria-haspopup="true"]', text: text) + expect(page).to have_css('button[aria-haspopup="menu"]', text: text) expect(page).to have_button("Sorting Direction: #{sort_direction == :asc ? 'Ascending' : 'Descending'}") end end diff --git a/spec/frontend/clusters/components/__snapshots__/new_cluster_spec.js.snap b/spec/frontend/clusters/components/__snapshots__/new_cluster_spec.js.snap index 656e72baf7786b5ac3a37e63d6e92aefbf5dc795..21ffda8578a6d8bc0376fd00cb99d9bd71f8fbdc 100644 --- a/spec/frontend/clusters/components/__snapshots__/new_cluster_spec.js.snap +++ b/spec/frontend/clusters/components/__snapshots__/new_cluster_spec.js.snap @@ -3,7 +3,7 @@ exports[`NewCluster renders the cluster component correctly 1`] = ` "<div class=\\"gl-pt-4\\"> <h4>Enter your Kubernetes cluster certificate details</h4> - <p>Enter details about your cluster. <b-link-stub href=\\"/help/user/project/clusters/add_existing_cluster\\" event=\\"click\\" routertag=\\"a\\" class=\\"gl-link\\">How do I use a certificate to connect to my cluster?</b-link-stub> + <p>Enter details about your cluster. <b-link-stub href=\\"/help/user/project/clusters/add_existing_cluster\\" class=\\"gl-link\\">How do I use a certificate to connect to my cluster?</b-link-stub> </p> </div>" `; diff --git a/spec/frontend/content_editor/components/__snapshots__/toolbar_button_spec.js.snap b/spec/frontend/content_editor/components/__snapshots__/toolbar_button_spec.js.snap index a63cca006dad6472babb3bd5722a93c935a2aa7f..b8e6bcbc3c4f71e09b844316c1be3dbe08c7e918 100644 --- a/spec/frontend/content_editor/components/__snapshots__/toolbar_button_spec.js.snap +++ b/spec/frontend/content_editor/components/__snapshots__/toolbar_button_spec.js.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`content_editor/components/toolbar_button displays tertiary, medium button with a provided label and icon 1`] = ` -"<b-button-stub size=\\"md\\" variant=\\"default\\" type=\\"button\\" tag=\\"button\\" aria-label=\\"Bold\\" title=\\"Bold\\" class=\\"gl-button btn-default-tertiary btn-icon\\"> +"<b-button-stub size=\\"md\\" tag=\\"button\\" type=\\"button\\" variant=\\"default\\" aria-label=\\"Bold\\" title=\\"Bold\\" class=\\"gl-button btn-default-tertiary btn-icon\\"> <!----> <gl-icon-stub name=\\"bold\\" size=\\"16\\" class=\\"gl-button-icon\\"></gl-icon-stub> <!----> diff --git a/spec/frontend/invite_members/components/group_select_spec.js b/spec/frontend/invite_members/components/group_select_spec.js index e1563a7bb3adac55326d5594d2e15c09b87c9c73..e540e8856bae5d303abaf007a84a3fe763c1e2f0 100644 --- a/spec/frontend/invite_members/components/group_select_spec.js +++ b/spec/frontend/invite_members/components/group_select_spec.js @@ -33,7 +33,7 @@ describe('GroupSelect', () => { const findSearchBoxByType = () => wrapper.findComponent(GlSearchBoxByType); const findDropdown = () => wrapper.findComponent(GlDropdown); - const findDropdownToggle = () => findDropdown().find('button[aria-haspopup="true"]'); + const findDropdownToggle = () => findDropdown().find('button[aria-haspopup="menu"]'); const findAvatarByLabel = (text) => wrapper .findAllComponents(GlAvatarLabeled) diff --git a/spec/frontend/jira_import/components/__snapshots__/jira_import_form_spec.js.snap b/spec/frontend/jira_import/components/__snapshots__/jira_import_form_spec.js.snap index a72528ae36b312d6c6798641378b406fec7b3243..b2b3a93a11da6759b0b6d24483990300e782ef9a 100644 --- a/spec/frontend/jira_import/components/__snapshots__/jira_import_form_spec.js.snap +++ b/spec/frontend/jira_import/components/__snapshots__/jira_import_form_spec.js.snap @@ -2,7 +2,7 @@ exports[`JiraImportForm table body shows correct information in each cell 1`] = ` <table - aria-busy="false" + aria-busy="" aria-colcount="3" class="table b-table gl-table b-table-fixed" role="table" @@ -92,7 +92,7 @@ exports[`JiraImportForm table body shows correct information in each cell 1`] = <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-md gl-button gl-dropdown-toggle" type="button" > @@ -223,7 +223,7 @@ exports[`JiraImportForm table body shows correct information in each cell 1`] = <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-md gl-button gl-dropdown-toggle" type="button" > diff --git a/spec/frontend/members/components/filter_sort/sort_dropdown_spec.js b/spec/frontend/members/components/filter_sort/sort_dropdown_spec.js index ef3c8bde3cf96416ffeeb0818227e3d6f17c01d4..526f839ece87b6572ecae117efa9d50d4f5aa759 100644 --- a/spec/frontend/members/components/filter_sort/sort_dropdown_spec.js +++ b/spec/frontend/members/components/filter_sort/sort_dropdown_spec.js @@ -46,7 +46,7 @@ describe('SortDropdown', () => { const findSortingComponent = () => wrapper.findComponent(GlSorting); const findSortDirectionToggle = () => findSortingComponent().find('button[title^="Sort direction"]'); - const findDropdownToggle = () => wrapper.find('button[aria-haspopup="true"]'); + const findDropdownToggle = () => wrapper.find('button[aria-haspopup="menu"]'); const findDropdownItemByText = (text) => wrapper .findAllComponents(GlSortingItem) diff --git a/spec/frontend/members/components/table/role_dropdown_spec.js b/spec/frontend/members/components/table/role_dropdown_spec.js index b254cce4d721192fc47294430f959cdc2d393196..3835d3fd33dcee40b50305018238dc475ac0942b 100644 --- a/spec/frontend/members/components/table/role_dropdown_spec.js +++ b/spec/frontend/members/components/table/role_dropdown_spec.js @@ -60,7 +60,7 @@ describe('RoleDropdown', () => { .findAllComponents(GlDropdownItem) .wrappers.find((dropdownItemWrapper) => dropdownItemWrapper.props('isChecked')); - const findDropdownToggle = () => wrapper.find('button[aria-haspopup="true"]'); + const findDropdownToggle = () => wrapper.find('button[aria-haspopup="menu"]'); const findDropdown = () => wrapper.findComponent(GlDropdown); afterEach(() => { diff --git a/spec/frontend/packages_and_registries/infrastructure_registry/components/list/components/__snapshots__/packages_list_app_spec.js.snap b/spec/frontend/packages_and_registries/infrastructure_registry/components/list/components/__snapshots__/packages_list_app_spec.js.snap index a33528d2d918dee898e2099feb6b021f93be9851..9bd435badc475da9ea49594bcc52ca5f6c0dc55a 100644 --- a/spec/frontend/packages_and_registries/infrastructure_registry/components/list/components/__snapshots__/packages_list_app_spec.js.snap +++ b/spec/frontend/packages_and_registries/infrastructure_registry/components/list/components/__snapshots__/packages_list_app_spec.js.snap @@ -48,9 +48,7 @@ exports[`packages_list_app renders 1`] = ` Learn how to <b-link-stub class="gl-link" - event="click" href="helpUrl" - routertag="a" target="_blank" > publish and share your packages diff --git a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap index 92c2cd905689a567dac8ff46f67ebaa3f2252a54..84b37824390b09a448d259be0b66c5f5d5a88c39 100644 --- a/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap +++ b/spec/frontend/packages_and_registries/package_registry/components/details/__snapshots__/pypi_installation_spec.js.snap @@ -20,7 +20,7 @@ exports[`PypiInstallation renders all the messages 1`] = ` <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-md gl-button gl-dropdown-toggle" id="__BVID__27__BV_toggle_" type="button" @@ -59,7 +59,6 @@ exports[`PypiInstallation renders all the messages 1`] = ` </div> <fieldset - aria-describedby="installation-pip-command-group__BV_description_" class="form-group gl-form-group" id="installation-pip-command-group" > @@ -75,12 +74,7 @@ exports[`PypiInstallation renders all the messages 1`] = ` <!----> </legend> - <div - aria-labelledby="installation-pip-command-group__BV_label_" - class="bv-no-focus-ring" - role="group" - tabindex="-1" - > + <div> <div data-testid="pip-command" id="installation-pip-command" diff --git a/spec/frontend/packages_and_registries/package_registry/pages/__snapshots__/list_spec.js.snap b/spec/frontend/packages_and_registries/package_registry/pages/__snapshots__/list_spec.js.snap index 7759c36679650b63582dbccba9226d023d723277..b279a7d0936c501bcabe8fa58d59609e0280a02f 100644 --- a/spec/frontend/packages_and_registries/package_registry/pages/__snapshots__/list_spec.js.snap +++ b/spec/frontend/packages_and_registries/package_registry/pages/__snapshots__/list_spec.js.snap @@ -94,9 +94,7 @@ exports[`PackagesListApp renders 1`] = ` Learn how to <b-link-stub class="gl-link" - event="click" href="/help/user/packages/package_registry/index" - routertag="a" target="_blank" > publish and share your packages diff --git a/spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap b/spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap index 8c3a4978bb8246fc615726505930ec61f291fee3..0ba327df297e10c176ff243b2872bf3613077123 100644 --- a/spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap +++ b/spec/frontend/vue_merge_request_widget/components/states/__snapshots__/mr_widget_auto_merge_enabled_spec.js.snap @@ -84,7 +84,7 @@ exports[`MRWidgetAutoMergeEnabled when graphql is disabled template should have <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-sm gl-p-2! gl-button gl-dropdown-toggle btn-default-tertiary dropdown-icon-only dropdown-toggle-no-caret" type="button" > @@ -261,7 +261,7 @@ exports[`MRWidgetAutoMergeEnabled when graphql is enabled template should have c <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-sm gl-p-2! gl-button gl-dropdown-toggle btn-default-tertiary dropdown-icon-only dropdown-toggle-no-caret" type="button" > diff --git a/spec/frontend/vue_shared/components/__snapshots__/awards_list_spec.js.snap b/spec/frontend/vue_shared/components/__snapshots__/awards_list_spec.js.snap index bdf5ea23812a090d5156785343db7d192f4682d1..aaf0466f0ac4764cc53a869e9033ea107e559a98 100644 --- a/spec/frontend/vue_shared/components/__snapshots__/awards_list_spec.js.snap +++ b/spec/frontend/vue_shared/components/__snapshots__/awards_list_spec.js.snap @@ -234,7 +234,7 @@ exports[`vue_shared/components/awards_list default matches snapshot 1`] = ` <!----> <button aria-expanded="false" - aria-haspopup="true" + aria-haspopup="menu" class="btn dropdown-toggle btn-default btn-md add-reaction-button btn-icon gl-relative! gl-button gl-dropdown-toggle btn-default-secondary" id="__BVID__13__BV_toggle_" type="button"