UNPKG

emarsys-test

Version:

Emarsys test application

45 lines (33 loc) 1.38 kB
var chai = require('chai'); global.should = chai.should(); var moment = require('moment-business-time'); var cal = require('../cal'); describe('test',function() { var f = 'LLL'; describe('CalculateDueDate', function() { var day = moment('2017-04-17 15:21:49'); //Tuesday - workday 9:00 AM - 5:00 PM it('0h: return the same time', function() { cal.CalculateDueDate(day.format(f),0).should.equal(day.format(f)); }); it('1h: return 1 hour in working hours', function() { var hourAfter = day.clone().add(1,'h'); cal.CalculateDueDate(day,1).should.equal(hourAfter.format(f)); }); it('2h: return next workday 09:21:49', function() { var hoursAfter = day.clone().add(1,'d').set('h',9); cal.CalculateDueDate(day,2).should.equal(hoursAfter.format(f)); }); it('8h: return the same time tomorrow', function() { var tomorrow = day.clone().add(1,'d'); cal.CalculateDueDate(day,8).should.equal(tomorrow.format(f)); }); it('40h: return the same day next week', function() { var weekAfter = day.clone().add(1,'w'); cal.CalculateDueDate(day,40).should.equal(weekAfter.format(f)); }); it('-40h: return the same day last week', function() { var weekBefore = day.clone().subtract(1,'w'); cal.CalculateDueDate(day,-40).should.equal(weekBefore.format(f)); }); }) });