diff options
author | Jose Vargas <jvargas@gitlab.com> | 2019-05-03 16:04:36 -0500 |
---|---|---|
committer | Jose Vargas <jvargas@gitlab.com> | 2019-05-20 12:46:44 -0500 |
commit | 89a08260903c8500069921581f3ebff9b25d8ead (patch) | |
tree | a3315583b122f6bacfa98911886be8e6362b43ad | |
parent | 9252e9a59c61e6d1591411b26d6928cd59ff1c7f (diff) | |
download | gitlab-ce-89a08260903c8500069921581f3ebff9b25d8ead.tar.gz |
Add actions, getters and mutation specs
-rw-r--r-- | spec/javascripts/monitoring/stores/actions_spec.js | 50 | ||||
-rw-r--r-- | spec/javascripts/monitoring/stores/getters_spec.js | 21 | ||||
-rw-r--r-- | spec/javascripts/monitoring/stores/mutations_spec.js | 35 |
3 files changed, 99 insertions, 7 deletions
diff --git a/spec/javascripts/monitoring/stores/actions_spec.js b/spec/javascripts/monitoring/stores/actions_spec.js index c6c8ef30ce0..8dd2b71b9cc 100644 --- a/spec/javascripts/monitoring/stores/actions_spec.js +++ b/spec/javascripts/monitoring/stores/actions_spec.js @@ -2,13 +2,18 @@ import axios from '~/lib/utils/axios_utils'; import MockAdapter from 'axios-mock-adapter'; import store from '~/monitoring/stores'; import * as types from '~/monitoring/stores/mutation_types'; -import { resetStore } from '../helpers'; -import { deploymentData, environmentData } from '../mock_data'; import { fetchDeploymentsData, fetchEnvironmentsData, requestMetricsData, + setMetricsEndpoint, + setEnvironmentsEndpoint, + setDeploymentsEndpoint, } from '~/monitoring/stores/actions'; +import storeState from '~/monitoring/stores/state'; +import testAction from 'spec/helpers/vuex_action_helper'; +import { resetStore } from '../helpers'; +import { deploymentData, environmentData } from '../mock_data'; describe('Monitoring store actions', () => { let mock; @@ -106,4 +111,45 @@ describe('Monitoring store actions', () => { .catch(done.fail); }); }); + + describe('Set endpoints', () => { + let mockedState; + + beforeEach(() => { + mockedState = storeState(); + }); + + it('should commit SET_METRICS_ENDPOINT mutation', done => { + testAction( + setMetricsEndpoint, + 'additional_metrics.json', + mockedState, + [{ type: types.SET_METRICS_ENDPOINT, payload: 'additional_metrics.json' }], + [], + done, + ); + }); + + it('should commit SET_ENVIRONMENTS_ENDPOINT mutation', done => { + testAction( + setEnvironmentsEndpoint, + 'environments.json', + mockedState, + [{ type: types.SET_ENVIRONMENTS_ENDPOINT, payload: 'environments.json' }], + [], + done, + ); + }); + + it('should commit SET_DEPLOYMENTS_ENDPOINT mutation', done => { + testAction( + setDeploymentsEndpoint, + 'deployments.json', + mockedState, + [{ type: types.SET_DEPLOYMENTS_ENDPOINT, payload: 'deployments.json' }], + [], + done, + ); + }); + }); }); diff --git a/spec/javascripts/monitoring/stores/getters_spec.js b/spec/javascripts/monitoring/stores/getters_spec.js index e69de29bb2d..88361ed352c 100644 --- a/spec/javascripts/monitoring/stores/getters_spec.js +++ b/spec/javascripts/monitoring/stores/getters_spec.js @@ -0,0 +1,21 @@ +import * as getters from '~/monitoring/stores/getters'; +import state from '~/monitoring/stores/state'; + +describe('Monitoring store getters', () => { + let localState; + + beforeEach(() => { + localState = state(); + }); + + describe('groups', () => { + it('returns the current number of groups', () => { + localState.groups = [ + { id: 1, metrics: [{ query: '' }] }, + { id: 2, metrics: [{ query: '' }] }, + ]; + + expect(getters.getMetricsCount(localState)).toEqual(2); + }); + }); +}); diff --git a/spec/javascripts/monitoring/stores/mutations_spec.js b/spec/javascripts/monitoring/stores/mutations_spec.js index 3a826871524..6a99930d536 100644 --- a/spec/javascripts/monitoring/stores/mutations_spec.js +++ b/spec/javascripts/monitoring/stores/mutations_spec.js @@ -1,23 +1,48 @@ import mutations from '~/monitoring/stores/mutations'; import * as types from '~/monitoring/stores/mutation_types'; +import state from '~/monitoring/stores/state'; import { metricsGroupsAPIResponse } from '../mock_data'; describe('Monitoring mutations', () => { + let stateCopy; + + beforeEach(() => { + stateCopy = state(); + }); + describe(types.RECEIVE_METRICS_DATA_SUCCESS, () => { it('normalizes values', () => { - const state = { - groups: [], - }; + stateCopy.groups = []; const groups = metricsGroupsAPIResponse.data; - mutations[types.RECEIVE_METRICS_DATA_SUCCESS](state, groups); + mutations[types.RECEIVE_METRICS_DATA_SUCCESS](stateCopy, groups); const expectedTimestamp = '2017-05-25T08:22:34.925Z'; const expectedValue = 0.0010794445585559514; - const [timestamp, value] = state.groups[0].metrics[0].queries[0].result[0].values[0]; + const [timestamp, value] = stateCopy.groups[0].metrics[0].queries[0].result[0].values[0]; expect(timestamp).toEqual(expectedTimestamp); expect(value).toEqual(expectedValue); }); }); + + describe('SET_X_ENDPOINT', () => { + it('should set the metrics endpoint', () => { + mutations[types.SET_METRICS_ENDPOINT](stateCopy, 'additional_metrics.json'); + + expect(stateCopy.metricsEndpoint).toEqual('additional_metrics.json'); + }); + + it('should set the environments endpoint', () => { + mutations[types.SET_ENVIRONMENTS_ENDPOINT](stateCopy, 'environments.json'); + + expect(stateCopy.environmentsEndpoint).toEqual('environments.json'); + }); + + it('should set the deployments endpoint', () => { + mutations[types.SET_DEPLOYMENTS_ENDPOINT](stateCopy, 'deployments.json'); + + expect(stateCopy.deploymentsEndpoint).toEqual('deployments.json'); + }); + }); }); |