Skip to content

Commit 9cfa425

Browse files
authored
Merge pull request #167 from gregolsky/v4.0
send query params in utc
2 parents 34b31de + 9f186cd commit 9cfa425

File tree

6 files changed

+19
-7
lines changed

6 files changed

+19
-7
lines changed

src/Documents/Session/AbstractDocumentQuery.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ export abstract class AbstractDocumentQuery<T extends object, TSelf extends Abst
389389

390390
private _stringifyParameter(value: any) {
391391
if (TypeUtil.isDate(value)) {
392-
return DateUtil.default.stringify(value);
392+
return DateUtil.utc.stringify(value);
393393
}
394394

395395
if (TypeUtil.isString(value)) {

src/Utility/DateUtil.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ export class DateUtil {
1313

1414
public static default: DateUtil = new DateUtil({});
1515

16+
public static utc: DateUtil = new DateUtil({ useUtcDates: true });
17+
1618
public constructor(private _opts: DateUtilOpts) {}
1719

1820
public static timestamp(): number {

test/Documents/Commands/DeleteDocumentCommandTest.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ import {
88
import { User } from "../../Assets/Entities";
99

1010
describe("DeleteDocumentCommand", function () {
11+
12+
// it's the first test setting up the server
13+
this.timeout(20000);
1114

1215
let store: IDocumentStore;
1316

test/Issues/RDBC_236.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ import { DateUtil } from "../../src/Utility/DateUtil";
1212
import { GetDocumentsCommand } from "../../src/Documents/Commands/GetDocumentsCommand";
1313
import { StringUtil } from "../../src/Utility/StringUtil";
1414

15-
const LOCAL_TIMEZONE_OFFSET = -(new Date().getTimezoneOffset()); // getTimezoneOffset() returns reversed offset
15+
// getTimezoneOffset() returns reversed offset
16+
const LOCAL_TIMEZONE_OFFSET = -(new Date(2018, 7, 1).getTimezoneOffset());
1617
const LOCAL_TIMEZONE_OFFSET_HOURS = LOCAL_TIMEZONE_OFFSET / 60;
1718
const LOCAL_TIMEZONE_STRING =
1819
// tslint:disable-next-line:max-line-length

test/Ported/Faceted/AggregationTest.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ describe("AggregationTest", function () {
5454
let store: IDocumentStore;
5555

5656
beforeEach(async function () {
57+
testContext.customizeStore = async store => {
58+
store.conventions.storeDatesInUtc = true;
59+
};
5760
store = await testContext.getDocumentStore();
5861
});
5962

test/Ported/QueryTest.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ describe("QueryTest", function () {
1818
let store: IDocumentStore;
1919

2020
beforeEach(async function () {
21+
testContext.customizeStore = async store => {
22+
store.conventions.storeDatesInUtc = true;
23+
};
2124
store = await testContext.getDocumentStore();
2225
});
2326

@@ -663,15 +666,15 @@ describe("QueryTest", function () {
663666
it("query where between with dates", async () => {
664667
const cocartFestival = new Event({
665668
name: "CoCArt Festival",
666-
date: moment("2018-03-08").toDate()
669+
date: moment("2018-03-08T00:00:00Z").toDate()
667670
});
668671
const openerFestival = new Event({
669672
name: "Open'er Festival",
670-
date: moment("2018-07-04").toDate()
673+
date: moment("2018-07-04T00:00:00Z").toDate()
671674
});
672675
const offFestival = new Event({
673676
name: "OFF Festival",
674-
date: moment("2018-08-03").toDate()
677+
date: moment("2018-08-03T00:00:00Z").toDate()
675678
});
676679

677680
{
@@ -693,10 +696,10 @@ describe("QueryTest", function () {
693696
assert.strictEqual(indexQuery.query, "from events where date between $p0 and $p1");
694697
assert.strictEqual(
695698
indexQuery.queryParameters["p0"],
696-
DateUtil.default.stringify(cocartFestival.date));
699+
DateUtil.utc.stringify(cocartFestival.date));
697700
assert.strictEqual(
698701
indexQuery.queryParameters["p1"],
699-
DateUtil.default.stringify(offFestival.date));
702+
DateUtil.utc.stringify(offFestival.date));
700703
assert.strictEqual(indexQuery.query, "from events where date between $p0 and $p1");
701704

702705
const festivalsHappeningBetweenCocartAndOffInclusive: any[] = await q.all();

0 commit comments

Comments
 (0)