Commit e6ee08b
test: add schema-gated full lifecycle integration test (#49)
* test: add schema-gated full lifecycle integration test
Validates complete schema-gated progression (queue→work→review→terminal)
with gate enforcement at each transition. Tests both feature-implementation
and bug-fix schemas, schema-free mode, empty note body rejection, and
the complete trigger requiring all phase notes.
5 test cases using H2 in-memory database + real repositories (not mocks)
with inline NoteSchemaService mirroring production config.yaml schemas.
MCP item: e926961c-e029-493d-b820-4054e34efc9a
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: expand schema-gated lifecycle tests with cascade, batch, and consistency checks
Adds 6 new test cases (11 total) targeting complex scenarios that could
expose response/DB inconsistencies:
- Child start cascading parent to work (with response verification)
- Parent with schema tag — cascade bypasses start-trigger gate
- Batch transitions with mixed gate outcomes (pass/fail/schema-free)
- Full lifecycle with parent cascade and response/DB consistency at every step
- Rapid sequential note fills and advances
- Multiple children with different schemas under shared parent
Introduces assertResponseMatchesDb() helper that verifies advance_item
response matches actual DB state after each transition.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: add mixed required/optional note schema tests
Adds mixed-schema tag with required + optional notes per phase,
including a review phase with only optional notes. 4 new test cases:
- Gate only blocks on required notes, ignores optional
- Review phase with only optional notes advances freely
- Complete trigger only checks required notes across all phases
- Filling optional note does not satisfy required note gate
15 total tests in SchemaGatedLifecycleTest.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>1 parent b103731 commit e6ee08b
File tree
1 file changed
+808
-0
lines changed- current/src/test/kotlin/io/github/jpicklyk/mcptask/current/application/tools/workflow
1 file changed
+808
-0
lines changed
0 commit comments