17 lines
697 B
TypeScript
17 lines
697 B
TypeScript
import { expect, test } from "bun:test";
|
|||
|
|
import { dueMs, recordEnd, type TimeRecord } from "../src/shared/record.ts";
|
||
|
|
|
||
|
|
const base: TimeRecord = {
|
||
|
|
id: "session_record_test", startMs: 1_000_000, endMs: null, targetSeconds: 60, tag: "Study", note: "",
|
||
|
|
treeType: "", isSuccess: null, source: "timer", rawStart: null, rawEnd: null, deleted: false,
|
||
|
|
};
|
||
|
|
|
||
|
|
test("a running session ends now until it is due", () => {
|
||
|
|
expect(dueMs(base)).toBe(1_060_000);
|
||
|
|
expect(recordEnd(base, 1_030_000)).toBe(1_030_000);
|
||
|
|
expect(recordEnd(base, 2_000_000)).toBe(1_060_000);
|
||
|
|
});
|
||
|
|
|
||
|
|
test("a finished record keeps its own end", () => {
|
||
|
|
expect(recordEnd({ ...base, endMs: 1_010_000 }, 2_000_000)).toBe(1_010_000);
|
||
|
|
});
|