Download tests/test_schema.py from drowzeys/keys-Auto-Receipts-Studio: direct link, hf CLI and curl.
- Browser
- Download file 1.12 kB
-
https://huggingface.co/drowzeys/keys-Auto-Receipts-Studio/resolve/main/tests/test_schema.py
- Command line
-
hf download hf://drowzeys/keys-Auto-Receipts-Studio/tests/test_schema.py
-
curl -L -o test_schema.py https://huggingface.co/drowzeys/keys-Auto-Receipts-Studio/resolve/main/tests/test_schema.py
1.12 kB
| from __future__ import annotations | |
| import pytest | |
| from app.schemas import parse_extract_json, to_cents | |
| GOOD = """ | |
| { | |
| "doc_kind": "receipt", | |
| "category": "groceries", | |
| "vendor": "HEB", | |
| "date": "2026-08-21", | |
| "tax": 1.23, | |
| "total": 14.56, | |
| "currency": "USD", | |
| "line_items": [ | |
| {"description": "milk", "qty": 1, "unit_price": 4.29, "amount": 4.29, "sku": null} | |
| ] | |
| } | |
| """ | |
| FENCED = "```json\n" + GOOD + "\n```" | |
| def test_parse_good() -> None: | |
| extract = parse_extract_json(GOOD) | |
| assert extract.vendor == "HEB" | |
| assert extract.category == "groceries" | |
| assert extract.line_items[0].description == "milk" | |
| assert to_cents(extract.total) == 1456 | |
| def test_parse_fenced() -> None: | |
| extract = parse_extract_json(FENCED) | |
| assert extract.date.isoformat() == "2026-08-21" | |
| def test_unknown_category_falls_back() -> None: | |
| raw = GOOD.replace("groceries", "snacks-aisle") | |
| extract = parse_extract_json(raw) | |
| assert extract.category == "other" | |
| def test_bad_types() -> None: | |
| with pytest.raises(Exception): | |
| parse_extract_json('{"doc_kind":"receipt","line_items":"nope"}') | |