76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | import moment from 'moment-timezone'; | ||
|  | 
 | ||
|  | import { dayCount } from './date-utils'; | ||
|  | import test from 'tape'; | ||
|  | 
 | ||
|  | const PST = 'America/Los_Angeles'; | ||
|  | 
 | ||
|  | test('Day count between two epochs (inclusive) calculation', function(t) { | ||
|  |   t.plan(7); | ||
|  | 
 | ||
|  |   t.equal( | ||
|  |     dayCount([ | ||
|  |       moment.utc('8/3/2015 3:00', 'M/D/YYYY H:mm').valueOf(), | ||
|  |       moment.utc('8/3/2015 2:00', 'M/D/YYYY H:mm').valueOf() | ||
|  |     ]), | ||
|  |     1, | ||
|  |     'should return 1 day given epochs of the same day' | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.equal( | ||
|  |     dayCount([ | ||
|  |       moment.utc('8/3/2015 2:00', 'M/D/YYYY H:mm').valueOf(), | ||
|  |       moment.utc('8/3/2015 2:00', 'M/D/YYYY H:mm').valueOf() | ||
|  |     ]), | ||
|  |     1, | ||
|  |     'should return 1 day given same epochs' | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.equal( | ||
|  |     dayCount([ | ||
|  |       moment.utc('8/4/2015 2:00', 'M/D/YYYY H:mm').valueOf(), | ||
|  |       moment.utc('8/3/2015 2:00', 'M/D/YYYY H:mm').valueOf() | ||
|  |     ]), | ||
|  |     2, | ||
|  |     'should return 2 days when there is a 24 hours difference' | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.equal( | ||
|  |     dayCount([ | ||
|  |       moment.utc('8/4/2015 1:00', 'M/D/YYYY H:mm').valueOf(), | ||
|  |       moment.utc('8/3/2015 23:00', 'M/D/YYYY H:mm').valueOf() | ||
|  |     ]), | ||
|  |     2, | ||
|  |     'should return 2 days when the diff is less than 24h but different in UTC' | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.equal( | ||
|  |     dayCount([ | ||
|  |       moment.utc('8/4/2015 1:00', 'M/D/YYYY H:mm').valueOf(), | ||
|  |       moment.utc('8/3/2015 23:00', 'M/D/YYYY H:mm').valueOf() | ||
|  |     ], PST), | ||
|  |     1, | ||
|  |     'should return 1 day when the diff is less than 24h ' + | ||
|  |       'and days are different in UTC, but given PST' | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.equal( | ||
|  |     dayCount([ | ||
|  |       moment.utc('10/27/2015 1:00', 'M/D/YYYY H:mm').valueOf(), | ||
|  |       moment.utc('5/12/1982 1:00', 'M/D/YYYY H:mm').valueOf() | ||
|  |     ]), | ||
|  |     12222, | ||
|  |     'should return correct count when there is very big period' | ||
|  |   ); | ||
|  | 
 | ||
|  |   t.equal( | ||
|  |     dayCount([ | ||
|  |       moment.utc('8/4/2015 2:00', 'M/D/YYYY H:mm').valueOf(), | ||
|  |       moment.utc('8/3/2015 2:00', 'M/D/YYYY H:mm').valueOf() | ||
|  |     ]), | ||
|  |     2, | ||
|  |     'should return 2 days when there is a 24 hours difference ' + | ||
|  |       'between dates given `undefined` timezone' | ||
|  |   ); | ||
|  | }); |