mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-05-16 05:15:04 +01:00
111 lines
4.6 KiB
TypeScript
111 lines
4.6 KiB
TypeScript
import * as DateTimeUtilities from "./DateTimeUtilities";
|
|
|
|
describe("DateTimeUtilities", () => {
|
|
const testDateTime1 = new Date("Fri Jul 26 2019 17:03:02 GMT-0700 (Pacific Daylight Time)");
|
|
const testDateTime2 = new Date("Mon Dec 31 2018 16:00:00 GMT-0800 (Pacific Standard Time)");
|
|
const testUnixTime1 = 1564185782;
|
|
const testUnixTime2 = 1546300800;
|
|
const testTicks1 = "00636997825820000000";
|
|
const testTicks2 = "00636818976000000000";
|
|
|
|
describe("getLocalDateTime", () => {
|
|
it("should return right local time for date time 1", () => {
|
|
const time = DateTimeUtilities.getLocalDateTime(testDateTime1.toISOString());
|
|
expect(new Date(time).toLocaleString()).toBe(testDateTime1.toLocaleString());
|
|
});
|
|
it("should return right local time for date time 2", () => {
|
|
const time = DateTimeUtilities.getLocalDateTime(testDateTime2.toISOString());
|
|
expect(new Date(time).toLocaleString()).toBe(testDateTime2.toLocaleString());
|
|
});
|
|
});
|
|
|
|
describe("getUTCDateTime", () => {
|
|
it("should return right utc time for date time 1", () => {
|
|
const time = DateTimeUtilities.getUTCDateTime(testDateTime1.toISOString());
|
|
expect(time).toBe("2019-07-27T00:03:02.000Z");
|
|
});
|
|
it("should return right utc time for date time 2", () => {
|
|
const time = DateTimeUtilities.getUTCDateTime(testDateTime2.toISOString());
|
|
expect(time).toBe("2019-01-01T00:00:00.000Z");
|
|
});
|
|
});
|
|
|
|
describe("ensureDoubleDigits", () => {
|
|
it("should return correct double digits with input of single digit", () => {
|
|
const digits = DateTimeUtilities.ensureDoubleDigits(2);
|
|
expect(digits).toBe("02");
|
|
});
|
|
it("should return correct double digits with input of double digit", () => {
|
|
const digits = DateTimeUtilities.ensureDoubleDigits(53);
|
|
expect(digits).toBe("53");
|
|
});
|
|
it("should return correct double digits with input of multi digit", () => {
|
|
const digits = DateTimeUtilities.ensureDoubleDigits(321654);
|
|
expect(digits).toBe("32");
|
|
});
|
|
});
|
|
|
|
describe("ensureTripleDigits", () => {
|
|
it("should return correct triple digits with input of single digit", () => {
|
|
const digits = DateTimeUtilities.ensureTripleDigits(2);
|
|
expect(digits).toBe("002");
|
|
});
|
|
it("should return correct triple digits with double digit", () => {
|
|
const digits = DateTimeUtilities.ensureTripleDigits(53);
|
|
expect(digits).toBe("053");
|
|
});
|
|
it("should return correct triple digits with triple digit", () => {
|
|
const digits = DateTimeUtilities.ensureTripleDigits(344);
|
|
expect(digits).toBe("344");
|
|
});
|
|
it("should return correct triple digits with multi digit", () => {
|
|
const digits = DateTimeUtilities.ensureTripleDigits(321654);
|
|
expect(digits).toBe("321");
|
|
});
|
|
});
|
|
|
|
describe("convertUnixToJSDate", () => {
|
|
it("should convert unix number to JS Date for date time 1", () => {
|
|
const time = DateTimeUtilities.convertUnixToJSDate(testUnixTime1);
|
|
expect(time.toISOString()).toBe("2019-07-27T00:03:02.000Z");
|
|
});
|
|
it("should convert unix number to JS Date for date time 2", () => {
|
|
const time = DateTimeUtilities.convertUnixToJSDate(testUnixTime2);
|
|
expect(time.toISOString()).toBe(testDateTime2.toISOString());
|
|
});
|
|
});
|
|
|
|
describe("convertJSDateToUnix", () => {
|
|
it("should convert JS Date to unix number for date time 1", () => {
|
|
const time = DateTimeUtilities.convertJSDateToUnix(testDateTime1.toISOString());
|
|
expect(time).toBe(testUnixTime1);
|
|
});
|
|
it("should convert JS Date to unix number for date time 2", () => {
|
|
const time = DateTimeUtilities.convertJSDateToUnix(testDateTime2.toISOString());
|
|
expect(time).toBe(testUnixTime2);
|
|
});
|
|
});
|
|
|
|
describe("convertTicksToJSDate", () => {
|
|
it("should convert ticks to JS Date for date time 1", () => {
|
|
const time = DateTimeUtilities.convertTicksToJSDate(testTicks1);
|
|
expect(time.toISOString()).toBe(testDateTime1.toISOString());
|
|
});
|
|
it("should convert ticks to JS Date for date time 2", () => {
|
|
const time = DateTimeUtilities.convertTicksToJSDate(testTicks2);
|
|
expect(time.toISOString()).toBe(testDateTime2.toISOString());
|
|
});
|
|
});
|
|
|
|
describe("convertJSDateToTicksWithPadding", () => {
|
|
it("should convert JS Date to ticks for date time 1", () => {
|
|
const time = DateTimeUtilities.convertJSDateToTicksWithPadding(testDateTime1.toISOString());
|
|
expect(time).toBe(testTicks1);
|
|
});
|
|
it("should convert JS Date to ticks for date time 2", () => {
|
|
const time = DateTimeUtilities.convertJSDateToTicksWithPadding(testDateTime2.toISOString());
|
|
expect(time).toBe(testTicks2);
|
|
});
|
|
});
|
|
});
|