summaryrefslogtreecommitdiff
path: root/spec/frontend/clusters
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-04-04 00:09:37 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-04-04 00:09:37 +0000
commite3bdfa1a13d7e6c92716324c78b5b20c07eeb7c6 (patch)
treee8776263096b027d32d4be5118cccc87b00de2bc /spec/frontend/clusters
parentc1a50b8195f4e36fda9b233acbde57a449bcf6c3 (diff)
downloadgitlab-ce-e3bdfa1a13d7e6c92716324c78b5b20c07eeb7c6.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/clusters')
-rw-r--r--spec/frontend/clusters/components/applications_spec.js41
-rw-r--r--spec/frontend/clusters/components/knative_domain_editor_spec.js36
-rw-r--r--spec/frontend/clusters/stores/clusters_store_spec.js2
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,