diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-06 12:10:02 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-06 12:10:02 +0300 |
commit | 51c20446a0dcf2f5f4a0254230876bd472a254e7 (patch) | |
tree | 5fc1658c6a240e49d9bc76113f33c500b45500bc /spec/javascripts | |
parent | 0c4b9cacd575b3e71e41a13f042062b3adcb4caf (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/javascripts')
-rw-r--r-- | spec/javascripts/pipelines/pipelines_artifacts_spec.js | 38 | ||||
-rw-r--r-- | spec/javascripts/pipelines/stage_spec.js | 136 |
2 files changed, 0 insertions, 174 deletions
diff --git a/spec/javascripts/pipelines/pipelines_artifacts_spec.js b/spec/javascripts/pipelines/pipelines_artifacts_spec.js deleted file mode 100644 index 7705d5a19bf..00000000000 --- a/spec/javascripts/pipelines/pipelines_artifacts_spec.js +++ /dev/null @@ -1,38 +0,0 @@ -import Vue from 'vue'; -import artifactsComp from '~/pipelines/components/pipelines_artifacts.vue'; - -describe('Pipelines Artifacts dropdown', () => { - let component; - let artifacts; - - beforeEach(() => { - const ArtifactsComponent = Vue.extend(artifactsComp); - - artifacts = [ - { - name: 'artifact', - path: '/download/path', - }, - ]; - - component = new ArtifactsComponent({ - propsData: { - artifacts, - }, - }).$mount(); - }); - - it('should render a dropdown with the provided artifacts', () => { - expect(component.$el.querySelectorAll('.dropdown-menu li').length).toEqual(artifacts.length); - }); - - it('should render a link with the provided path', () => { - expect(component.$el.querySelector('.dropdown-menu li a').getAttribute('href')).toEqual( - artifacts[0].path, - ); - - expect(component.$el.querySelector('.dropdown-menu li a').textContent).toContain( - artifacts[0].name, - ); - }); -}); diff --git a/spec/javascripts/pipelines/stage_spec.js b/spec/javascripts/pipelines/stage_spec.js deleted file mode 100644 index b99688ec371..00000000000 --- a/spec/javascripts/pipelines/stage_spec.js +++ /dev/null @@ -1,136 +0,0 @@ -import Vue from 'vue'; -import MockAdapter from 'axios-mock-adapter'; -import mountComponent from 'spec/helpers/vue_mount_component_helper'; -import axios from '~/lib/utils/axios_utils'; -import stage from '~/pipelines/components/stage.vue'; -import eventHub from '~/pipelines/event_hub'; -import { stageReply } from './mock_data'; - -describe('Pipelines stage component', () => { - let StageComponent; - let component; - let mock; - - beforeEach(() => { - mock = new MockAdapter(axios); - - StageComponent = Vue.extend(stage); - - component = mountComponent(StageComponent, { - stage: { - status: { - group: 'success', - icon: 'status_success', - title: 'success', - }, - dropdown_path: 'path.json', - }, - updateDropdown: false, - }); - }); - - afterEach(() => { - component.$destroy(); - mock.restore(); - }); - - it('should render a dropdown with the status icon', () => { - expect(component.$el.getAttribute('class')).toEqual('dropdown'); - expect(component.$el.querySelector('svg')).toBeDefined(); - expect(component.$el.querySelector('button').getAttribute('data-toggle')).toEqual('dropdown'); - }); - - describe('with successful request', () => { - beforeEach(() => { - mock.onGet('path.json').reply(200, stageReply); - }); - - it('should render the received data and emit `clickedDropdown` event', done => { - spyOn(eventHub, '$emit'); - component.$el.querySelector('button').click(); - - setTimeout(() => { - expect( - component.$el.querySelector('.js-builds-dropdown-container ul').textContent.trim(), - ).toContain(stageReply.latest_statuses[0].name); - - expect(eventHub.$emit).toHaveBeenCalledWith('clickedDropdown'); - done(); - }, 0); - }); - }); - - describe('when request fails', () => { - beforeEach(() => { - mock.onGet('path.json').reply(500); - }); - - it('should close the dropdown', () => { - component.$el.click(); - - setTimeout(() => { - expect(component.$el.classList.contains('open')).toEqual(false); - }, 0); - }); - }); - - describe('update endpoint correctly', () => { - beforeEach(() => { - const copyStage = Object.assign({}, stageReply); - copyStage.latest_statuses[0].name = 'this is the updated content'; - mock.onGet('bar.json').reply(200, copyStage); - }); - - it('should update the stage to request the new endpoint provided', done => { - component.stage = { - status: { - group: 'running', - icon: 'status_running', - title: 'running', - }, - dropdown_path: 'bar.json', - }; - - Vue.nextTick(() => { - component.$el.querySelector('button').click(); - - setTimeout(() => { - expect( - component.$el.querySelector('.js-builds-dropdown-container ul').textContent.trim(), - ).toContain('this is the updated content'); - done(); - }); - }); - }); - }); - - describe('pipelineActionRequestComplete', () => { - beforeEach(() => { - mock.onGet('path.json').reply(200, stageReply); - - mock.onPost(`${stageReply.latest_statuses[0].status.action.path}.json`).reply(200); - }); - - describe('within pipeline table', () => { - it('emits `refreshPipelinesTable` event when `pipelineActionRequestComplete` is triggered', done => { - spyOn(eventHub, '$emit'); - - component.type = 'PIPELINES_TABLE'; - component.$el.querySelector('button').click(); - - setTimeout(() => { - component.$el.querySelector('.js-ci-action').click(); - setTimeout(() => { - component - .$nextTick() - .then(() => { - expect(eventHub.$emit).toHaveBeenCalledWith('refreshPipelinesTable'); - }) - .then(done) - .catch(done.fail); - }, 0); - }, 0); - }); - }); - }); -}); |