- Fix step pattern escaping in pkg/bdd/steps/steps.go:80
- Update CI/CD workflow to use run-bdd-tests.sh script
- Enhance run-bdd-tests.sh for both local and CI environments
- Add strict validation for undefined/pending/skipped steps
- Update BDD testing documentation with pattern requirements
The CI/CD pipeline now properly validates BDD tests and fails on any
undefined, pending, or skipped steps. All 22 BDD scenarios are passing
with correct step pattern registration.
- Add DROP DATABASE IF EXISTS before creating BDD test database
- Prevents errors when database already exists from previous runs
- Ensures clean test environment for each run
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Finalize BDD testing framework with:
- Unified step definitions using StepContext struct
- Proper server verification in theServerIsRunning step
- Robust JSON response handling with escaping and newline trimming
- Updated documentation reflecting current implementation
- Test validation script to ensure test quality
- All tests passing with proper black box testing
Key files updated:
- pkg/bdd/steps/steps.go: Unified step definitions
- pkg/bdd/testserver/client.go: Robust response validation
- pkg/bdd/README.md: Godog pattern guide
- doc/BDD_GUIDE.md: Updated usage guide
- adr/0008-bdd-testing.md: Updated ADR with current approach
- scripts/run-bdd-tests.sh: Test validation script
The BDD framework is now production-ready with comprehensive
documentation and proper testing practices.