proposal-system/api/tests/ProposalSystem.Tests
Adam Moussa a4e59040d6
test(api): concurrency, codec, 409 wire-shape, and audit-atomicity coverage
- ProposalConcurrencyTests (shared-connection SQLite, two competing
  writers): stale-token pre-check with embedded currentState, DB-level
  lost race reloading the winner's values, 422 token codes, version
  bump on success, bulk-update proposal-token guard, line-item create
  bumping the aggregate, audit rows never persisted on a lost race.
- GlobalExceptionHandlerTests: pin both SHOC 409 envelopes verbatim
  (guarded { message, currentState } incl. null state; fallback
  { status, message, code }) and assert shape exclusivity.
- RowVersionCodecTests: round-trip, SHOC-style token literal,
  malformed/wrong-length rejection.
- Existing suites threaded with live version tokens (Ver helper);
  audit assertions moved from LogAsync to Stage.

187 xUnit green (was 166).
2026-07-13 20:48:28 -04:00
..
Common test(api): concurrency, codec, 409 wire-shape, and audit-atomicity coverage 2026-07-13 20:48:28 -04:00
Controllers feat: pricing library — curated priced items feed the RAG corpus (#127) 2026-06-18 12:49:47 -04:00
Helpers test(api): concurrency, codec, 409 wire-shape, and audit-atomicity coverage 2026-07-13 20:48:28 -04:00
Middleware test(api): concurrency, codec, 409 wire-shape, and audit-atomicity coverage 2026-07-13 20:48:28 -04:00
Services test(api): concurrency, codec, 409 wire-shape, and audit-atomicity coverage 2026-07-13 20:48:28 -04:00
Validators feat: pricing library — curated priced items feed the RAG corpus (#127) 2026-06-18 12:49:47 -04:00
ProposalSystem.Tests.csproj Bump the api group with 1 update (#192) 2026-07-04 14:10:10 -04:00