From 4b892a5f078973fc5fcbcaa3156d4a196be6bccc Mon Sep 17 00:00:00 2001 From: Mike Greiling Date: Wed, 30 Aug 2017 11:11:19 -0500 Subject: update specs to match reorganized monitoring components --- spec/javascripts/monitoring/dashboard_spec.js | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 spec/javascripts/monitoring/dashboard_spec.js (limited to 'spec/javascripts/monitoring/dashboard_spec.js') diff --git a/spec/javascripts/monitoring/dashboard_spec.js b/spec/javascripts/monitoring/dashboard_spec.js new file mode 100644 index 00000000000..752fdfb4614 --- /dev/null +++ b/spec/javascripts/monitoring/dashboard_spec.js @@ -0,0 +1,49 @@ +import Vue from 'vue'; +import Dashboard from '~/monitoring/components/dashboard.vue'; +import { MonitorMockInterceptor } from './mock_data'; + +describe('Dashboard', () => { + const fixtureName = 'environments/metrics/metrics.html.raw'; + let DashboardComponent; + let component; + preloadFixtures(fixtureName); + + beforeEach(() => { + loadFixtures(fixtureName); + DashboardComponent = Vue.extend(Dashboard); + }); + + describe('no metrics are available yet', () => { + it('shows a getting started empty state when no metrics are present', () => { + component = new DashboardComponent({ + el: document.querySelector('#prometheus-graphs'), + }); + + component.$mount(); + expect(component.$el.querySelector('#prometheus-graphs')).toBe(null); + expect(component.state).toEqual('gettingStarted'); + }); + }); + + describe('requests information to the server', () => { + beforeEach(() => { + document.querySelector('#prometheus-graphs').setAttribute('data-has-metrics', 'true'); + Vue.http.interceptors.push(MonitorMockInterceptor); + }); + + afterEach(() => { + Vue.http.interceptors = _.without(Vue.http.interceptors, MonitorMockInterceptor); + }); + + it('shows up a loading state', (done) => { + component = new DashboardComponent({ + el: document.querySelector('#prometheus-graphs'), + }); + component.$mount(); + Vue.nextTick(() => { + expect(component.state).toEqual('loading'); + done(); + }); + }); + }); +}); -- cgit v1.2.1