Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 1x 1x 1x 14x 14x 14x 14x 14x 14x 14x 14x 14x 14x 1x | import { expect } from "@jest/globals";
import type { MatcherFunction } from "expect";
import { DateWithNum } from "../DateWithNum";
import { ReceivedRow } from "../row/ReceivedRow";
export const datesEqual: MatcherFunction<[expected: DateWithNum]> =
function (actualUnknown: unknown, expected: DateWithNum) {
const actual = actualUnknown as ReceivedRow;
let passed = true;
const messages: string[] = [];
Iif (actual.date === undefined) {
passed = false;
messages.push("date is undefined");
} else {
const date = new Date(actual.date.value ?? "");
const dateStr = date.toLocaleString("en-US", { timeZone: "America/New_York" });
Iif (dateStr !== expected.date) {
passed = false;
messages.push(`date: ${dateStr} !== ${expected.date}`);
}
const dateNum = actual.dateNum.toString();
Iif (dateNum !== expected.dateNum.toString()) {
passed = false;
messages.push(`dateNum: ${dateNum} !== ${expected.dateNum}`);
}
}
return {
pass: passed,
message: () => messages.join("; "),
};
};
expect.extend({ datesEqual, });
declare module "expect" {
interface Matchers<R> {
datesEqual(expected: DateWithNum ): R;
}
} |