diff options
Diffstat (limited to 'spec/frontend/pipelines/graph/stage_column_component_legacy_spec.js')
-rw-r--r-- | spec/frontend/pipelines/graph/stage_column_component_legacy_spec.js | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/spec/frontend/pipelines/graph/stage_column_component_legacy_spec.js b/spec/frontend/pipelines/graph/stage_column_component_legacy_spec.js deleted file mode 100644 index 2965325ea7c..00000000000 --- a/spec/frontend/pipelines/graph/stage_column_component_legacy_spec.js +++ /dev/null @@ -1,130 +0,0 @@ -import { shallowMount } from '@vue/test-utils'; -import StageColumnComponentLegacy from '~/pipelines/components/graph/stage_column_component_legacy.vue'; - -describe('stage column component', () => { - const mockJob = { - id: 4250, - name: 'test', - status: { - icon: 'status_success', - text: 'passed', - label: 'passed', - group: 'success', - details_path: '/root/ci-mock/builds/4250', - action: { - icon: 'retry', - title: 'Retry', - path: '/root/ci-mock/builds/4250/retry', - method: 'post', - }, - }, - }; - - let wrapper; - - beforeEach(() => { - const mockGroups = []; - for (let i = 0; i < 3; i += 1) { - const mockedJob = { ...mockJob }; - mockedJob.id += i; - mockGroups.push(mockedJob); - } - - wrapper = shallowMount(StageColumnComponentLegacy, { - propsData: { - title: 'foo', - groups: mockGroups, - hasTriggeredBy: false, - }, - }); - }); - - it('should render provided title', () => { - expect(wrapper.find('.stage-name').text().trim()).toBe('foo'); - }); - - it('should render the provided groups', () => { - expect(wrapper.findAll('.builds-container > ul > li').length).toBe( - wrapper.props('groups').length, - ); - }); - - describe('jobId', () => { - it('escapes job name', () => { - wrapper = shallowMount(StageColumnComponentLegacy, { - propsData: { - groups: [ - { - id: 4259, - name: '<img src=x onerror=alert(document.domain)>', - status: { - icon: 'status_success', - label: 'success', - tooltip: '<img src=x onerror=alert(document.domain)>', - }, - }, - ], - title: 'test', - hasTriggeredBy: false, - }, - }); - - expect(wrapper.find('.builds-container li').attributes('id')).toBe( - 'ci-badge-<img src=x onerror=alert(document.domain)>', - ); - }); - }); - - describe('with action', () => { - it('renders action button', () => { - wrapper = shallowMount(StageColumnComponentLegacy, { - propsData: { - groups: [ - { - id: 4259, - name: '<img src=x onerror=alert(document.domain)>', - status: { - icon: 'status_success', - label: 'success', - tooltip: '<img src=x onerror=alert(document.domain)>', - }, - }, - ], - title: 'test', - hasTriggeredBy: false, - action: { - icon: 'play', - title: 'Play all', - path: 'action', - }, - }, - }); - - expect(wrapper.find('.js-stage-action').exists()).toBe(true); - }); - }); - - describe('without action', () => { - it('does not render action button', () => { - wrapper = shallowMount(StageColumnComponentLegacy, { - propsData: { - groups: [ - { - id: 4259, - name: '<img src=x onerror=alert(document.domain)>', - status: { - icon: 'status_success', - label: 'success', - tooltip: '<img src=x onerror=alert(document.domain)>', - }, - }, - ], - title: 'test', - hasTriggeredBy: false, - }, - }); - - expect(wrapper.find('.js-stage-action').exists()).toBe(false); - }); - }); -}); |