diff --git a/ee/app/assets/javascripts/approvals/components/approvers_select.vue b/ee/app/assets/javascripts/approvals/components/approvers_select.vue index 4529eff76765e9a2d66d67479d5f6c086728f302..09aafbbe477961cc8a3dd02f79b58e3ca489fde8 100644 --- a/ee/app/assets/javascripts/approvals/components/approvers_select.vue +++ b/ee/app/assets/javascripts/approvals/components/approvers_select.vue @@ -1,5 +1,5 @@ - - - {{ $options.i18n.dropdownItemLabel }} {{ groupOption }} - - +
+ + +
diff --git a/ee/spec/frontend/approvals/components/approvers_select_spec.js b/ee/spec/frontend/approvals/components/approvers_select_spec.js index 5684840cb1c64cdf8fe7091e6a8cd2581abeba96..328d56f2d2a3824db200d57bc84016ad7b2dc463 100644 --- a/ee/spec/frontend/approvals/components/approvers_select_spec.js +++ b/ee/spec/frontend/approvals/components/approvers_select_spec.js @@ -1,10 +1,4 @@ -import { - GlCollapsibleListbox, - GlListboxItem, - GlAvatarLabeled, - GlDropdown, - GlDropdownItem, -} from '@gitlab/ui'; +import { GlCollapsibleListbox, GlListboxItem, GlAvatarLabeled } from '@gitlab/ui'; import { nextTick } from 'vue'; import { cloneDeep } from 'lodash'; import { shallowMount } from '@vue/test-utils'; @@ -13,7 +7,7 @@ import waitForPromises from 'helpers/wait_for_promises'; import Api from 'ee/api'; import ApproversSelect from 'ee/approvals/components/approvers_select.vue'; import { NAMESPACE_TYPES } from 'ee/security_orchestration/constants'; -import { TYPE_USER, GROUP_OPTIONS, DROPDOWN_OPTION_ALL_GROUPS } from 'ee/approvals/constants'; +import { TYPE_USER, GROUP_OPTIONS } from 'ee/approvals/constants'; const TEST_PROJECT_ID = '17'; const TEST_GROUP_AVATAR = `${TEST_HOST}/group-avatar.png`; @@ -40,8 +34,8 @@ describe('Approvers Selector', () => { const findListbox = () => wrapper.findComponent(GlCollapsibleListbox); const findAllListboxItems = () => wrapper.findAllComponents(GlListboxItem); const findAvatar = (index) => findAllListboxItems().at(index).findComponent(GlAvatarLabeled); - const findGroupOptionsDropdown = () => wrapper.findComponent(GlDropdown); - const findGroupOtions = () => wrapper.findAllComponents(GlDropdownItem); + const findGroupOptionsDropdown = () => wrapper.find('select'); + const findGroupOptions = () => wrapper.findAll('option'); const search = (searchString) => findListbox().vm.$emit('search', searchString); const createComponent = (props = {}) => { @@ -138,15 +132,9 @@ describe('Approvers Selector', () => { expect(findGroupOptionsDropdown().exists()).toBe(true); }); - - it('renders all groups option selected by default', () => { - createComponent(); - expect(findGroupOptionsDropdown().props('text')).toBe(DROPDOWN_OPTION_ALL_GROUPS); - }); - it('renders expected amount of group options', () => { createComponent(); - expect(findGroupOtions()).toHaveLength(GROUP_OPTIONS.length); + expect(findGroupOptions()).toHaveLength(GROUP_OPTIONS.length); }); }); @@ -241,7 +229,11 @@ describe('Approvers Selector', () => { describe('on project groups option selection', () => { it('fetches project groups when the project group option is selected', async () => { createComponent(); - findGroupOtions().at(1).vm.$emit('click'); + + const groupOptions = findGroupOptionsDropdown(); + + groupOptions.element.value = 'project groups'; + groupOptions.trigger('input'); await waitForPromises(); expect(Api.projectGroups).toHaveBeenCalledWith('17', {