File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import sqlite3
2+ from decimal import Decimal
23
34import pytest
45from 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+
2850def test_api_exposes_simulation_events_and_financial_summary ():
2951 ledger = EventLedger (sqlite3 .connect (":memory:" ))
3052 run_support_ticket_simulation (ledger , ticket_id = "T-42" )
You can’t perform that action at this time.
0 commit comments