diff options
Diffstat (limited to 'spec/javascripts/environments/environment_rollback_spec.js')
-rw-r--r-- | spec/javascripts/environments/environment_rollback_spec.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/spec/javascripts/environments/environment_rollback_spec.js b/spec/javascripts/environments/environment_rollback_spec.js new file mode 100644 index 00000000000..4a596baad09 --- /dev/null +++ b/spec/javascripts/environments/environment_rollback_spec.js @@ -0,0 +1,47 @@ +const RollbackComponent = require('~/environments/components/environment_rollback'); + +describe('Rollback Component', () => { + preloadFixtures('static/environments/element.html.raw'); + + const retryURL = 'https://gitlab.com/retry'; + + beforeEach(() => { + loadFixtures('static/environments/element.html.raw'); + }); + + it('Should link to the provided retryUrl', () => { + const component = new RollbackComponent({ + el: document.querySelector('.test-dom-element'), + propsData: { + retryUrl: retryURL, + isLastDeployment: true, + }, + }); + + expect(component.$el.getAttribute('href')).toEqual(retryURL); + }); + + it('Should render Re-deploy label when isLastDeployment is true', () => { + const component = new RollbackComponent({ + el: document.querySelector('.test-dom-element'), + propsData: { + retryUrl: retryURL, + isLastDeployment: true, + }, + }); + + expect(component.$el.querySelector('span').textContent).toContain('Re-deploy'); + }); + + it('Should render Rollback label when isLastDeployment is false', () => { + const component = new RollbackComponent({ + el: document.querySelector('.test-dom-element'), + propsData: { + retryUrl: retryURL, + isLastDeployment: false, + }, + }); + + expect(component.$el.querySelector('span').textContent).toContain('Rollback'); + }); +}); |