Skip to content

Tests: PostgreSQL parity, live smoke check, mutation testing - #33

Merged
vidit-16 merged 3 commits into
mainfrom
test-suite
Oct 7, 2026
Merged

vidit-16 merged 3 commits into
mainfrom
test-suite

Conversation

@vidit-16

@vidit-16 vidit-16 commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner
  • CI runs the suite on SQLite and PostgreSQL 16.
  • tools/smoke.py: read-only checks of a running site (25/25 on live).
  • tools/mutate.py: mutation testing of place matching, Retrace, codes, escalation, placing. Found "power bank" matching the bank (fixed) and 10 untested behaviours (tests added).
  • Tests clear real AI keys so they never call outside services.
  • README rewritten; new screenshots.

Tests: 116 passing.

The live site runs on PostgreSQL, so schema upgrades, case-insensitive
search and dates are now tested on it too. The tests take the database
from TEST_DATABASE_URL, and the one test that builds an old schema by hand
uses SQL both databases accept.
- tools/smoke.py checks a running site from outside after a deploy: health
  and database, HTTPS redirect and headers, map, place matching, Retrace,
  and that reporting and admin need a sign-in. Read-only. 25 of 25 pass
  on the live site.
- tools/mutate.py makes one small change at a time to place matching,
  Retrace, collection codes, escalation and report placing, and checks
  the tests notice.
- It found "power bank" matching the bank in the Main Block (and "ATM
  card" the ATM). Item names containing a place word are now set aside
  before matching.
- It found untested loose matching of one- and three-word misspellings
  and where a loose match sits in the sentence; tests added.
- Tests now clear every AI key and outside setting, so a developer's own
  GROQ_API_KEY can never make a test call the real service.
- README rewritten for the map, Retrace, voice and its fallbacks, the
  architecture, configuration and the test tools, with new screenshots.
- A valuable with an approved claim stays at the desk instead of moving
  to the admin office.
- Collecting an item rejects the other open claims on it, and only on it.
- Retrace ranks where you went above what you passed, explains each, and
  counts what the photo shows.
- A path picked on the map is always outside.
- Five-letter typos and five-letter names match loosely.
- tools/mutate.py --only runs chosen functions. After these, the
  survivors are timestamp boundaries, rounding and score weights that do
  not change the order of results.
@vidit-16
vidit-16 marked this pull request as ready for review October 7, 2026 15:25
@vidit-16
vidit-16 merged commit bdce3f9 into main Oct 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant