diff options
author | Clement Ho <clemmakesapps@gmail.com> | 2018-08-07 19:05:43 +0000 |
---|---|---|
committer | Mike Greiling <mike@pixelcog.com> | 2018-08-07 19:05:43 +0000 |
commit | 83badd07f783880079ecfb4f47705fe62760b8da (patch) | |
tree | 41ce99fe42c9d80c18012b0e2c669852ffdff79d /spec | |
parent | 29203198b6537551b7165538846eb9124c6d9ff3 (diff) | |
download | gitlab-ce-83badd07f783880079ecfb4f47705fe62760b8da.tar.gz |
Fix UI error whereby prometheus application status is updated
Diffstat (limited to 'spec')
4 files changed, 43 insertions, 55 deletions
diff --git a/spec/javascripts/clusters/clusters_bundle_spec.js b/spec/javascripts/clusters/clusters_bundle_spec.js index 839b8a06b48..d0e0b214509 100644 --- a/spec/javascripts/clusters/clusters_bundle_spec.js +++ b/spec/javascripts/clusters/clusters_bundle_spec.js @@ -1,11 +1,9 @@ import Clusters from '~/clusters/clusters_bundle'; import { - APPLICATION_INSTALLABLE, - APPLICATION_INSTALLING, - APPLICATION_INSTALLED, REQUEST_LOADING, REQUEST_SUCCESS, REQUEST_FAILURE, + APPLICATION_STATUS, } from '~/clusters/constants'; import getSetTimeoutPromise from 'spec/helpers/set_timeout_promise_helper'; @@ -84,7 +82,7 @@ describe('Clusters', () => { it('does not show alert when things transition from initial null state to something', () => { cluster.checkForNewInstalls(INITIAL_APP_MAP, { ...INITIAL_APP_MAP, - helm: { status: APPLICATION_INSTALLABLE, title: 'Helm Tiller' }, + helm: { status: APPLICATION_STATUS.INSTALLABLE, title: 'Helm Tiller' }, }); const flashMessage = document.querySelector('.js-cluster-application-notice .flash-text'); @@ -94,10 +92,10 @@ describe('Clusters', () => { it('shows an alert when something gets newly installed', () => { cluster.checkForNewInstalls({ ...INITIAL_APP_MAP, - helm: { status: APPLICATION_INSTALLING, title: 'Helm Tiller' }, + helm: { status: APPLICATION_STATUS.INSTALLING, title: 'Helm Tiller' }, }, { ...INITIAL_APP_MAP, - helm: { status: APPLICATION_INSTALLED, title: 'Helm Tiller' }, + helm: { status: APPLICATION_STATUS.INSTALLED, title: 'Helm Tiller' }, }); const flashMessage = document.querySelector('.js-cluster-application-notice .flash-text'); @@ -108,12 +106,12 @@ describe('Clusters', () => { it('shows an alert when multiple things gets newly installed', () => { cluster.checkForNewInstalls({ ...INITIAL_APP_MAP, - helm: { status: APPLICATION_INSTALLING, title: 'Helm Tiller' }, - ingress: { status: APPLICATION_INSTALLABLE, title: 'Ingress' }, + helm: { status: APPLICATION_STATUS.INSTALLING, title: 'Helm Tiller' }, + ingress: { status: APPLICATION_STATUS.INSTALLABLE, title: 'Ingress' }, }, { ...INITIAL_APP_MAP, - helm: { status: APPLICATION_INSTALLED, title: 'Helm Tiller' }, - ingress: { status: APPLICATION_INSTALLED, title: 'Ingress' }, + helm: { status: APPLICATION_STATUS.INSTALLED, title: 'Helm Tiller' }, + ingress: { status: APPLICATION_STATUS.INSTALLED, title: 'Ingress' }, }); const flashMessage = document.querySelector('.js-cluster-application-notice .flash-text'); diff --git a/spec/javascripts/clusters/components/application_row_spec.js b/spec/javascripts/clusters/components/application_row_spec.js index c83cbe90a57..9da5c248371 100644 --- a/spec/javascripts/clusters/components/application_row_spec.js +++ b/spec/javascripts/clusters/components/application_row_spec.js @@ -1,12 +1,7 @@ import Vue from 'vue'; import eventHub from '~/clusters/event_hub'; import { - APPLICATION_NOT_INSTALLABLE, - APPLICATION_SCHEDULED, - APPLICATION_INSTALLABLE, - APPLICATION_INSTALLING, - APPLICATION_INSTALLED, - APPLICATION_ERROR, + APPLICATION_STATUS, REQUEST_LOADING, REQUEST_SUCCESS, REQUEST_FAILURE, @@ -62,10 +57,10 @@ describe('Application Row', () => { expect(vm.installButtonLabel).toBeUndefined(); }); - it('has disabled "Install" when APPLICATION_NOT_INSTALLABLE', () => { + it('has disabled "Install" when APPLICATION_STATUS.NOT_INSTALLABLE', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_NOT_INSTALLABLE, + status: APPLICATION_STATUS.NOT_INSTALLABLE, }); expect(vm.installButtonLabel).toEqual('Install'); @@ -73,10 +68,10 @@ describe('Application Row', () => { expect(vm.installButtonDisabled).toEqual(true); }); - it('has enabled "Install" when APPLICATION_INSTALLABLE', () => { + it('has enabled "Install" when APPLICATION_STATUS.INSTALLABLE', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, }); expect(vm.installButtonLabel).toEqual('Install'); @@ -84,10 +79,10 @@ describe('Application Row', () => { expect(vm.installButtonDisabled).toEqual(false); }); - it('has loading "Installing" when APPLICATION_SCHEDULED', () => { + it('has loading "Installing" when APPLICATION_STATUS.SCHEDULED', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_SCHEDULED, + status: APPLICATION_STATUS.SCHEDULED, }); expect(vm.installButtonLabel).toEqual('Installing'); @@ -95,10 +90,10 @@ describe('Application Row', () => { expect(vm.installButtonDisabled).toEqual(true); }); - it('has loading "Installing" when APPLICATION_INSTALLING', () => { + it('has loading "Installing" when APPLICATION_STATUS.INSTALLING', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLING, + status: APPLICATION_STATUS.INSTALLING, }); expect(vm.installButtonLabel).toEqual('Installing'); @@ -106,10 +101,10 @@ describe('Application Row', () => { expect(vm.installButtonDisabled).toEqual(true); }); - it('has disabled "Installed" when APPLICATION_INSTALLED', () => { + it('has disabled "Installed" when APPLICATION_STATUS.INSTALLED', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLED, + status: APPLICATION_STATUS.INSTALLED, }); expect(vm.installButtonLabel).toEqual('Installed'); @@ -117,10 +112,10 @@ describe('Application Row', () => { expect(vm.installButtonDisabled).toEqual(true); }); - it('has enabled "Install" when APPLICATION_ERROR', () => { + it('has enabled "Install" when APPLICATION_STATUS.ERROR', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_ERROR, + status: APPLICATION_STATUS.ERROR, }); expect(vm.installButtonLabel).toEqual('Install'); @@ -131,7 +126,7 @@ describe('Application Row', () => { it('has loading "Install" when REQUEST_LOADING', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, requestStatus: REQUEST_LOADING, }); @@ -143,7 +138,7 @@ describe('Application Row', () => { it('has disabled "Install" when REQUEST_SUCCESS', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, requestStatus: REQUEST_SUCCESS, }); @@ -155,7 +150,7 @@ describe('Application Row', () => { it('has enabled "Install" when REQUEST_FAILURE (so you can try installing again)', () => { vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, requestStatus: REQUEST_FAILURE, }); @@ -168,7 +163,7 @@ describe('Application Row', () => { spyOn(eventHub, '$emit'); vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, }); const installButton = vm.$el.querySelector('.js-cluster-application-install-button'); @@ -184,7 +179,7 @@ describe('Application Row', () => { spyOn(eventHub, '$emit'); vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, installApplicationRequestParams: { hostname: 'jupyter' }, }); const installButton = vm.$el.querySelector('.js-cluster-application-install-button'); @@ -201,7 +196,7 @@ describe('Application Row', () => { spyOn(eventHub, '$emit'); vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLING, + status: APPLICATION_STATUS.INSTALLING, }); const installButton = vm.$el.querySelector('.js-cluster-application-install-button'); @@ -225,11 +220,11 @@ describe('Application Row', () => { expect(generalErrorMessage).toBeNull(); }); - it('shows status reason when APPLICATION_ERROR', () => { + it('shows status reason when APPLICATION_STATUS.ERROR', () => { const statusReason = 'We broke it 0.0'; vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_ERROR, + status: APPLICATION_STATUS.ERROR, statusReason, }); const generalErrorMessage = vm.$el.querySelector('.js-cluster-application-general-error-message'); @@ -243,7 +238,7 @@ describe('Application Row', () => { const requestReason = 'We broke thre request 0.0'; vm = mountComponent(ApplicationRow, { ...DEFAULT_APPLICATION_STATE, - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, requestStatus: REQUEST_FAILURE, requestReason, }); diff --git a/spec/javascripts/clusters/services/mock_data.js b/spec/javascripts/clusters/services/mock_data.js index b2b0ebf840b..c7c1412e1c6 100644 --- a/spec/javascripts/clusters/services/mock_data.js +++ b/spec/javascripts/clusters/services/mock_data.js @@ -1,9 +1,4 @@ -import { - APPLICATION_INSTALLED, - APPLICATION_INSTALLABLE, - APPLICATION_INSTALLING, - APPLICATION_ERROR, -} from '~/clusters/constants'; +import { APPLICATION_STATUS } from '~/clusters/constants'; const CLUSTERS_MOCK_DATA = { GET: { @@ -13,25 +8,25 @@ const CLUSTERS_MOCK_DATA = { status_reason: 'Failed to request to CloudPlatform.', applications: [{ name: 'helm', - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, status_reason: null, }, { name: 'ingress', - status: APPLICATION_ERROR, + status: APPLICATION_STATUS.ERROR, status_reason: 'Cannot connect', external_ip: null, }, { name: 'runner', - status: APPLICATION_INSTALLING, + status: APPLICATION_STATUS.INSTALLING, status_reason: null, }, { name: 'prometheus', - status: APPLICATION_ERROR, + status: APPLICATION_STATUS.ERROR, status_reason: 'Cannot connect', }, { name: 'jupyter', - status: APPLICATION_INSTALLING, + status: APPLICATION_STATUS.INSTALLING, status_reason: 'Cannot connect', }], }, @@ -42,25 +37,25 @@ const CLUSTERS_MOCK_DATA = { status_reason: 'Failed to request to CloudPlatform.', applications: [{ name: 'helm', - status: APPLICATION_INSTALLED, + status: APPLICATION_STATUS.INSTALLED, status_reason: null, }, { name: 'ingress', - status: APPLICATION_INSTALLED, + status: APPLICATION_STATUS.INSTALLED, status_reason: 'Cannot connect', external_ip: '1.1.1.1', }, { name: 'runner', - status: APPLICATION_INSTALLING, + status: APPLICATION_STATUS.INSTALLING, status_reason: null, }, { name: 'prometheus', - status: APPLICATION_ERROR, + status: APPLICATION_STATUS.ERROR, status_reason: 'Cannot connect', }, { name: 'jupyter', - status: APPLICATION_INSTALLABLE, + status: APPLICATION_STATUS.INSTALLABLE, status_reason: 'Cannot connect', }], }, diff --git a/spec/javascripts/clusters/stores/clusters_store_spec.js b/spec/javascripts/clusters/stores/clusters_store_spec.js index 9e43552f740..104a064bdd3 100644 --- a/spec/javascripts/clusters/stores/clusters_store_spec.js +++ b/spec/javascripts/clusters/stores/clusters_store_spec.js @@ -1,5 +1,5 @@ import ClustersStore from '~/clusters/stores/clusters_store'; -import { APPLICATION_INSTALLING } from '~/clusters/constants'; +import { APPLICATION_STATUS } from '~/clusters/constants'; import { CLUSTERS_MOCK_DATA } from '../services/mock_data'; describe('Clusters Store', () => { @@ -35,7 +35,7 @@ describe('Clusters Store', () => { it('should store new request status', () => { expect(store.state.applications.helm.requestStatus).toEqual(null); - const newStatus = APPLICATION_INSTALLING; + const newStatus = APPLICATION_STATUS.INSTALLING; store.updateAppProperty('helm', 'requestStatus', newStatus); expect(store.state.applications.helm.requestStatus).toEqual(newStatus); |