UNPKG

5.41 kBJavaScriptView Raw
1const assert = require('assert');
2const moment = require('moment');
3const sinon = require('sinon');
4const GladDate = require('../namespace/date');
5
6
7describe("UTC Date Tests", function () {
8 var clock;
9 var utcDate;
10 var pstDate;
11
12 before(function () {
13 clock = sinon.useFakeTimers();
14 utcDate = new GladDate(moment);
15 pstDate = new GladDate(moment, -8);
16 });
17
18 after(function () { clock.restore(); });
19
20 it('monthsFromNow:: 1 month from now', function () {
21 let testDate = utcDate.monthsFromNow(1);
22 assert.equal(testDate.toISOString(), '1970-02-01T00:00:00.000Z');
23 });
24
25 it('monthsFromNow:: 12 months from now', function () {
26 let testDate = utcDate.monthsFromNow(12);
27 assert.equal(testDate.toISOString(), '1971-01-01T00:00:00.000Z');
28 });
29
30 it('monthsFromNow:: 24 months from now', function () {
31 let testDate = utcDate.monthsFromNow(24);
32 assert.equal(testDate.toISOString(), '1972-01-01T00:00:00.000Z');
33 });
34
35
36 it('weeksFromNow:: 1 week from now', function () {
37 let testDate = utcDate.weeksFromNow(1);
38 assert.equal(testDate.toISOString(), '1970-01-08T00:00:00.000Z');
39 });
40
41 it('daysFromNow:: 1 day from now', function () {
42 let testDate = utcDate.daysFromNow(1);
43 assert.equal(testDate.toISOString(), '1970-01-02T00:00:00.000Z');
44 });
45
46 it('daysFromNow:: 10 days from now', function () {
47 let testDate = utcDate.daysFromNow(10);
48 assert.equal(testDate.toISOString(), '1970-01-11T00:00:00.000Z');
49 });
50
51 it('hoursFromNow:: 1 hour from now', function () {
52 let testDate = utcDate.hoursFromNow(1);
53 assert.equal(testDate.toISOString(), '1970-01-01T01:00:00.000Z');
54 });
55
56 it('minutesFromNow:: 1 minute from now', function () {
57 let testDate = utcDate.minutesFromNow(1);
58 assert.equal(testDate.toISOString(), '1970-01-01T00:01:00.000Z');
59 });
60
61 it('minutesFromNow:: 14 minutes from now', function () {
62 let testDate = utcDate.minutesFromNow(14);
63 assert.equal(testDate.toISOString(), '1970-01-01T00:14:00.000Z');
64 });
65
66 it('secondsFromNow:: 1 second from now', function () {
67 let testDate = utcDate.secondsFromNow(1);
68 assert.equal(testDate.toISOString(), '1970-01-01T00:00:01.000Z');
69 });
70
71 it('secondsFromNow:: 10 seconds from now', function () {
72 let testDate = utcDate.secondsFromNow(10);
73 assert.equal(testDate.toISOString(), '1970-01-01T00:00:10.000Z');
74 });
75
76 it('secondsFromNow:: 61 seconds from now', function () {
77 let testDate = utcDate.secondsFromNow(61);
78 assert.equal(testDate.toISOString(), '1970-01-01T00:01:01.000Z');
79 });
80
81 it('startOfSecond', function () {
82 let testDate = utcDate.secondsFromNow(1.2);
83 let startOfSecond = utcDate.startOfSecond(testDate);
84 assert.equal(startOfSecond.toISOString(), '1970-01-01T00:00:01.000Z');
85 });
86
87 it('startOfMinute', function () {
88 let testDate = utcDate.minutesFromNow(1.2);
89 let startOfMinute = utcDate.startOfMinute(testDate);
90 assert.equal(startOfMinute.toISOString(), '1970-01-01T00:01:00.000Z');
91 });
92
93 it('startOfHour', function () {
94 let testDate = utcDate.hoursFromNow(1.2);
95 let startOfHour = utcDate.startOfHour(testDate);
96 assert.equal(startOfHour.toISOString(), '1970-01-01T01:00:00.000Z');
97 });
98
99 it('startOfDay', function () {
100 let testDate = utcDate.daysFromNow(1.2);
101 let startOfDay = utcDate.startOfDay(testDate);
102 assert.equal(startOfDay.toISOString(), '1970-01-02T00:00:00.000Z');
103 });
104
105 it('startOfWeek', function () {
106 let testDate = utcDate.daysFromNow(22);
107 let startOfWeek = utcDate.startOfWeek(testDate);
108 assert.equal(startOfWeek.toISOString(), '1970-01-18T00:00:00.000Z');
109 });
110
111 it('startOfMonth', function () {
112 let testDate = utcDate.daysFromNow(22);
113 let startOfMonth = utcDate.startOfMonth(testDate);
114 assert.equal(startOfMonth.toISOString(), '1970-01-01T00:00:00.000Z');
115 });
116
117 it('startOfMonth (2)', function () {
118 let testDate = utcDate.daysFromNow(42);
119 let startOfMonth = utcDate.startOfMonth(testDate);
120 assert.equal(startOfMonth.toISOString(), '1970-02-01T00:00:00.000Z');
121 });
122
123 it('startOfQuarter', function () {
124 let testDate = utcDate.daysFromNow(2);
125 let startOfQuarter = utcDate.startOfQuarter(testDate);
126 assert.equal(startOfQuarter.toISOString(), '1970-01-01T00:00:00.000Z');
127 });
128
129 it('startOfQuarter (2)', function () {
130 let testDate = utcDate.daysFromNow(100);
131 let startOfQuarter = utcDate.startOfQuarter(testDate);
132 assert.equal(startOfQuarter.toISOString(), '1970-04-01T00:00:00.000Z');
133 });
134
135 it('startOfQuarter (3)', function () {
136 let testDate = utcDate.daysFromNow(270);
137 let startOfQuarter = utcDate.startOfQuarter(testDate);
138 assert.equal(startOfQuarter.toISOString(), '1970-07-01T00:00:00.000Z');
139 });
140
141 it('startOfQuarter (4)', function () {
142 let testDate = utcDate.daysFromNow(300);
143 let startOfQuarter = utcDate.startOfQuarter(testDate);
144 assert.equal(startOfQuarter.toISOString(), '1970-10-01T00:00:00.000Z');
145 });
146
147 it('startOfYear', function () {
148 let testDate = utcDate.daysFromNow(300);
149 let startOfYear = utcDate.startOfYear(testDate);
150 assert.equal(startOfYear.toISOString(), '1970-01-01T00:00:00.000Z');
151 });
152
153 it('startOfYear (2)', function () {
154 let testDate = utcDate.daysFromNow(366);
155 let startOfYear = utcDate.startOfYear(testDate);
156 assert.equal(startOfYear.toISOString(), '1971-01-01T00:00:00.000Z');
157 });
158
159});