diff options
Diffstat (limited to 'spec/frontend/runner/components/runner_type_tabs_spec.js')
-rw-r--r-- | spec/frontend/runner/components/runner_type_tabs_spec.js | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/spec/frontend/runner/components/runner_type_tabs_spec.js b/spec/frontend/runner/components/runner_type_tabs_spec.js index 4871d9c470a..9da5d842d8f 100644 --- a/spec/frontend/runner/components/runner_type_tabs_spec.js +++ b/spec/frontend/runner/components/runner_type_tabs_spec.js @@ -1,7 +1,7 @@ import { GlTab } from '@gitlab/ui'; import { shallowMount } from '@vue/test-utils'; import RunnerTypeTabs from '~/runner/components/runner_type_tabs.vue'; -import { INSTANCE_TYPE, GROUP_TYPE } from '~/runner/constants'; +import { INSTANCE_TYPE, GROUP_TYPE, PROJECT_TYPE } from '~/runner/constants'; const mockSearch = { runnerType: null, filters: [], pagination: { page: 1 }, sort: 'CREATED_DESC' }; @@ -13,6 +13,7 @@ describe('RunnerTypeTabs', () => { findTabs() .filter((tab) => tab.attributes('active') === 'true') .at(0); + const getTabsTitles = () => findTabs().wrappers.map((tab) => tab.text()); const createComponent = ({ props, ...options } = {}) => { wrapper = shallowMount(RunnerTypeTabs, { @@ -35,13 +36,18 @@ describe('RunnerTypeTabs', () => { wrapper.destroy(); }); - it('Renders options to filter runners', () => { - expect(findTabs().wrappers.map((tab) => tab.text())).toEqual([ - 'All', - 'Instance', - 'Group', - 'Project', - ]); + it('Renders all options to filter runners by default', () => { + expect(getTabsTitles()).toEqual(['All', 'Instance', 'Group', 'Project']); + }); + + it('Renders fewer options to filter runners', () => { + createComponent({ + props: { + runnerTypes: [GROUP_TYPE, PROJECT_TYPE], + }, + }); + + expect(getTabsTitles()).toEqual(['All', 'Group', 'Project']); }); it('"All" is selected by default', () => { |