Implement Invoice Status State Machine
Description
Define and enforce valid invoice transitions such as draft, pending_verification, approved, funded, settled, and closed.
Requirements and context
- Must be secure, tested, and documented
- Should be efficient and easy to review
Suggested execution
- Fork the repo and create a branch
git checkout -b feature/invoice-status-state-machine
- Implement changes
- Write backend code: status transition guard logic
- Write comprehensive tests: valid and invalid transition matrix
- Add documentation:
README.md
- Include JSDoc-style comments
- Validate security assumptions
Test and commit
- Run tests
- Cover edge cases
- Include test output and security notes
Example commit message
feat(api): enforce deterministic invoice status transition rules
Guidelines
- Minimum 95 percent test coverage
- Clear documentation
- Timeframe: 96 hours
Implement Invoice Status State Machine
Description
Define and enforce valid invoice transitions such as draft, pending_verification, approved, funded, settled, and closed.
Requirements and context
Suggested execution
git checkout -b feature/invoice-status-state-machineREADME.mdTest and commit
Example commit message
feat(api): enforce deterministic invoice status transition rulesGuidelines