Convert Beenvoice to a Turborepo monorepo

This commit is contained in:
2026-08-16 22:13:42 -04:00
parent d057ba208d
commit 6c74436092
54 changed files with 4140 additions and 4147 deletions
+35
View File
@@ -0,0 +1,35 @@
/// <reference types="bun" />
import { describe, expect, test } from "bun:test";
import {
EXPENSE_CATEGORIES,
formatElapsedSeconds,
getEffectiveInvoiceStatus,
parseReceiptText,
} from "../src";
describe("shared domain behavior", () => {
test("exposes the expense category vocabulary", () => {
expect(EXPENSE_CATEGORIES).toContain("Professional Services");
});
test("calculates overdue status at day precision", () => {
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
expect(getEffectiveInvoiceStatus("sent", yesterday)).toBe("overdue");
expect(getEffectiveInvoiceStatus("paid", yesterday)).toBe("paid");
});
test("formats elapsed time", () => {
expect(formatElapsedSeconds(3_661)).toBe("01:01:01");
});
test("extracts receipt totals and line items", () => {
const receipt = parseReceiptText(
"Corner Store\nCoffee 3.50\nSubtotal 3.50\nTax 0.31\nTotal 3.81",
);
expect(receipt.amount).toBe(3.81);
expect(receipt.tax).toBe(0.31);
expect(receipt.items[0]?.name).toBe("Coffee");
});
});