diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-19 08:27:35 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-19 08:27:35 +0000 |
commit | 7e9c479f7de77702622631cff2628a9c8dcbc627 (patch) | |
tree | c8f718a08e110ad7e1894510980d2155a6549197 /spec/frontend/projects | |
parent | e852b0ae16db4052c1c567d9efa4facc81146e88 (diff) | |
download | gitlab-ce-7e9c479f7de77702622631cff2628a9c8dcbc627.tar.gz |
Add latest changes from gitlab-org/gitlab@13-6-stable-eev13.6.0-rc42
Diffstat (limited to 'spec/frontend/projects')
7 files changed, 70 insertions, 85 deletions
diff --git a/spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap b/spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap index a0fd6012546..4eb5060cb0a 100644 --- a/spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap +++ b/spec/frontend/projects/components/__snapshots__/project_delete_button_spec.js.snap @@ -57,7 +57,7 @@ exports[`Project remove modal initialized matches the snapshot 1`] = ` </gl-alert-stub> <p> - This action cannot be undone. You will lose the project's repository and all content: issues, merge requests, etc. + This action cannot be undone. You will lose this project's repository and all content: issues, merge requests, etc. </p> <p diff --git a/spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap b/spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap index ff0351bd099..ac87fe893b9 100644 --- a/spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap +++ b/spec/frontend/projects/pipelines/charts/components/__snapshots__/statistics_list_spec.js.snap @@ -11,7 +11,6 @@ exports[`StatisticsList matches the snapshot 1`] = ` 4 pipelines </strong> </li> - <li> <span> Successful: @@ -21,7 +20,6 @@ exports[`StatisticsList matches the snapshot 1`] = ` 2 pipelines </strong> </li> - <li> <span> Failed: @@ -31,7 +29,6 @@ exports[`StatisticsList matches the snapshot 1`] = ` 2 pipelines </strong> </li> - <li> <span> Success ratio: @@ -41,5 +38,14 @@ exports[`StatisticsList matches the snapshot 1`] = ` 50% </strong> </li> + <li> + <span> + Total duration: + </span> + + <strong> + 00:01:56 + </strong> + </li> </ul> `; diff --git a/spec/frontend/projects/pipelines/charts/components/app_spec.js b/spec/frontend/projects/pipelines/charts/components/app_spec.js index 883f2bec5f7..0dd3407dbbc 100644 --- a/spec/frontend/projects/pipelines/charts/components/app_spec.js +++ b/spec/frontend/projects/pipelines/charts/components/app_spec.js @@ -45,7 +45,7 @@ describe('ProjectsPipelinesChartsApp', () => { expect(chart.exists()).toBeTruthy(); expect(chart.props('yAxisTitle')).toBe('Minutes'); expect(chart.props('xAxisTitle')).toBe('Commit'); - expect(chart.props('data')).toBe(wrapper.vm.timesChartTransformedData); + expect(chart.props('bars')).toBe(wrapper.vm.timesChartTransformedData); expect(chart.props('option')).toBe(wrapper.vm.$options.timesChartOptions); }); }); diff --git a/spec/frontend/projects/pipelines/charts/mock_data.js b/spec/frontend/projects/pipelines/charts/mock_data.js index db5164c8f99..84e0ccb828a 100644 --- a/spec/frontend/projects/pipelines/charts/mock_data.js +++ b/spec/frontend/projects/pipelines/charts/mock_data.js @@ -3,6 +3,7 @@ export const counts = { success: 2, total: 4, successRatio: 50, + totalDuration: 116158, }; export const timesChartData = { diff --git a/spec/frontend/projects/settings_service_desk/components/service_desk_root_spec.js b/spec/frontend/projects/settings_service_desk/components/service_desk_root_spec.js index 62aeb4ddee5..7e74a5deee1 100644 --- a/spec/frontend/projects/settings_service_desk/components/service_desk_root_spec.js +++ b/spec/frontend/projects/settings_service_desk/components/service_desk_root_spec.js @@ -1,7 +1,8 @@ -import { shallowMount, mount } from '@vue/test-utils'; +import { mount } from '@vue/test-utils'; import AxiosMockAdapter from 'axios-mock-adapter'; import waitForPromises from 'helpers/wait_for_promises'; import ServiceDeskRoot from '~/projects/settings_service_desk/components/service_desk_root.vue'; +import ServiceDeskSetting from '~/projects/settings_service_desk/components/service_desk_setting.vue'; import axios from '~/lib/utils/axios_utils'; import httpStatusCodes from '~/lib/utils/http_status'; @@ -24,65 +25,6 @@ describe('ServiceDeskRoot', () => { } }); - it('fetches incoming email when there is no incoming email provided', () => { - axiosMock.onGet(endpoint).replyOnce(httpStatusCodes.OK); - - wrapper = shallowMount(ServiceDeskRoot, { - propsData: { - initialIsEnabled: true, - initialIncomingEmail: '', - endpoint, - }, - }); - - return wrapper.vm - .$nextTick() - .then(waitForPromises) - .then(() => { - expect(axiosMock.history.get).toHaveLength(1); - }); - }); - - it('does not fetch incoming email when there is an incoming email provided', () => { - axiosMock.onGet(endpoint).replyOnce(httpStatusCodes.OK); - - wrapper = shallowMount(ServiceDeskRoot, { - propsData: { - initialIsEnabled: true, - initialIncomingEmail, - endpoint, - }, - }); - - return wrapper.vm - .$nextTick() - .then(waitForPromises) - .then(() => { - expect(axiosMock.history.get).toHaveLength(0); - }); - }); - - it('shows an error message when incoming email is not fetched correctly', () => { - axiosMock.onGet(endpoint).networkError(); - - wrapper = shallowMount(ServiceDeskRoot, { - propsData: { - initialIsEnabled: true, - initialIncomingEmail: '', - endpoint, - }, - }); - - return wrapper.vm - .$nextTick() - .then(waitForPromises) - .then(() => { - expect(wrapper.html()).toContain( - 'An error occurred while fetching the Service Desk address.', - ); - }); - }); - it('sends a request to toggle service desk off when the toggle is clicked from the on state', () => { axiosMock.onPut(endpoint).replyOnce(httpStatusCodes.OK); @@ -221,4 +163,18 @@ describe('ServiceDeskRoot', () => { expect(wrapper.html()).toContain('An error occured while making the changes:'); }); }); + + it('passes customEmail through updatedCustomEmail correctly', () => { + const customEmail = 'foo'; + + wrapper = mount(ServiceDeskRoot, { + propsData: { + initialIsEnabled: true, + endpoint, + customEmail, + }, + }); + + expect(wrapper.find(ServiceDeskSetting).props('customEmail')).toEqual(customEmail); + }); }); diff --git a/spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js b/spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js index cb46751f66a..173a7fc4e11 100644 --- a/spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js +++ b/spec/frontend/projects/settings_service_desk/components/service_desk_setting_spec.js @@ -13,6 +13,7 @@ describe('ServiceDeskSetting', () => { }); const findTemplateDropdown = () => wrapper.find('#service-desk-template-select'); + const findIncomingEmail = () => wrapper.find('[data-testid="incoming-email"]'); describe('when isEnabled=true', () => { describe('only isEnabled', () => { @@ -35,7 +36,7 @@ describe('ServiceDeskSetting', () => { it('should see loading spinner and not the incoming email', () => { expect(wrapper.find(GlLoadingIcon).exists()).toBe(true); - expect(wrapper.find('.incoming-email').exists()).toBe(false); + expect(findIncomingEmail().exists()).toBe(false); }); }); }); @@ -73,7 +74,7 @@ describe('ServiceDeskSetting', () => { }); it('should see email and not the loading spinner', () => { - expect(wrapper.find('.incoming-email').element.value).toEqual(incomingEmail); + expect(findIncomingEmail().element.value).toEqual(incomingEmail); expect(wrapper.find(GlLoadingIcon).exists()).toBe(false); }); @@ -85,6 +86,45 @@ describe('ServiceDeskSetting', () => { }); }); + describe('with customEmail', () => { + describe('customEmail is different than incomingEmail', () => { + const incomingEmail = 'foo@bar.com'; + const customEmail = 'custom@bar.com'; + + beforeEach(() => { + wrapper = mount(ServiceDeskSetting, { + propsData: { + isEnabled: true, + incomingEmail, + customEmail, + }, + }); + }); + + it('should see custom email', () => { + expect(findIncomingEmail().element.value).toEqual(customEmail); + }); + }); + + describe('customEmail is the same as incomingEmail', () => { + const email = 'foo@bar.com'; + + beforeEach(() => { + wrapper = mount(ServiceDeskSetting, { + propsData: { + isEnabled: true, + incomingEmail: email, + customEmail: email, + }, + }); + }); + + it('should see custom email', () => { + expect(findIncomingEmail().element.value).toEqual(email); + }); + }); + }); + describe('templates dropdown', () => { it('renders a dropdown to choose a template', () => { wrapper = shallowMount(ServiceDeskSetting, { diff --git a/spec/frontend/projects/settings_service_desk/services/service_desk_service_spec.js b/spec/frontend/projects/settings_service_desk/services/service_desk_service_spec.js index f9e4d55245a..3b960a95db4 100644 --- a/spec/frontend/projects/settings_service_desk/services/service_desk_service_spec.js +++ b/spec/frontend/projects/settings_service_desk/services/service_desk_service_spec.js @@ -19,24 +19,6 @@ describe('ServiceDeskService', () => { axiosMock.restore(); }); - describe('fetchIncomingEmail', () => { - it('makes a request to fetch incoming email', () => { - axiosMock.onGet(endpoint).replyOnce(httpStatusCodes.OK, dummyResponse); - - return service.fetchIncomingEmail().then(response => { - expect(response.data).toEqual(dummyResponse); - }); - }); - - it('fails on error response', () => { - axiosMock.onGet(endpoint).networkError(); - - return service.fetchIncomingEmail().catch(error => { - expect(error.message).toBe(errorMessage); - }); - }); - }); - describe('toggleServiceDesk', () => { it('makes a request to set service desk', () => { axiosMock.onPut(endpoint).replyOnce(httpStatusCodes.OK, dummyResponse); |