Skip to content

Integration test first pass.#12

Open
tachyonics wants to merge 7 commits into
mainfrom
sp_Integration_test_first_pass
Open

Integration test first pass.#12
tachyonics wants to merge 7 commits into
mainfrom
sp_Integration_test_first_pass

Conversation

@tachyonics
Copy link
Copy Markdown
Owner

Integration test first pass.

@tachyonics tachyonics force-pushed the sp_Integration_test_first_pass branch from 0b6a7b2 to 67211b0 Compare May 10, 2026 21:52
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 10, 2026

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@tachyonics tachyonics force-pushed the sp_Integration_test_first_pass branch from 1b41bf1 to 8a8f886 Compare May 11, 2026 07:43
Simon Pilkington added 6 commits May 13, 2026 08:29
The existing integration tests issued raw HTTPClient requests and
parsed responses into a hand-rolled `WireTask` struct, so any drift
between `openapi.yaml` and the test surface went unnoticed until
runtime — and assertions only ever observed effects through the same
service code under test.

The two integration suites now drive the service via the OpenAPI-
generated `Client` (server + client share types from `TaskAPI`,
schema drift fails at compile time) and read state directly from
DynamoDB via `DynamoDBTables` + `DynamoDBTablesSoto`, bypassing
`DynamoDBTaskRepository` entirely.

LocalStack suite grows from one round-trip into seven targeted tests
covering each endpoint × each interesting outcome, with seed-and-
read DDB assertions:

  - createTask persists pending row with requested attributes
  - getTask returns a directly-seeded row
  - updateTaskPriority mutates row + advances updatedAt
  - updateTaskPriority 400 leaves the row unchanged
  - updateTaskPriority 404 when missing
  - cancelTask sets status=cancelled + advances updatedAt
  - cancelTask 409 leaves a completed row unchanged

Pure routing-level concerns (404 on getTask, 404 on cancelTask,
invalid-UUID paths) are not duplicated here — they're covered by
the in-process `TaskControllerTests` against a mock repository.

The in-memory smoke suite keeps a single end-to-end test, also via
the OpenAPI client, so the wiring stays validated without paying
the LocalStack startup cost on every change.
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.

2 participants