Files
awkawbandClaude Opus 5 46a6ea1322 Pin the response shapes captured from a real server
Twice now a mock written from the upstream source passed while a real server
disagreed — the system-log timestamps and the `/subscriptions/steps` shape —
and `frequency_id` and several empty-string fields were wrong the same way.
Reading the source harder was not going to find the next one.

`tests/fixtures/*.json` hold the *shapes* of real responses: every key, with
its JSON type, and no values at all. `real_shapes.rs` decodes each one and
checks that a decode plus re-serialise loses no key, so a field the models
silently drop now fails a test. It also refuses a fixture holding any real
value, and refuses a fixture that no test reads.

`seed_sample_data.rs` fills a disposable instance with one row of each kind
and `capture_shapes.rs` captures the shapes back out with GET requests only,
so the set can be refreshed when a divergence turns up.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-24 21:56:17 -04:00

30 lines
589 B
JSON

{
"data": [
{
"activity_type_id": "",
"client_id": "",
"company_id": "",
"contact_id": "",
"created_at": 0,
"credit_id": "",
"expense_id": "",
"id": "",
"invoice_id": "",
"ip": "",
"is_system": false,
"notes": "",
"payment_id": "",
"purchase_order_id": "",
"quote_id": "",
"recurring_expense_id": "",
"recurring_invoice_id": "",
"task_id": "",
"token_id": "",
"updated_at": 0,
"user_id": "",
"vendor_contact_id": "",
"vendor_id": ""
}
]
}