test: add offline fixture coverage for Kattis and USACO #342

Merged
barrettruth merged 3 commits from test/offline-coverage into main 2026-03-06 21:49:49 +00:00
barrettruth commented 2026-03-06 21:49:30 +00:00

Problem

Kattis and USACO had zero offline test coverage — no fixtures, no conftest
routers, and no entries in the test matrix. The precision field and error
paths were also unverified across all platforms.

Solution

Add HTML fixtures for both platforms and wire up httpx.AsyncClient.get
routers in conftest.py following the existing CSES/CodeChef pattern.
Extend the test matrix from 12 to 23 parametrized cases. Add a dedicated
test for the Kattis contest-vs-slug fallback path (verifying contest_url
and standings_url), three parametrized metadata error cases, and a
targeted assertion that extract_precision returns a non-None float for
problems with floating-point tolerance hints.

Closes #281.

## Problem Kattis and USACO had zero offline test coverage — no fixtures, no conftest routers, and no entries in the test matrix. The `precision` field and error paths were also unverified across all platforms. ## Solution Add HTML fixtures for both platforms and wire up `httpx.AsyncClient.get` routers in `conftest.py` following the existing CSES/CodeChef pattern. Extend the test matrix from 12 to 23 parametrized cases. Add a dedicated test for the Kattis contest-vs-slug fallback path (verifying `contest_url` and `standings_url`), three parametrized metadata error cases, and a targeted assertion that `extract_precision` returns a non-`None` float for problems with floating-point tolerance hints. Closes #281.
Sign in to join this conversation.
No description provided.