@shopgate/pwa-common
Version:
Common library for the Shopgate Connect PWA.
1 lines • 2.83 kB
JavaScript
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{isBefore,isAfter,isBetween,parseDuration,addDuration}from'.';describe('helpers/date',function(){var date10Hours=new Date('2019-01-01T10:00:00.000Z');var date12Hours=new Date('2019-01-01T12:00:00.000Z');describe('isBefore',function(){it('should be before',function(){expect(isBefore(new Date('2019-01-01T09:59:59.000Z'),date10Hours)).toBeTruthy();});it('should be not before',function(){expect(isBefore(new Date('2019-01-01T10:00:00.000Z'),date10Hours)).toBeFalsy();});});describe('isAfter',function(){it('should be after',function(){expect(isAfter(new Date('2019-01-01T10:00:01.000Z'),date10Hours)).toBeTruthy();});it('should be not after',function(){expect(isAfter(new Date('2019-01-01T10:00:00.000Z'),date10Hours)).toBeFalsy();});});describe('isBetween',function(){it('should be between',function(){expect(isBetween(new Date('2019-01-01T11:00:00.000Z'),date10Hours,date12Hours)).toBeTruthy();});it('should be not between',function(){expect(isBetween(new Date('2019-01-01T09:00:00.000Z'),date10Hours,date12Hours)).toBeFalsy();expect(isBetween(new Date('2019-01-01T13:00:00.000Z'),date10Hours,date12Hours)).toBeFalsy();});it('should be inclusively between',function(){expect(isBetween(new Date('2019-01-01T10:00:00.000Z'),date10Hours,date12Hours)).toBeTruthy();expect(isBetween(new Date('2019-01-01T12:00:00.000Z'),date10Hours,date12Hours)).toBeTruthy();});});describe('parseDuration',function(){var parsed={Year:undefined,Month:undefined,Week:undefined,Day:undefined,Hour:undefined,Minute:undefined,Second:undefined};it('should parse 10 second',function(){expect(parseDuration('PT10S')).toEqual(_extends({},parsed,{Second:10}));});it('should parse 1 hour',function(){expect(parseDuration('PT1H')).toEqual(_extends({},parsed,{Hour:1}));});it('should parse 5 day',function(){expect(parseDuration('P5D')).toEqual(_extends({},parsed,{Day:5}));});it('should parse -5 day',function(){expect(parseDuration('-P5D')).toEqual(_extends({},parsed,{Day:-5}));});});describe('addDuration',function(){var dateStub='2019-01-01T11:00:00.000Z';var date;beforeEach(function(){date=new Date(dateStub);});it('should add 0sec',function(){addDuration(date,'PT0S');expect(date).toEqual(date);});it('should add 1 hour',function(){addDuration(date,'PT1H');expect(date).toEqual(new Date('2019-01-01T12:00:00.000Z'));});it('should add 5 day',function(){addDuration(date,'P5D');expect(date).toEqual(new Date('2019-01-06T11:00:00.000Z'));});it('should subtract 5 day',function(){addDuration(date,'-P5D');expect(date).toEqual(new Date('2018-12-27T11:00:00.000Z'));});});});