2017-03-13 20:58:26 -04:00
|
|
|
import Vue from 'vue';
|
|
|
|
import stopComp from '~/environments/components/environment_stop';
|
2016-12-29 16:42:48 -05:00
|
|
|
|
2016-11-10 13:58:35 -05:00
|
|
|
describe('Stop Component', () => {
|
2017-03-13 20:58:26 -04:00
|
|
|
let StopComponent;
|
2016-11-19 08:29:48 -05:00
|
|
|
let component;
|
2017-03-13 20:58:26 -04:00
|
|
|
let spy;
|
|
|
|
const stopURL = '/stop';
|
2016-11-19 08:29:48 -05:00
|
|
|
|
2016-11-10 13:58:35 -05:00
|
|
|
beforeEach(() => {
|
2017-03-13 20:58:26 -04:00
|
|
|
StopComponent = Vue.extend(stopComp);
|
|
|
|
spy = jasmine.createSpy('spy').and.returnValue(Promise.resolve());
|
|
|
|
spyOn(window, 'confirm').and.returnValue(true);
|
2016-11-10 13:58:35 -05:00
|
|
|
|
2017-02-09 06:52:22 -05:00
|
|
|
component = new StopComponent({
|
2016-11-10 13:58:35 -05:00
|
|
|
propsData: {
|
2016-12-08 06:54:08 -05:00
|
|
|
stopUrl: stopURL,
|
2017-03-13 20:58:26 -04:00
|
|
|
service: {
|
|
|
|
postAction: spy,
|
|
|
|
},
|
2016-11-10 13:58:35 -05:00
|
|
|
},
|
2017-03-13 20:58:26 -04:00
|
|
|
}).$mount();
|
2016-11-10 13:58:35 -05:00
|
|
|
});
|
2016-11-19 08:07:13 -05:00
|
|
|
|
2017-03-13 20:58:26 -04:00
|
|
|
it('should render a button to stop the environment', () => {
|
|
|
|
expect(component.$el.tagName).toEqual('BUTTON');
|
2017-03-31 05:20:11 -04:00
|
|
|
expect(component.$el.getAttribute('title')).toEqual('Stop');
|
2016-11-19 08:29:48 -05:00
|
|
|
});
|
2016-11-19 08:07:13 -05:00
|
|
|
|
2017-03-13 20:58:26 -04:00
|
|
|
it('should call the service when an action is clicked', () => {
|
|
|
|
component.$el.click();
|
|
|
|
expect(spy).toHaveBeenCalled();
|
2016-11-19 08:07:13 -05:00
|
|
|
});
|
2016-11-10 13:58:35 -05:00
|
|
|
});
|