diff options
author | Nathan Friend <nathan@gitlab.com> | 2019-08-12 15:22:58 -0400 |
---|---|---|
committer | Nathan Friend <nathan@gitlab.com> | 2019-08-12 15:22:58 -0400 |
commit | da306cdb0f3125d0b9682d11c2ec007cdfd1746f (patch) | |
tree | 8873c93631737d1989703c9d52b1de34ab133446 /spec/frontend/environments/confirm_rollback_modal_spec.js | |
parent | 22f3142b83fb08589eb1212cc378996975b2157f (diff) | |
download | gitlab-ce-61800-migrate-environment-rollback-tests-to-jest.tar.gz |
Convert spec/javascripts/environments/*rollback* tests to Jest61800-migrate-environment-rollback-tests-to-jest
This commit converts two Jasmine tests into Jest tests.
Diffstat (limited to 'spec/frontend/environments/confirm_rollback_modal_spec.js')
-rw-r--r-- | spec/frontend/environments/confirm_rollback_modal_spec.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/spec/frontend/environments/confirm_rollback_modal_spec.js b/spec/frontend/environments/confirm_rollback_modal_spec.js new file mode 100644 index 00000000000..a1a22274e8f --- /dev/null +++ b/spec/frontend/environments/confirm_rollback_modal_spec.js @@ -0,0 +1,70 @@ +import { shallowMount } from '@vue/test-utils'; +import { GlModal } from '@gitlab/ui'; +import ConfirmRollbackModal from '~/environments/components/confirm_rollback_modal.vue'; +import eventHub from '~/environments/event_hub'; + +describe('Confirm Rollback Modal Component', () => { + let environment; + + beforeEach(() => { + environment = { + name: 'test', + last_deployment: { + commit: { + short_id: 'abc0123', + }, + }, + modalId: 'test', + }; + }); + + it('should show "Rollback" when isLastDeployment is false', () => { + const component = shallowMount(ConfirmRollbackModal, { + propsData: { + environment: { + ...environment, + isLastDeployment: false, + }, + }, + }); + const modal = component.find(GlModal); + + expect(modal.attributes('title')).toContain('Rollback'); + expect(modal.attributes('title')).toContain('test'); + expect(modal.attributes('ok-title')).toBe('Rollback'); + expect(modal.text()).toContain('commit abc0123'); + expect(modal.text()).toContain('Are you sure you want to continue?'); + }); + + it('should show "Re-deploy" when isLastDeployment is true', () => { + const component = shallowMount(ConfirmRollbackModal, { + propsData: { + environment: { + ...environment, + isLastDeployment: true, + }, + }, + }); + const modal = component.find(GlModal); + + expect(modal.attributes('title')).toContain('Re-deploy'); + expect(modal.attributes('title')).toContain('test'); + expect(modal.attributes('ok-title')).toBe('Re-deploy'); + expect(modal.text()).toContain('commit abc0123'); + expect(modal.text()).toContain('Are you sure you want to continue?'); + }); + + it('should emit the "rollback" event when "ok" is clicked', () => { + environment = { ...environment, isLastDeployment: true }; + const component = shallowMount(ConfirmRollbackModal, { + propsData: { + environment, + }, + }); + const eventHubSpy = jest.spyOn(eventHub, '$emit'); + const modal = component.find(GlModal); + modal.vm.$emit('ok'); + + expect(eventHubSpy).toHaveBeenCalledWith('rollbackEnvironment', environment); + }); +}); |