diff options
Diffstat (limited to 'spec/javascripts/environments/environment_rollback_spec.js')
-rw-r--r-- | spec/javascripts/environments/environment_rollback_spec.js | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/spec/javascripts/environments/environment_rollback_spec.js b/spec/javascripts/environments/environment_rollback_spec.js index 79f33c5bc8a..8c47f6a12c0 100644 --- a/spec/javascripts/environments/environment_rollback_spec.js +++ b/spec/javascripts/environments/environment_rollback_spec.js @@ -1,8 +1,11 @@ import Vue from 'vue'; +import { shallowMount } from '@vue/test-utils'; +import { GlButton } from '@gitlab/ui'; +import eventHub from '~/environments/event_hub'; import rollbackComp from '~/environments/components/environment_rollback.vue'; describe('Rollback Component', () => { - const retryURL = 'https://gitlab.com/retry'; + const retryUrl = 'https://gitlab.com/retry'; let RollbackComponent; beforeEach(() => { @@ -13,8 +16,9 @@ describe('Rollback Component', () => { const component = new RollbackComponent({ el: document.querySelector('.test-dom-element'), propsData: { - retryUrl: retryURL, + retryUrl, isLastDeployment: true, + environment: {}, }, }).$mount(); @@ -25,11 +29,33 @@ describe('Rollback Component', () => { const component = new RollbackComponent({ el: document.querySelector('.test-dom-element'), propsData: { - retryUrl: retryURL, + retryUrl, isLastDeployment: false, + environment: {}, }, }).$mount(); expect(component.$el).toHaveSpriteIcon('redo'); }); + + it('should emit a "rollback" event on button click', () => { + const eventHubSpy = spyOn(eventHub, '$emit'); + const component = shallowMount(RollbackComponent, { + propsData: { + retryUrl, + environment: { + name: 'test', + }, + }, + }); + const button = component.find(GlButton); + + button.vm.$emit('click'); + + expect(eventHubSpy).toHaveBeenCalledWith('requestRollbackEnvironment', { + retryUrl, + isLastDeployment: true, + name: 'test', + }); + }); }); |