track-dev-time
Version:
CLI tool to track your coding sessions with start, pause and stop commands. Outputs session data to a JSON file.
48 lines (41 loc) • 1.39 kB
JavaScript
import { describe, it, expect, vi } from "vitest";
import { calculTotalDuration } from "../lib/index"; // ajuste le chemin
describe("calculTotalDuration", () => {
it("calcule correctement la durée sans pause", () => {
const session = {
start: new Date("2024-01-01T10:00:00Z").toISOString(),
end: new Date("2024-01-01T11:00:00Z").toISOString(),
pauses: [],
};
const duration = calculTotalDuration(session);
expect(duration).toBe(3600);
});
it("calcule la durée avec une pause", () => {
const session = {
start: new Date("2024-01-01T10:00:00Z").toISOString(),
end: new Date("2024-01-01T11:00:00Z").toISOString(),
pauses: [
{
start: new Date("2024-01-01T10:15:00Z").toISOString(),
end: new Date("2024-01-01T10:30:00Z").toISOString(),
},
],
};
const duration = calculTotalDuration(session);
expect(duration).toBe(3600 - 900);
});
it("ignore les pauses incomplètes (sans end)", () => {
const session = {
start: new Date("2024-01-01T10:00:00Z").toISOString(),
end: new Date("2024-01-01T11:00:00Z").toISOString(),
pauses: [
{
start: new Date("2024-01-01T10:15:00Z").toISOString(),
end: null,
},
],
};
const duration = calculTotalDuration(session);
expect(duration).toBe(3600);
});
});