diff options
Diffstat (limited to 'spec/javascripts/reports/components')
5 files changed, 0 insertions, 449 deletions
diff --git a/spec/javascripts/reports/components/grouped_test_reports_app_spec.js b/spec/javascripts/reports/components/grouped_test_reports_app_spec.js deleted file mode 100644 index bafc47c952a..00000000000 --- a/spec/javascripts/reports/components/grouped_test_reports_app_spec.js +++ /dev/null @@ -1,239 +0,0 @@ -import Vue from 'vue'; -import MockAdapter from 'axios-mock-adapter'; -import axios from '~/lib/utils/axios_utils'; -import state from '~/reports/store/state'; -import component from '~/reports/components/grouped_test_reports_app.vue'; -import mountComponent from '../../helpers/vue_mount_component_helper'; -import newFailedTestReports from '../mock_data/new_failures_report.json'; -import newErrorsTestReports from '../mock_data/new_errors_report.json'; -import successTestReports from '../mock_data/no_failures_report.json'; -import mixedResultsTestReports from '../mock_data/new_and_fixed_failures_report.json'; -import resolvedFailures from '../mock_data/resolved_failures.json'; - -describe('Grouped Test Reports App', () => { - let vm; - let mock; - const Component = Vue.extend(component); - - beforeEach(() => { - mock = new MockAdapter(axios); - }); - - afterEach(() => { - vm.$store.replaceState(state()); - vm.$destroy(); - mock.restore(); - }); - - describe('with success result', () => { - beforeEach(() => { - mock.onGet('test_results.json').reply(200, successTestReports, {}); - vm = mountComponent(Component, { - endpoint: 'test_results.json', - }); - }); - - it('renders success summary text', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.gl-spinner')).toBeNull(); - expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual( - 'Test summary contained no changed test results out of 11 total tests', - ); - - expect(vm.$el.textContent).toContain( - 'rspec:pg found no changed test results out of 8 total tests', - ); - - expect(vm.$el.textContent).toContain( - 'java ant found no changed test results out of 3 total tests', - ); - done(); - }, 0); - }); - }); - - describe('with 204 result', () => { - beforeEach(() => { - mock.onGet('test_results.json').reply(204, {}, {}); - vm = mountComponent(Component, { - endpoint: 'test_results.json', - }); - }); - - it('renders success summary text', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.gl-spinner')).not.toBeNull(); - expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual( - 'Test summary results are being parsed', - ); - - done(); - }, 0); - }); - }); - - describe('with new failed result', () => { - beforeEach(() => { - mock.onGet('test_results.json').reply(200, newFailedTestReports, {}); - vm = mountComponent(Component, { - endpoint: 'test_results.json', - }); - }); - - it('renders failed summary text + new badge', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.gl-spinner')).toBeNull(); - expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual( - 'Test summary contained 2 failed out of 11 total tests', - ); - - expect(vm.$el.textContent).toContain('rspec:pg found 2 failed out of 8 total tests'); - - expect(vm.$el.textContent).toContain('New'); - expect(vm.$el.textContent).toContain( - 'java ant found no changed test results out of 3 total tests', - ); - done(); - }, 0); - }); - }); - - describe('with new error result', () => { - beforeEach(() => { - mock.onGet('test_results.json').reply(200, newErrorsTestReports, {}); - vm = mountComponent(Component, { - endpoint: 'test_results.json', - }); - }); - - it('renders error summary text + new badge', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.gl-spinner')).toBeNull(); - expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual( - 'Test summary contained 2 errors out of 11 total tests', - ); - - expect(vm.$el.textContent).toContain('karma found 2 errors out of 3 total tests'); - - expect(vm.$el.textContent).toContain('New'); - expect(vm.$el.textContent).toContain( - 'rspec:pg found no changed test results out of 8 total tests', - ); - done(); - }, 0); - }); - }); - - describe('with mixed results', () => { - beforeEach(() => { - mock.onGet('test_results.json').reply(200, mixedResultsTestReports, {}); - vm = mountComponent(Component, { - endpoint: 'test_results.json', - }); - }); - - it('renders summary text', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.gl-spinner')).toBeNull(); - expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual( - 'Test summary contained 2 failed and 2 fixed test results out of 11 total tests', - ); - - expect(vm.$el.textContent).toContain( - 'rspec:pg found 1 failed and 2 fixed test results out of 8 total tests', - ); - - expect(vm.$el.textContent).toContain('New'); - expect(vm.$el.textContent).toContain(' java ant found 1 failed out of 3 total tests'); - done(); - }, 0); - }); - }); - - describe('with resolved failures and resolved errors', () => { - beforeEach(() => { - mock.onGet('test_results.json').reply(200, resolvedFailures, {}); - vm = mountComponent(Component, { - endpoint: 'test_results.json', - }); - }); - - it('renders summary text', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.gl-spinner')).toBeNull(); - expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual( - 'Test summary contained 4 fixed test results out of 11 total tests', - ); - - expect(vm.$el.textContent).toContain( - 'rspec:pg found 4 fixed test results out of 8 total tests', - ); - done(); - }, 0); - }); - - it('renders resolved failures', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.report-block-container').textContent).toContain( - resolvedFailures.suites[0].resolved_failures[0].name, - ); - - expect(vm.$el.querySelector('.report-block-container').textContent).toContain( - resolvedFailures.suites[0].resolved_failures[1].name, - ); - done(); - }, 0); - }); - - it('renders resolved errors', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.report-block-container').textContent).toContain( - resolvedFailures.suites[0].resolved_errors[0].name, - ); - - expect(vm.$el.querySelector('.report-block-container').textContent).toContain( - resolvedFailures.suites[0].resolved_errors[1].name, - ); - done(); - }, 0); - }); - }); - - describe('with error', () => { - beforeEach(() => { - mock.onGet('test_results.json').reply(500, {}, {}); - vm = mountComponent(Component, { - endpoint: 'test_results.json', - }); - }); - - it('renders loading summary text with loading icon', done => { - setTimeout(() => { - expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual( - 'Test summary failed loading results', - ); - done(); - }, 0); - }); - }); - - describe('while loading', () => { - beforeEach(() => { - mock.onGet('test_results.json').reply(200, {}, {}); - vm = mountComponent(Component, { - endpoint: 'test_results.json', - }); - }); - - it('renders loading summary text with loading icon', done => { - expect(vm.$el.querySelector('.gl-spinner')).not.toBeNull(); - expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual( - 'Test summary results are being parsed', - ); - - setTimeout(() => { - done(); - }, 0); - }); - }); -}); diff --git a/spec/javascripts/reports/components/modal_open_name_spec.js b/spec/javascripts/reports/components/modal_open_name_spec.js deleted file mode 100644 index ae1fb2bf187..00000000000 --- a/spec/javascripts/reports/components/modal_open_name_spec.js +++ /dev/null @@ -1,47 +0,0 @@ -import Vue from 'vue'; -import Vuex from 'vuex'; -import { mountComponentWithStore } from 'spec/helpers/vue_mount_component_helper'; -import component from '~/reports/components/modal_open_name.vue'; - -Vue.use(Vuex); - -describe('Modal open name', () => { - const Component = Vue.extend(component); - let vm; - - const store = new Vuex.Store({ - actions: { - openModal: () => {}, - }, - state: {}, - mutations: {}, - }); - - beforeEach(() => { - vm = mountComponentWithStore(Component, { - store, - props: { - issue: { - title: 'Issue', - }, - status: 'failed', - }, - }); - }); - - afterEach(() => { - vm.$destroy(); - }); - - it('renders the issue name', () => { - expect(vm.$el.textContent.trim()).toEqual('Issue'); - }); - - it('calls openModal actions when button is clicked', () => { - spyOn(vm, 'openModal'); - - vm.$el.click(); - - expect(vm.openModal).toHaveBeenCalled(); - }); -}); diff --git a/spec/javascripts/reports/components/modal_spec.js b/spec/javascripts/reports/components/modal_spec.js deleted file mode 100644 index ff046e64b6e..00000000000 --- a/spec/javascripts/reports/components/modal_spec.js +++ /dev/null @@ -1,54 +0,0 @@ -import Vue from 'vue'; -import component from '~/reports/components/modal.vue'; -import state from '~/reports/store/state'; -import mountComponent from '../../helpers/vue_mount_component_helper'; -import { trimText } from '../../helpers/text_helper'; - -describe('Grouped Test Reports Modal', () => { - const Component = Vue.extend(component); - const modalDataStructure = state().modal.data; - - // populate data - modalDataStructure.execution_time.value = 0.009411; - modalDataStructure.system_output.value = 'Failure/Error: is_expected.to eq(3)\n\n'; - modalDataStructure.class.value = 'link'; - - let vm; - - beforeEach(() => { - vm = mountComponent(Component, { - title: 'Test#sum when a is 1 and b is 2 returns summary', - modalData: modalDataStructure, - }); - }); - - afterEach(() => { - vm.$destroy(); - }); - - it('renders code block', () => { - expect(vm.$el.querySelector('code').textContent).toEqual( - modalDataStructure.system_output.value, - ); - }); - - it('renders link', () => { - expect(vm.$el.querySelector('.js-modal-link').getAttribute('href')).toEqual( - modalDataStructure.class.value, - ); - - expect(trimText(vm.$el.querySelector('.js-modal-link').textContent)).toEqual( - modalDataStructure.class.value, - ); - }); - - it('renders seconds', () => { - expect(vm.$el.textContent).toContain(`${modalDataStructure.execution_time.value} s`); - }); - - it('render title', () => { - expect(trimText(vm.$el.querySelector('.modal-title').textContent)).toEqual( - 'Test#sum when a is 1 and b is 2 returns summary', - ); - }); -}); diff --git a/spec/javascripts/reports/components/summary_row_spec.js b/spec/javascripts/reports/components/summary_row_spec.js deleted file mode 100644 index a19fbad403c..00000000000 --- a/spec/javascripts/reports/components/summary_row_spec.js +++ /dev/null @@ -1,37 +0,0 @@ -import Vue from 'vue'; -import mountComponent from 'spec/helpers/vue_mount_component_helper'; -import component from '~/reports/components/summary_row.vue'; - -describe('Summary row', () => { - const Component = Vue.extend(component); - let vm; - - const props = { - summary: 'SAST detected 1 new vulnerability and 1 fixed vulnerability', - popoverOptions: { - title: 'Static Application Security Testing (SAST)', - content: '<a>Learn more about SAST</a>', - }, - statusIcon: 'warning', - }; - - beforeEach(() => { - vm = mountComponent(Component, props); - }); - - afterEach(() => { - vm.$destroy(); - }); - - it('renders provided summary', () => { - expect( - vm.$el.querySelector('.report-block-list-issue-description-text').textContent.trim(), - ).toEqual(props.summary); - }); - - it('renders provided icon', () => { - expect(vm.$el.querySelector('.report-block-list-icon span').classList).toContain( - 'js-ci-status-icon-warning', - ); - }); -}); diff --git a/spec/javascripts/reports/components/test_issue_body_spec.js b/spec/javascripts/reports/components/test_issue_body_spec.js deleted file mode 100644 index 9c1cec4c9bc..00000000000 --- a/spec/javascripts/reports/components/test_issue_body_spec.js +++ /dev/null @@ -1,72 +0,0 @@ -import Vue from 'vue'; -import component from '~/reports/components/test_issue_body.vue'; -import createStore from '~/reports/store'; -import { mountComponentWithStore } from '../../helpers/vue_mount_component_helper'; -import { trimText } from '../../helpers/text_helper'; -import { issue } from '../mock_data/mock_data'; - -describe('Test Issue body', () => { - let vm; - const Component = Vue.extend(component); - const store = createStore(); - - const commonProps = { - issue, - status: 'failed', - }; - - afterEach(() => { - vm.$destroy(); - }); - - describe('on click', () => { - it('calls openModal action', () => { - vm = mountComponentWithStore(Component, { - store, - props: commonProps, - }); - - spyOn(vm, 'openModal'); - - vm.$el.querySelector('button').click(); - - expect(vm.openModal).toHaveBeenCalledWith({ - issue: commonProps.issue, - }); - }); - }); - - describe('is new', () => { - beforeEach(() => { - vm = mountComponentWithStore(Component, { - store, - props: Object.assign({}, commonProps, { isNew: true }), - }); - }); - - it('renders issue name', () => { - expect(vm.$el.textContent).toContain(commonProps.issue.name); - }); - - it('renders new badge', () => { - expect(trimText(vm.$el.querySelector('.badge').textContent)).toEqual('New'); - }); - }); - - describe('not new', () => { - beforeEach(() => { - vm = mountComponentWithStore(Component, { - store, - props: commonProps, - }); - }); - - it('renders issue name', () => { - expect(vm.$el.textContent).toContain(commonProps.issue.name); - }); - - it('does not renders new badge', () => { - expect(vm.$el.querySelector('.badge')).toEqual(null); - }); - }); -}); |