diff options
author | Clement Ho <ClemMakesApps@gmail.com> | 2016-11-17 14:41:35 -0600 |
---|---|---|
committer | Clement Ho <ClemMakesApps@gmail.com> | 2016-11-19 12:17:58 -0600 |
commit | c5205046105cb908df1fb753ca31d8e4fa4f60a2 (patch) | |
tree | f8609662f892203ebac3dc9c4c7dabc676bb044c /spec | |
parent | 18a646c38808c645773a4ea3eb2ddebb273cf6bc (diff) | |
download | gitlab-ce-c5205046105cb908df1fb753ca31d8e4fa4f60a2.tar.gz |
Fix timeago rendering for environment timeago24552-js-environment-timeago-is-not-rendered-and-text-shows-object-object-in-mr-widget
Diffstat (limited to 'spec')
-rw-r--r-- | spec/javascripts/merge_request_widget_spec.js | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/spec/javascripts/merge_request_widget_spec.js b/spec/javascripts/merge_request_widget_spec.js index 575b87e6f17..f38e9cb8ef5 100644 --- a/spec/javascripts/merge_request_widget_spec.js +++ b/spec/javascripts/merge_request_widget_spec.js @@ -1,6 +1,7 @@ /* eslint-disable space-before-function-paren, quotes, comma-dangle, dot-notation, indent, quote-props, no-var, padded-blocks, max-len */ /*= require merge_request_widget */ -/*= require lib/utils/timeago.js */ +/*= require lib/utils/timeago */ +/*= require lib/utils/datetime_utility */ (function() { describe('MergeRequestWidget', function() { @@ -54,6 +55,57 @@ }); }); + describe('renderEnvironments', function() { + describe('should render correct timeago', function() { + beforeEach(function() { + this.environments = [{ + id: 'test-environment-id', + url: 'testurl', + deployed_at: new Date().toISOString(), + deployed_at_formatted: true + }]; + }); + + function getTimeagoText(template) { + var el = document.createElement('html'); + el.innerHTML = template; + return el.querySelector('.js-environment-timeago').innerText.trim(); + } + + it('should render less than a minute ago text', function() { + spyOn(this.class.$widgetBody, 'before').and.callFake(function(template) { + expect(getTimeagoText(template)).toBe('less than a minute ago.'); + }); + + this.class.renderEnvironments(this.environments); + }); + + it('should render about an hour ago text', function() { + var oneHourAgo = new Date(); + oneHourAgo.setHours(oneHourAgo.getHours() - 1); + + this.environments[0].deployed_at = oneHourAgo.toISOString(); + spyOn(this.class.$widgetBody, 'before').and.callFake(function(template) { + expect(getTimeagoText(template)).toBe('about an hour ago.'); + }); + + this.class.renderEnvironments(this.environments); + }); + + it('should render about 2 hours ago text', function() { + var twoHoursAgo = new Date(); + twoHoursAgo.setHours(twoHoursAgo.getHours() - 2); + + this.environments[0].deployed_at = twoHoursAgo.toISOString(); + spyOn(this.class.$widgetBody, 'before').and.callFake(function(template) { + expect(getTimeagoText(template)).toBe('about 2 hours ago.'); + }); + + this.class.renderEnvironments(this.environments); + }); + }); + }); + return describe('getCIStatus', function() { beforeEach(function() { this.ciStatusData = { |