summaryrefslogtreecommitdiff
path: root/spec/javascripts/environments/environment_rollback_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/javascripts/environments/environment_rollback_spec.js')
-rw-r--r--spec/javascripts/environments/environment_rollback_spec.js47
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');
+ });
+});