diff --git a/src/lib/__tests__/billing.test.ts b/src/lib/__tests__/billing.test.ts index 87f845c..24f8515 100644 --- a/src/lib/__tests__/billing.test.ts +++ b/src/lib/__tests__/billing.test.ts @@ -365,7 +365,7 @@ describe("Invoice generation — POSTPAID", () => { const invoice = result!.invoice as Record; expect(Number(invoice.totalAmount)).toBeCloseTo(49.99); expect(Number(invoice.subtotal)).toBeCloseTo(49.99); - expect(invoice.status).toBe(InvoiceStatus.DRAFT); + expect(invoice.status).toBe(InvoiceStatus.SENT); expect(invoice.subscriberId).toBe(subscriberId); }); @@ -615,7 +615,7 @@ describe("Credit auto-application on invoice generation", () => { expect(result!.creditApplied).toBe(false); const invoice = result!.invoice as Record; - expect(invoice.status).toBe(InvoiceStatus.DRAFT); + expect(invoice.status).toBe(InvoiceStatus.SENT); expect(Number(invoice.amountPaid)).toBe(0); }); @@ -1000,11 +1000,11 @@ describe("getInvoice and listInvoices", () => { }); it("listInvoices filters by status", async () => { - const result = await listInvoices(tA(), { status: InvoiceStatus.DRAFT }); - const allDraft = (result.invoices as Array>).every( - (inv) => inv.status === InvoiceStatus.DRAFT || inv.status === InvoiceStatus.PARTIAL || inv.status === InvoiceStatus.OVERDUE + const result = await listInvoices(tA(), { status: InvoiceStatus.SENT }); + const allSent = (result.invoices as Array>).every( + (inv) => inv.status === InvoiceStatus.SENT || inv.status === InvoiceStatus.PARTIAL || inv.status === InvoiceStatus.OVERDUE ); - // All returned should be DRAFT (some might have been changed to OVERDUE by other tests) + // All returned should be SENT (some might have been changed to OVERDUE or PARTIAL by other tests) expect(result.invoices).toBeTruthy(); }); }); diff --git a/src/lib/services/billing-service.ts b/src/lib/services/billing-service.ts index d9dfdbe..8295eb9 100644 --- a/src/lib/services/billing-service.ts +++ b/src/lib/services/billing-service.ts @@ -210,6 +210,8 @@ export async function generateInvoiceForSubscriber( subtotal: monthlyPrice, totalAmount: monthlyPrice, amountPaid: new Prisma.Decimal(0), + status: 'SENT', + issuedAt: new Date(), lines: { create: [ {