diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-04 00:09:37 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-04 00:09:37 +0000 |
commit | e3bdfa1a13d7e6c92716324c78b5b20c07eeb7c6 (patch) | |
tree | e8776263096b027d32d4be5118cccc87b00de2bc /spec/frontend/clusters | |
parent | c1a50b8195f4e36fda9b233acbde57a449bcf6c3 (diff) | |
download | gitlab-ce-e3bdfa1a13d7e6c92716324c78b5b20c07eeb7c6.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/clusters')
3 files changed, 69 insertions, 10 deletions
diff --git a/spec/frontend/clusters/components/applications_spec.js b/spec/frontend/clusters/components/applications_spec.js index db5d5c84820..782e5215ad8 100644 --- a/spec/frontend/clusters/components/applications_spec.js +++ b/spec/frontend/clusters/components/applications_spec.js @@ -400,6 +400,10 @@ describe('Applications', () => { }); describe('Knative application', () => { + const availableDomain = { + id: 4, + domain: 'newhostname.com', + }; const propsData = { applications: { ...APPLICATIONS_MOCK_STATE, @@ -409,10 +413,11 @@ describe('Applications', () => { status: 'installed', externalIp: '1.1.1.1', installed: true, + availableDomains: [availableDomain], + pagesDomain: null, }, }, }; - const newHostname = 'newhostname.com'; let wrapper; let knativeDomainEditor; @@ -428,20 +433,44 @@ describe('Applications', () => { }); it('emits saveKnativeDomain event when knative domain editor emits save event', () => { - knativeDomainEditor.vm.$emit('save', newHostname); + propsData.applications.knative.hostname = availableDomain.domain; + propsData.applications.knative.pagesDomain = availableDomain; + knativeDomainEditor.vm.$emit('save'); + + expect(eventHub.$emit).toHaveBeenCalledWith('saveKnativeDomain', { + id: 'knative', + params: { + hostname: availableDomain.domain, + pages_domain_id: availableDomain.id, + }, + }); + }); + + it('emits saveKnativeDomain event when knative domain editor emits save event with custom domain', () => { + const newHostName = 'someothernewhostname.com'; + propsData.applications.knative.hostname = newHostName; + propsData.applications.knative.pagesDomain = null; + knativeDomainEditor.vm.$emit('save'); expect(eventHub.$emit).toHaveBeenCalledWith('saveKnativeDomain', { id: 'knative', - params: { hostname: newHostname }, + params: { + hostname: newHostName, + pages_domain_id: undefined, + }, }); }); it('emits setKnativeHostname event when knative domain editor emits change event', () => { - wrapper.find(KnativeDomainEditor).vm.$emit('set', newHostname); + wrapper.find(KnativeDomainEditor).vm.$emit('set', { + domain: availableDomain.domain, + domainId: availableDomain.id, + }); - expect(eventHub.$emit).toHaveBeenCalledWith('setKnativeHostname', { + expect(eventHub.$emit).toHaveBeenCalledWith('setKnativeDomain', { id: 'knative', - hostname: newHostname, + domain: availableDomain.domain, + domainId: availableDomain.id, }); }); }); diff --git a/spec/frontend/clusters/components/knative_domain_editor_spec.js b/spec/frontend/clusters/components/knative_domain_editor_spec.js index 6514d883c0d..2de04f7da1f 100644 --- a/spec/frontend/clusters/components/knative_domain_editor_spec.js +++ b/spec/frontend/clusters/components/knative_domain_editor_spec.js @@ -1,4 +1,5 @@ import { shallowMount } from '@vue/test-utils'; +import { GlDropdownItem } from '@gitlab/ui'; import KnativeDomainEditor from '~/clusters/components/knative_domain_editor.vue'; import LoadingButton from '~/vue_shared/components/loading_button.vue'; import { APPLICATION_STATUS } from '~/clusters/constants'; @@ -80,7 +81,7 @@ describe('KnativeDomainEditor', () => { it('triggers save event and pass current knative hostname', () => { wrapper.find(LoadingButton).vm.$emit('click'); return wrapper.vm.$nextTick().then(() => { - expect(wrapper.emitted('save')[0]).toEqual([knative.hostname]); + expect(wrapper.emitted('save').length).toEqual(1); }); }); }); @@ -104,14 +105,43 @@ describe('KnativeDomainEditor', () => { describe('when knative domain name input changes', () => { it('emits "set" event with updated domain name', () => { - createComponent({ knative }); + const newDomain = { + id: 4, + domain: 'newhostname.com', + }; + + createComponent({ knative: { ...knative, availableDomains: [newDomain] } }); + jest.spyOn(wrapper.vm, 'selectDomain'); + + wrapper.find(GlDropdownItem).vm.$emit('click'); + return wrapper.vm.$nextTick().then(() => { + expect(wrapper.vm.selectDomain).toHaveBeenCalledWith(newDomain); + expect(wrapper.emitted('set')[0]).toEqual([ + { + domain: newDomain.domain, + domainId: newDomain.id, + }, + ]); + }); + }); + + it('emits "set" event with updated custom domain name', () => { const newHostname = 'newhostname.com'; + createComponent({ knative }); + jest.spyOn(wrapper.vm, 'selectCustomDomain'); + wrapper.setData({ knativeHostname: newHostname }); return wrapper.vm.$nextTick().then(() => { - expect(wrapper.emitted('set')[0]).toEqual([newHostname]); + expect(wrapper.vm.selectCustomDomain).toHaveBeenCalledWith(newHostname); + expect(wrapper.emitted('set')[0]).toEqual([ + { + domain: newHostname, + domainId: null, + }, + ]); }); }); }); diff --git a/spec/frontend/clusters/stores/clusters_store_spec.js b/spec/frontend/clusters/stores/clusters_store_spec.js index 0207fda84c4..9fafc688af9 100644 --- a/spec/frontend/clusters/stores/clusters_store_spec.js +++ b/spec/frontend/clusters/stores/clusters_store_spec.js @@ -140,7 +140,7 @@ describe('Clusters Store', () => { statusReason: mockResponseData.applications[5].status_reason, requestReason: null, hostname: null, - isEditingHostName: false, + isEditingDomain: false, externalIp: null, externalHostname: null, installed: false, |