Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-26 18:06:50 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-26 18:06:50 +0300
commit68d3f33d5194c446812d09f079749ddf56f95378 (patch)
tree9cb521544bf72e420a2986ca2fba512274a020eb /spec/javascripts/pipelines
parent6a4ffad42050949fcf08e78147575734ae99627e (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/javascripts/pipelines')
-rw-r--r--spec/javascripts/pipelines/graph/job_item_spec.js155
-rw-r--r--spec/javascripts/pipelines/graph/linked_pipeline_spec.js116
-rw-r--r--spec/javascripts/pipelines/graph/linked_pipelines_mock_data.js410
-rw-r--r--spec/javascripts/pipelines/pipeline_url_spec.js118
4 files changed, 3 insertions, 796 deletions
diff --git a/spec/javascripts/pipelines/graph/job_item_spec.js b/spec/javascripts/pipelines/graph/job_item_spec.js
deleted file mode 100644
index 1cdb0aff524..00000000000
--- a/spec/javascripts/pipelines/graph/job_item_spec.js
+++ /dev/null
@@ -1,155 +0,0 @@
-import Vue from 'vue';
-import JobItem from '~/pipelines/components/graph/job_item.vue';
-import mountComponent from 'spec/helpers/vue_mount_component_helper';
-
-describe('pipeline graph job item', () => {
- const JobComponent = Vue.extend(JobItem);
- let component;
-
- const delayedJobFixture = getJSONFixture('jobs/delayed.json');
- const mockJob = {
- id: 4256,
- name: 'test',
- status: {
- icon: 'status_success',
- text: 'passed',
- label: 'passed',
- tooltip: 'passed',
- group: 'success',
- details_path: '/root/ci-mock/builds/4256',
- has_details: true,
- action: {
- icon: 'retry',
- title: 'Retry',
- path: '/root/ci-mock/builds/4256/retry',
- method: 'post',
- },
- },
- };
-
- afterEach(() => {
- component.$destroy();
- });
-
- describe('name with link', () => {
- it('should render the job name and status with a link', done => {
- component = mountComponent(JobComponent, { job: mockJob });
-
- Vue.nextTick(() => {
- const link = component.$el.querySelector('a');
-
- expect(link.getAttribute('href')).toEqual(mockJob.status.details_path);
-
- expect(link.getAttribute('data-original-title')).toEqual(
- `${mockJob.name} - ${mockJob.status.label}`,
- );
-
- expect(component.$el.querySelector('.js-status-icon-success')).toBeDefined();
-
- expect(component.$el.querySelector('.ci-status-text').textContent.trim()).toEqual(
- mockJob.name,
- );
-
- done();
- });
- });
- });
-
- describe('name without link', () => {
- it('it should render status and name', () => {
- component = mountComponent(JobComponent, {
- job: {
- id: 4257,
- name: 'test',
- status: {
- icon: 'status_success',
- text: 'passed',
- label: 'passed',
- group: 'success',
- details_path: '/root/ci-mock/builds/4257',
- has_details: false,
- },
- },
- });
-
- expect(component.$el.querySelector('.js-status-icon-success')).toBeDefined();
- expect(component.$el.querySelector('a')).toBeNull();
-
- expect(component.$el.querySelector('.ci-status-text').textContent.trim()).toEqual(
- mockJob.name,
- );
- });
- });
-
- describe('action icon', () => {
- it('it should render the action icon', () => {
- component = mountComponent(JobComponent, { job: mockJob });
-
- expect(component.$el.querySelector('a.ci-action-icon-container')).toBeDefined();
- expect(component.$el.querySelector('i.ci-action-icon-wrapper')).toBeDefined();
- });
- });
-
- it('should render provided class name', () => {
- component = mountComponent(JobComponent, {
- job: mockJob,
- cssClassJobName: 'css-class-job-name',
- });
-
- expect(component.$el.querySelector('a').classList.contains('css-class-job-name')).toBe(true);
- });
-
- describe('status label', () => {
- it('should not render status label when it is not provided', () => {
- component = mountComponent(JobComponent, {
- job: {
- id: 4258,
- name: 'test',
- status: {
- icon: 'status_success',
- },
- },
- });
-
- expect(
- component.$el
- .querySelector('.js-job-component-tooltip')
- .getAttribute('data-original-title'),
- ).toEqual('test');
- });
-
- it('should not render status label when it is provided', () => {
- component = mountComponent(JobComponent, {
- job: {
- id: 4259,
- name: 'test',
- status: {
- icon: 'status_success',
- label: 'success',
- tooltip: 'success',
- },
- },
- });
-
- expect(
- component.$el
- .querySelector('.js-job-component-tooltip')
- .getAttribute('data-original-title'),
- ).toEqual('test - success');
- });
- });
-
- describe('for delayed job', () => {
- it('displays remaining time in tooltip', () => {
- component = mountComponent(JobComponent, {
- job: delayedJobFixture,
- });
-
- expect(
- component.$el
- .querySelector('.js-pipeline-graph-job-link')
- .getAttribute('data-original-title'),
- ).toEqual(`delayed job - delayed manual action (${component.remainingTime})`);
- });
- });
-});
diff --git a/spec/javascripts/pipelines/graph/linked_pipeline_spec.js b/spec/javascripts/pipelines/graph/linked_pipeline_spec.js
deleted file mode 100644
index 8d3abf094b6..00000000000
--- a/spec/javascripts/pipelines/graph/linked_pipeline_spec.js
+++ /dev/null
@@ -1,116 +0,0 @@
-import Vue from 'vue';
-import LinkedPipelineComponent from '~/pipelines/components/graph/linked_pipeline.vue';
-import mountComponent from 'spec/helpers/vue_mount_component_helper';
-import mockData from './linked_pipelines_mock_data';
-
-const mockPipeline = mockData.triggered[0];
-
-describe('Linked pipeline', () => {
- const Component = Vue.extend(LinkedPipelineComponent);
- let vm;
-
- afterEach(() => {
- vm.$destroy();
- });
-
- describe('rendered output', () => {
- const props = {
- pipeline: mockPipeline,
- };
-
- beforeEach(() => {
- vm = mountComponent(Component, props);
- });
-
- it('should render a list item as the containing element', () => {
- expect(vm.$el.tagName).toBe('LI');
- });
-
- it('should render a button', () => {
- const linkElement = vm.$el.querySelector('.js-linked-pipeline-content');
-
- expect(linkElement).not.toBeNull();
- });
-
- it('should render the project name', () => {
- expect(vm.$el.innerText).toContain(props.pipeline.project.name);
- });
-
- it('should render an svg within the status container', () => {
- const pipelineStatusElement = vm.$el.querySelector('.js-linked-pipeline-status');
-
- expect(pipelineStatusElement.querySelector('svg')).not.toBeNull();
- });
-
- it('should render the pipeline status icon svg', () => {
- expect(vm.$el.querySelector('.js-ci-status-icon-running')).not.toBeNull();
- expect(vm.$el.querySelector('.js-ci-status-icon-running').innerHTML).toContain('<svg');
- });
-
- it('should have a ci-status child component', () => {
- expect(vm.$el.querySelector('.js-linked-pipeline-status')).not.toBeNull();
- });
-
- it('should render the pipeline id', () => {
- expect(vm.$el.innerText).toContain(`#${props.pipeline.id}`);
- });
-
- it('should correctly compute the tooltip text', () => {
- expect(vm.tooltipText).toContain(mockPipeline.project.name);
- expect(vm.tooltipText).toContain(mockPipeline.details.status.label);
- });
-
- it('should render the tooltip text as the title attribute', () => {
- const tooltipRef = vm.$el.querySelector('.js-linked-pipeline-content');
- const titleAttr = tooltipRef.getAttribute('data-original-title');
-
- expect(titleAttr).toContain(mockPipeline.project.name);
- expect(titleAttr).toContain(mockPipeline.details.status.label);
- });
-
- it('does not render the loading icon when isLoading is false', () => {
- expect(vm.$el.querySelector('.js-linked-pipeline-loading')).toBeNull();
- });
- });
-
- describe('when isLoading is true', () => {
- const props = {
- pipeline: { ...mockPipeline, isLoading: true },
- };
-
- beforeEach(() => {
- vm = mountComponent(Component, props);
- });
-
- it('renders a loading icon', () => {
- expect(vm.$el.querySelector('.js-linked-pipeline-loading')).not.toBeNull();
- });
- });
-
- describe('on click', () => {
- const props = {
- pipeline: mockPipeline,
- };
-
- beforeEach(() => {
- vm = mountComponent(Component, props);
- });
-
- it('emits `pipelineClicked` event', () => {
- spyOn(vm, '$emit');
- vm.$el.querySelector('button').click();
-
- expect(vm.$emit).toHaveBeenCalledWith('pipelineClicked');
- });
-
- it('should emit `bv::hide::tooltip` to close the tooltip', () => {
- spyOn(vm.$root, '$emit');
- vm.$el.querySelector('button').click();
-
- expect(vm.$root.$emit.calls.argsFor(0)).toEqual([
- 'bv::hide::tooltip',
- 'js-linked-pipeline-132',
- ]);
- });
- });
-});
diff --git a/spec/javascripts/pipelines/graph/linked_pipelines_mock_data.js b/spec/javascripts/pipelines/graph/linked_pipelines_mock_data.js
index f794b8484a7..3079d5e4e68 100644
--- a/spec/javascripts/pipelines/graph/linked_pipelines_mock_data.js
+++ b/spec/javascripts/pipelines/graph/linked_pipelines_mock_data.js
@@ -1,407 +1,3 @@
-export default {
- triggered_by: {
- id: 129,
- active: true,
- path: '/gitlab-org/gitlab-foss/pipelines/129',
- project: {
- name: 'GitLabCE',
- },
- details: {
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab-foss/pipelines/129',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_running-c3ad2fc53ea6079c174e5b6c1351ff349e99ec3af5a5622fb77b0fe53ea279c1.ico',
- },
- },
- flags: {
- latest: false,
- triggered: false,
- stuck: false,
- yaml_errors: false,
- retryable: true,
- cancelable: true,
- },
- ref: {
- name: '7-5-stable',
- path: '/gitlab-org/gitlab-foss/commits/7-5-stable',
- tag: false,
- branch: true,
- },
- commit: {
- id: '23433d4d8b20d7e45c103d0b6048faad38a130ab',
- short_id: '23433d4d',
- title: 'Version 7.5.0.rc1',
- created_at: '2014-11-17T15:44:14.000+01:00',
- parent_ids: ['30ac909f30f58d319b42ed1537664483894b18cd'],
- message: 'Version 7.5.0.rc1\n',
- author_name: 'Jacob Vosmaer',
- author_email: 'contact@jacobvosmaer.nl',
- authored_date: '2014-11-17T15:44:14.000+01:00',
- committer_name: 'Jacob Vosmaer',
- committer_email: 'contact@jacobvosmaer.nl',
- committed_date: '2014-11-17T15:44:14.000+01:00',
- author_gravatar_url:
- 'http://www.gravatar.com/avatar/e66d11c0eedf8c07b3b18fca46599807?s=80&d=identicon',
- commit_url:
- 'http://localhost:3000/gitlab-org/gitlab-foss/commit/23433d4d8b20d7e45c103d0b6048faad38a130ab',
- commit_path: '/gitlab-org/gitlab-foss/commit/23433d4d8b20d7e45c103d0b6048faad38a130ab',
- },
- retry_path: '/gitlab-org/gitlab-foss/pipelines/129/retry',
- cancel_path: '/gitlab-org/gitlab-foss/pipelines/129/cancel',
- created_at: '2017-05-24T14:46:20.090Z',
- updated_at: '2017-05-24T14:46:29.906Z',
- },
- triggered: [
- {
- id: 132,
- active: true,
- path: '/gitlab-org/gitlab-foss/pipelines/132',
- project: {
- name: 'GitLabCE',
- },
- details: {
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab-foss/pipelines/132',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_running-c3ad2fc53ea6079c174e5b6c1351ff349e99ec3af5a5622fb77b0fe53ea279c1.ico',
- },
- },
- flags: {
- latest: false,
- triggered: false,
- stuck: false,
- yaml_errors: false,
- retryable: true,
- cancelable: true,
- },
- ref: {
- name: 'crowd',
- path: '/gitlab-org/gitlab-foss/commits/crowd',
- tag: false,
- branch: true,
- },
- commit: {
- id: 'b9d58c4cecd06be74c3cc32ccfb522b31544ab2e',
- short_id: 'b9d58c4c',
- title: 'getting user keys publically through http without any authentication, the github…',
- created_at: '2013-10-03T12:50:33.000+05:30',
- parent_ids: ['e219cf7246c6a0495e4507deaffeba11e79f13b8'],
- message:
- 'getting user keys publically through http without any authentication, the github way. E.g: http://github.com/devaroop.keys\n\nchangelog updated to include ssh key retrieval feature update\n',
- author_name: 'devaroop',
- author_email: 'devaroop123@yahoo.co.in',
- authored_date: '2013-10-02T20:39:29.000+05:30',
- committer_name: 'devaroop',
- committer_email: 'devaroop123@yahoo.co.in',
- committed_date: '2013-10-03T12:50:33.000+05:30',
- author_gravatar_url:
- 'http://www.gravatar.com/avatar/35df4b155ec66a3127d53459941cf8a2?s=80&d=identicon',
- commit_url:
- 'http://localhost:3000/gitlab-org/gitlab-foss/commit/b9d58c4cecd06be74c3cc32ccfb522b31544ab2e',
- commit_path: '/gitlab-org/gitlab-foss/commit/b9d58c4cecd06be74c3cc32ccfb522b31544ab2e',
- },
- retry_path: '/gitlab-org/gitlab-foss/pipelines/132/retry',
- cancel_path: '/gitlab-org/gitlab-foss/pipelines/132/cancel',
- created_at: '2017-05-24T14:46:24.644Z',
- updated_at: '2017-05-24T14:48:55.226Z',
- },
- {
- id: 133,
- active: true,
- path: '/gitlab-org/gitlab-foss/pipelines/133',
- project: {
- name: 'GitLabCE',
- },
- details: {
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab-foss/pipelines/133',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_running-c3ad2fc53ea6079c174e5b6c1351ff349e99ec3af5a5622fb77b0fe53ea279c1.ico',
- },
- },
- flags: {
- latest: false,
- triggered: false,
- stuck: false,
- yaml_errors: false,
- retryable: true,
- cancelable: true,
- },
- ref: {
- name: 'crowd',
- path: '/gitlab-org/gitlab-foss/commits/crowd',
- tag: false,
- branch: true,
- },
- commit: {
- id: 'b6bd4856a33df3d144be66c4ed1f1396009bb08b',
- short_id: 'b6bd4856',
- title: 'getting user keys publically through http without any authentication, the github…',
- created_at: '2013-10-02T20:39:29.000+05:30',
- parent_ids: ['e219cf7246c6a0495e4507deaffeba11e79f13b8'],
- message:
- 'getting user keys publically through http without any authentication, the github way. E.g: http://github.com/devaroop.keys\n',
- author_name: 'devaroop',
- author_email: 'devaroop123@yahoo.co.in',
- authored_date: '2013-10-02T20:39:29.000+05:30',
- committer_name: 'devaroop',
- committer_email: 'devaroop123@yahoo.co.in',
- committed_date: '2013-10-02T20:39:29.000+05:30',
- author_gravatar_url:
- 'http://www.gravatar.com/avatar/35df4b155ec66a3127d53459941cf8a2?s=80&d=identicon',
- commit_url:
- 'http://localhost:3000/gitlab-org/gitlab-foss/commit/b6bd4856a33df3d144be66c4ed1f1396009bb08b',
- commit_path: '/gitlab-org/gitlab-foss/commit/b6bd4856a33df3d144be66c4ed1f1396009bb08b',
- },
- retry_path: '/gitlab-org/gitlab-foss/pipelines/133/retry',
- cancel_path: '/gitlab-org/gitlab-foss/pipelines/133/cancel',
- created_at: '2017-05-24T14:46:24.648Z',
- updated_at: '2017-05-24T14:48:59.673Z',
- },
- {
- id: 130,
- active: true,
- path: '/gitlab-org/gitlab-foss/pipelines/130',
- project: {
- name: 'GitLabCE',
- },
- details: {
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab-foss/pipelines/130',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_running-c3ad2fc53ea6079c174e5b6c1351ff349e99ec3af5a5622fb77b0fe53ea279c1.ico',
- },
- },
- flags: {
- latest: false,
- triggered: false,
- stuck: false,
- yaml_errors: false,
- retryable: true,
- cancelable: true,
- },
- ref: {
- name: 'crowd',
- path: '/gitlab-org/gitlab-foss/commits/crowd',
- tag: false,
- branch: true,
- },
- commit: {
- id: '6d7ced4a2311eeff037c5575cca1868a6d3f586f',
- short_id: '6d7ced4a',
- title: 'Whitespace fixes to patch',
- created_at: '2013-10-08T13:53:22.000-05:00',
- parent_ids: ['1875141a963a4238bda29011d8f7105839485253'],
- message: 'Whitespace fixes to patch\n',
- author_name: 'Dale Hamel',
- author_email: 'dale.hamel@srvthe.net',
- authored_date: '2013-10-08T13:53:22.000-05:00',
- committer_name: 'Dale Hamel',
- committer_email: 'dale.hamel@invenia.ca',
- committed_date: '2013-10-08T13:53:22.000-05:00',
- author_gravatar_url:
- 'http://www.gravatar.com/avatar/cd08930e69fa5ad1a669206e7bafe476?s=80&d=identicon',
- commit_url:
- 'http://localhost:3000/gitlab-org/gitlab-foss/commit/6d7ced4a2311eeff037c5575cca1868a6d3f586f',
- commit_path: '/gitlab-org/gitlab-foss/commit/6d7ced4a2311eeff037c5575cca1868a6d3f586f',
- },
- retry_path: '/gitlab-org/gitlab-foss/pipelines/130/retry',
- cancel_path: '/gitlab-org/gitlab-foss/pipelines/130/cancel',
- created_at: '2017-05-24T14:46:24.630Z',
- updated_at: '2017-05-24T14:49:45.091Z',
- },
- {
- id: 131,
- active: true,
- path: '/gitlab-org/gitlab-foss/pipelines/132',
- project: {
- name: 'GitLabCE',
- },
- details: {
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab-foss/pipelines/132',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_running-c3ad2fc53ea6079c174e5b6c1351ff349e99ec3af5a5622fb77b0fe53ea279c1.ico',
- },
- },
- flags: {
- latest: false,
- triggered: false,
- stuck: false,
- yaml_errors: false,
- retryable: true,
- cancelable: true,
- },
- ref: {
- name: 'crowd',
- path: '/gitlab-org/gitlab-foss/commits/crowd',
- tag: false,
- branch: true,
- },
- commit: {
- id: 'b9d58c4cecd06be74c3cc32ccfb522b31544ab2e',
- short_id: 'b9d58c4c',
- title: 'getting user keys publically through http without any authentication, the github…',
- created_at: '2013-10-03T12:50:33.000+05:30',
- parent_ids: ['e219cf7246c6a0495e4507deaffeba11e79f13b8'],
- message:
- 'getting user keys publically through http without any authentication, the github way. E.g: http://github.com/devaroop.keys\n\nchangelog updated to include ssh key retrieval feature update\n',
- author_name: 'devaroop',
- author_email: 'devaroop123@yahoo.co.in',
- authored_date: '2013-10-02T20:39:29.000+05:30',
- committer_name: 'devaroop',
- committer_email: 'devaroop123@yahoo.co.in',
- committed_date: '2013-10-03T12:50:33.000+05:30',
- author_gravatar_url:
- 'http://www.gravatar.com/avatar/35df4b155ec66a3127d53459941cf8a2?s=80&d=identicon',
- commit_url:
- 'http://localhost:3000/gitlab-org/gitlab-foss/commit/b9d58c4cecd06be74c3cc32ccfb522b31544ab2e',
- commit_path: '/gitlab-org/gitlab-foss/commit/b9d58c4cecd06be74c3cc32ccfb522b31544ab2e',
- },
- retry_path: '/gitlab-org/gitlab-foss/pipelines/132/retry',
- cancel_path: '/gitlab-org/gitlab-foss/pipelines/132/cancel',
- created_at: '2017-05-24T14:46:24.644Z',
- updated_at: '2017-05-24T14:48:55.226Z',
- },
- {
- id: 134,
- active: true,
- path: '/gitlab-org/gitlab-foss/pipelines/133',
- project: {
- name: 'GitLabCE',
- },
- details: {
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab-foss/pipelines/133',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_running-c3ad2fc53ea6079c174e5b6c1351ff349e99ec3af5a5622fb77b0fe53ea279c1.ico',
- },
- },
- flags: {
- latest: false,
- triggered: false,
- stuck: false,
- yaml_errors: false,
- retryable: true,
- cancelable: true,
- },
- ref: {
- name: 'crowd',
- path: '/gitlab-org/gitlab-foss/commits/crowd',
- tag: false,
- branch: true,
- },
- commit: {
- id: 'b6bd4856a33df3d144be66c4ed1f1396009bb08b',
- short_id: 'b6bd4856',
- title: 'getting user keys publically through http without any authentication, the github…',
- created_at: '2013-10-02T20:39:29.000+05:30',
- parent_ids: ['e219cf7246c6a0495e4507deaffeba11e79f13b8'],
- message:
- 'getting user keys publically through http without any authentication, the github way. E.g: http://github.com/devaroop.keys\n',
- author_name: 'devaroop',
- author_email: 'devaroop123@yahoo.co.in',
- authored_date: '2013-10-02T20:39:29.000+05:30',
- committer_name: 'devaroop',
- committer_email: 'devaroop123@yahoo.co.in',
- committed_date: '2013-10-02T20:39:29.000+05:30',
- author_gravatar_url:
- 'http://www.gravatar.com/avatar/35df4b155ec66a3127d53459941cf8a2?s=80&d=identicon',
- commit_url:
- 'http://localhost:3000/gitlab-org/gitlab-foss/commit/b6bd4856a33df3d144be66c4ed1f1396009bb08b',
- commit_path: '/gitlab-org/gitlab-foss/commit/b6bd4856a33df3d144be66c4ed1f1396009bb08b',
- },
- retry_path: '/gitlab-org/gitlab-foss/pipelines/133/retry',
- cancel_path: '/gitlab-org/gitlab-foss/pipelines/133/cancel',
- created_at: '2017-05-24T14:46:24.648Z',
- updated_at: '2017-05-24T14:48:59.673Z',
- },
- {
- id: 135,
- active: true,
- path: '/gitlab-org/gitlab-foss/pipelines/130',
- project: {
- name: 'GitLabCE',
- },
- details: {
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab-foss/pipelines/130',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_running-c3ad2fc53ea6079c174e5b6c1351ff349e99ec3af5a5622fb77b0fe53ea279c1.ico',
- },
- },
- flags: {
- latest: false,
- triggered: false,
- stuck: false,
- yaml_errors: false,
- retryable: true,
- cancelable: true,
- },
- ref: {
- name: 'crowd',
- path: '/gitlab-org/gitlab-foss/commits/crowd',
- tag: false,
- branch: true,
- },
- commit: {
- id: '6d7ced4a2311eeff037c5575cca1868a6d3f586f',
- short_id: '6d7ced4a',
- title: 'Whitespace fixes to patch',
- created_at: '2013-10-08T13:53:22.000-05:00',
- parent_ids: ['1875141a963a4238bda29011d8f7105839485253'],
- message: 'Whitespace fixes to patch\n',
- author_name: 'Dale Hamel',
- author_email: 'dale.hamel@srvthe.net',
- authored_date: '2013-10-08T13:53:22.000-05:00',
- committer_name: 'Dale Hamel',
- committer_email: 'dale.hamel@invenia.ca',
- committed_date: '2013-10-08T13:53:22.000-05:00',
- author_gravatar_url:
- 'http://www.gravatar.com/avatar/cd08930e69fa5ad1a669206e7bafe476?s=80&d=identicon',
- commit_url:
- 'http://localhost:3000/gitlab-org/gitlab-foss/commit/6d7ced4a2311eeff037c5575cca1868a6d3f586f',
- commit_path: '/gitlab-org/gitlab-foss/commit/6d7ced4a2311eeff037c5575cca1868a6d3f586f',
- },
- retry_path: '/gitlab-org/gitlab-foss/pipelines/130/retry',
- cancel_path: '/gitlab-org/gitlab-foss/pipelines/130/cancel',
- created_at: '2017-05-24T14:46:24.630Z',
- updated_at: '2017-05-24T14:49:45.091Z',
- },
- ],
-};
+import mockData from '../../../frontend/pipelines/graph/linked_pipelines_mock_data';
+
+export default mockData;
diff --git a/spec/javascripts/pipelines/pipeline_url_spec.js b/spec/javascripts/pipelines/pipeline_url_spec.js
deleted file mode 100644
index aa196af2f33..00000000000
--- a/spec/javascripts/pipelines/pipeline_url_spec.js
+++ /dev/null
@@ -1,118 +0,0 @@
-import Vue from 'vue';
-import pipelineUrlComp from '~/pipelines/components/pipeline_url.vue';
-
-describe('Pipeline Url Component', () => {
- let PipelineUrlComponent;
-
- beforeEach(() => {
- PipelineUrlComponent = Vue.extend(pipelineUrlComp);
- });
-
- it('should render a table cell', () => {
- const component = new PipelineUrlComponent({
- propsData: {
- pipeline: {
- id: 1,
- path: 'foo',
- flags: {},
- },
- autoDevopsHelpPath: 'foo',
- },
- }).$mount();
-
- expect(component.$el.getAttribute('class')).toContain('table-section');
- });
-
- it('should render a link the provided path and id', () => {
- const component = new PipelineUrlComponent({
- propsData: {
- pipeline: {
- id: 1,
- path: 'foo',
- flags: {},
- },
- autoDevopsHelpPath: 'foo',
- },
- }).$mount();
-
- expect(component.$el.querySelector('.js-pipeline-url-link').getAttribute('href')).toEqual(
- 'foo',
- );
-
- expect(component.$el.querySelector('.js-pipeline-url-link span').textContent).toEqual('#1');
- });
-
- it('should render latest, yaml invalid, merge request, and stuck flags when provided', () => {
- const component = new PipelineUrlComponent({
- propsData: {
- pipeline: {
- id: 1,
- path: 'foo',
- flags: {
- latest: true,
- yaml_errors: true,
- stuck: true,
- merge_request_pipeline: true,
- detached_merge_request_pipeline: true,
- },
- },
- autoDevopsHelpPath: 'foo',
- },
- }).$mount();
-
- expect(component.$el.querySelector('.js-pipeline-url-latest').textContent).toContain('latest');
-
- expect(component.$el.querySelector('.js-pipeline-url-yaml').textContent).toContain(
- 'yaml invalid',
- );
-
- expect(component.$el.querySelector('.js-pipeline-url-stuck').textContent).toContain('stuck');
-
- expect(component.$el.querySelector('.js-pipeline-url-detached').textContent).toContain(
- 'detached',
- );
- });
-
- it('should render a badge for autodevops', () => {
- const component = new PipelineUrlComponent({
- propsData: {
- pipeline: {
- id: 1,
- path: 'foo',
- flags: {
- latest: true,
- yaml_errors: true,
- stuck: true,
- auto_devops: true,
- },
- },
- autoDevopsHelpPath: 'foo',
- },
- }).$mount();
-
- expect(component.$el.querySelector('.js-pipeline-url-autodevops').textContent.trim()).toEqual(
- 'Auto DevOps',
- );
- });
-
- it('should render error badge when pipeline has a failure reason set', () => {
- const component = new PipelineUrlComponent({
- propsData: {
- pipeline: {
- id: 1,
- path: 'foo',
- flags: {
- failure_reason: true,
- },
- failure_reason: 'some reason',
- },
- autoDevopsHelpPath: 'foo',
- },
- }).$mount();
-
- expect(component.$el.querySelector('.js-pipeline-url-failure').textContent).toContain('error');
- expect(
- component.$el.querySelector('.js-pipeline-url-failure').getAttribute('data-original-title'),
- ).toContain('some reason');
- });
-});