Skip to content

Commit a2cb333

Browse files
committed
test: cover valid simulation lifecycle
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 17b04c9 commit a2cb333

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

‎Server/tests/test_overseer_api.py‎

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import sqlite3
2+
from decimal import Decimal
23

34
import pytest
45
from fastapi.testclient import TestClient
@@ -25,6 +26,27 @@ def test_simulation_validates_amounts_before_recording_events(
2526
assert ledger.list_events() == []
2627

2728

29+
def test_simulation_records_full_lifecycle_for_valid_amounts():
30+
ledger = EventLedger(sqlite3.connect(":memory:"))
31+
32+
events = run_support_ticket_simulation(
33+
ledger,
34+
ticket_id="T-42",
35+
subscription_amount=Decimal("499.00"),
36+
model_cost=Decimal("31.25"),
37+
)
38+
39+
assert [event.event_type for event in events] == [
40+
"ticket_received",
41+
"ticket_resolved",
42+
"model_usage",
43+
"subscription_paid",
44+
]
45+
assert len(ledger.list_events()) == 4
46+
assert events[2].amount == Decimal("31.25")
47+
assert events[3].amount == Decimal("499.00")
48+
49+
2850
def test_api_exposes_simulation_events_and_financial_summary():
2951
ledger = EventLedger(sqlite3.connect(":memory:"))
3052
run_support_ticket_simulation(ledger, ticket_id="T-42")

0 commit comments

Comments
 (0)