diff options
Diffstat (limited to 'spec/frontend/pipelines')
6 files changed, 19 insertions, 82 deletions
diff --git a/spec/frontend/pipelines/empty_state_spec.js b/spec/frontend/pipelines/empty_state_spec.js index 1af3065477d..31b74a06efd 100644 --- a/spec/frontend/pipelines/empty_state_spec.js +++ b/spec/frontend/pipelines/empty_state_spec.js @@ -35,7 +35,7 @@ describe('Pipelines Empty State', () => { }); it('should render the CI/CD templates', () => { - expect(pipelinesCiTemplates()).toExist(); + expect(pipelinesCiTemplates().exists()).toBe(true); }); }); diff --git a/spec/frontend/pipelines/graph/graph_component_wrapper_spec.js b/spec/frontend/pipelines/graph/graph_component_wrapper_spec.js index 2e8979f2b9d..db4de6deeb7 100644 --- a/spec/frontend/pipelines/graph/graph_component_wrapper_spec.js +++ b/spec/frontend/pipelines/graph/graph_component_wrapper_spec.js @@ -327,7 +327,7 @@ describe('Pipeline graph wrapper', () => { expect(getLinksLayer().exists()).toBe(true); expect(getLinksLayer().props('showLinks')).toBe(false); expect(getViewSelector().props('type')).toBe(LAYER_VIEW); - await getDependenciesToggle().trigger('click'); + await getDependenciesToggle().vm.$emit('change', true); jest.runOnlyPendingTimers(); await wrapper.vm.$nextTick(); expect(wrapper.findComponent(LinksLayer).props('showLinks')).toBe(true); diff --git a/spec/frontend/pipelines/graph/graph_view_selector_spec.js b/spec/frontend/pipelines/graph/graph_view_selector_spec.js index 5b2a29de443..f4faa25545b 100644 --- a/spec/frontend/pipelines/graph/graph_view_selector_spec.js +++ b/spec/frontend/pipelines/graph/graph_view_selector_spec.js @@ -111,7 +111,7 @@ describe('the graph view selector component', () => { expect(wrapper.emitted().updateShowLinksState).toBeUndefined(); expect(findToggleLoader().exists()).toBe(false); - await findDependenciesToggle().trigger('click'); + await findDependenciesToggle().vm.$emit('change', true); /* Loading happens before the event is emitted or timers are run. Then we run the timer because the event is emitted in setInterval diff --git a/spec/frontend/pipelines/pipelines_artifacts_spec.js b/spec/frontend/pipelines/pipelines_artifacts_spec.js index f33c66dedf3..2d876841e06 100644 --- a/spec/frontend/pipelines/pipelines_artifacts_spec.js +++ b/spec/frontend/pipelines/pipelines_artifacts_spec.js @@ -1,15 +1,9 @@ -import { GlAlert, GlDropdown, GlDropdownItem, GlLoadingIcon, GlSprintf } from '@gitlab/ui'; +import { GlDropdown, GlDropdownItem, GlSprintf } from '@gitlab/ui'; import { shallowMount } from '@vue/test-utils'; -import MockAdapter from 'axios-mock-adapter'; -import waitForPromises from 'helpers/wait_for_promises'; -import axios from '~/lib/utils/axios_utils'; -import PipelineArtifacts, { - i18n, -} from '~/pipelines/components/pipelines_list/pipelines_artifacts.vue'; +import PipelineArtifacts from '~/pipelines/components/pipelines_list/pipelines_artifacts.vue'; describe('Pipelines Artifacts dropdown', () => { let wrapper; - let mockAxios; const artifacts = [ { @@ -21,23 +15,13 @@ describe('Pipelines Artifacts dropdown', () => { path: '/download/path-two', }, ]; - const artifactsEndpointPlaceholder = ':pipeline_artifacts_id'; - const artifactsEndpoint = `endpoint/${artifactsEndpointPlaceholder}/artifacts.json`; const pipelineId = 108; - const createComponent = ({ mockData = {} } = {}) => { + const createComponent = ({ mockArtifacts = artifacts } = {}) => { wrapper = shallowMount(PipelineArtifacts, { - provide: { - artifactsEndpoint, - artifactsEndpointPlaceholder, - }, propsData: { pipelineId, - }, - data() { - return { - ...mockData, - }; + artifacts: mockArtifacts, }, stubs: { GlSprintf, @@ -45,80 +29,33 @@ describe('Pipelines Artifacts dropdown', () => { }); }; - const findAlert = () => wrapper.findComponent(GlAlert); const findDropdown = () => wrapper.findComponent(GlDropdown); - const findLoadingIcon = () => wrapper.findComponent(GlLoadingIcon); const findFirstGlDropdownItem = () => wrapper.find(GlDropdownItem); const findAllGlDropdownItems = () => wrapper.find(GlDropdown).findAll(GlDropdownItem); - beforeEach(() => { - mockAxios = new MockAdapter(axios); - }); - afterEach(() => { wrapper.destroy(); wrapper = null; }); - it('should render the dropdown', () => { - createComponent(); - - expect(findDropdown().exists()).toBe(true); - }); - - it('should fetch artifacts on dropdown click', async () => { - const endpoint = artifactsEndpoint.replace(artifactsEndpointPlaceholder, pipelineId); - mockAxios.onGet(endpoint).replyOnce(200, { artifacts }); - createComponent(); - findDropdown().vm.$emit('show'); - await waitForPromises(); - - expect(mockAxios.history.get).toHaveLength(1); - expect(wrapper.vm.artifacts).toEqual(artifacts); - }); - it('should render a dropdown with all the provided artifacts', () => { - createComponent({ mockData: { artifacts } }); + createComponent(); expect(findAllGlDropdownItems()).toHaveLength(artifacts.length); }); it('should render a link with the provided path', () => { - createComponent({ mockData: { artifacts } }); + createComponent(); expect(findFirstGlDropdownItem().attributes('href')).toBe(artifacts[0].path); expect(findFirstGlDropdownItem().text()).toBe(artifacts[0].name); }); - describe('with a failing request', () => { - it('should render an error message', async () => { - const endpoint = artifactsEndpoint.replace(artifactsEndpointPlaceholder, pipelineId); - mockAxios.onGet(endpoint).replyOnce(500); - createComponent(); - findDropdown().vm.$emit('show'); - await waitForPromises(); - - const error = findAlert(); - expect(error.exists()).toBe(true); - expect(error.text()).toBe(i18n.artifactsFetchErrorMessage); - }); - }); - - describe('with no artifacts received', () => { - it('should render empty alert message', () => { - createComponent({ mockData: { artifacts: [] } }); - - const emptyAlert = findAlert(); - expect(emptyAlert.exists()).toBe(true); - expect(emptyAlert.text()).toBe(i18n.noArtifacts); - }); - }); - - describe('when artifacts are loading', () => { - it('should show loading icon', () => { - createComponent({ mockData: { isLoading: true } }); + describe('with no artifacts', () => { + it('should not render the dropdown', () => { + createComponent({ mockArtifacts: [] }); - expect(findLoadingIcon().exists()).toBe(true); + expect(findDropdown().exists()).toBe(false); }); }); }); diff --git a/spec/frontend/pipelines/pipelines_spec.js b/spec/frontend/pipelines/pipelines_spec.js index 2875498bb52..c024730570c 100644 --- a/spec/frontend/pipelines/pipelines_spec.js +++ b/spec/frontend/pipelines/pipelines_spec.js @@ -554,7 +554,7 @@ describe('Pipelines', () => { }); it('renders the CI/CD templates', () => { - expect(wrapper.find(PipelinesCiTemplates)).toExist(); + expect(wrapper.findComponent(PipelinesCiTemplates).exists()).toBe(true); }); describe('when the code_quality_walkthrough experiment is active', () => { @@ -568,7 +568,7 @@ describe('Pipelines', () => { }); it('renders the CI/CD templates', () => { - expect(wrapper.find(PipelinesCiTemplates)).toExist(); + expect(wrapper.findComponent(PipelinesCiTemplates).exists()).toBe(true); }); }); @@ -597,7 +597,7 @@ describe('Pipelines', () => { }); it('renders the CI/CD templates', () => { - expect(wrapper.find(PipelinesCiTemplates)).toExist(); + expect(wrapper.findComponent(PipelinesCiTemplates).exists()).toBe(true); }); }); diff --git a/spec/frontend/pipelines/pipelines_table_spec.js b/spec/frontend/pipelines/pipelines_table_spec.js index fb019b463b1..6fdbe907aed 100644 --- a/spec/frontend/pipelines/pipelines_table_spec.js +++ b/spec/frontend/pipelines/pipelines_table_spec.js @@ -1,5 +1,5 @@ import '~/commons'; -import { GlTable } from '@gitlab/ui'; +import { GlTableLite } from '@gitlab/ui'; import { mount } from '@vue/test-utils'; import fixture from 'test_fixtures/pipelines/pipelines.json'; import { extendedWrapper } from 'helpers/vue_test_utils_helper'; @@ -44,7 +44,7 @@ describe('Pipelines Table', () => { ); }; - const findGlTable = () => wrapper.findComponent(GlTable); + const findGlTableLite = () => wrapper.findComponent(GlTableLite); const findStatusBadge = () => wrapper.findComponent(CiBadge); const findPipelineInfo = () => wrapper.findComponent(PipelineUrl); const findTriggerer = () => wrapper.findComponent(PipelineTriggerer); @@ -77,7 +77,7 @@ describe('Pipelines Table', () => { }); it('displays table', () => { - expect(findGlTable().exists()).toBe(true); + expect(findGlTableLite().exists()).toBe(true); }); it('should render table head with correct columns', () => { |