1 | const assert = require('assert');
|
2 | const moment = require('moment');
|
3 | const sinon = require('sinon');
|
4 | const GladDate = require('../namespace/date');
|
5 |
|
6 |
|
7 | describe("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 | });
|