This commit adds comprehensive unit tests for the requireRole middleware to ensure proper role-based access control implementation. The tests cover correct role access, incorrect role denial, and unauthenticated user handling.
This commit implements role-based access control for dispute-related endpoints as specified in issue #12. The following endpoints are now protected:
- POST /disputes (requires 'user' role)
- POST /disputes/:id/evidence (requires 'user' role)
- POST /disputes/:id/status (requires 'moderator' or 'admin' role)
- POST /disputes/:id/resolve (requires 'moderator' or 'admin' role)
- GET /disputes/:id (requires 'user', 'moderator', or 'admin' role)
- GET /disputes/:id/events (requires 'user', 'moderator', or 'admin' role)
This commit implements role-based access control for dispute-related endpoints as specified in issue #12. The following endpoints are now protected:
- POST /disputes (requires 'user' role)
- POST /disputes/:id/evidence (requires 'user' role)
- POST /disputes/:id/status (requires 'moderator' or 'admin' role)
- POST /disputes/:id/resolve (requires 'moderator' or 'admin' role)
- GET /disputes/:id (requires 'user', 'moderator', or 'admin' role)
- GET /disputes/:id/events (requires 'user', 'moderator', or 'admin' role)
This commit adds unit tests for the requireRole middleware to ensure proper role-based access control implementation. The tests cover successful access, insufficient permissions, and unauthorized access scenarios.
- Added full dispute status machine (open → evidence → mediation → resolved → cancelled)
- Implemented event logging for all dispute actions
- Added audit trail through dispute_events table
- Updated dispute service with proper status transition handling
- Ensured final decisions include reasoning for auditability
Fixes#5
- Added full dispute status machine (open → evidence → mediation → resolved → cancelled)
- Implemented event logging for all dispute actions
- Added audit trail through dispute_events table
- Updated dispute service with proper status transition handling
- Ensured final decisions include reasoning for auditability
Fixes#5
This commit adds comprehensive contract tests for the dispute flow implementation as required in issue #5. The tests cover:
- Creation of disputes with all required fields
- Status transitions through the complete flow (open → evidence → mediation → resolved)
- Proper event logging for all actions
- Audit trail for final decisions
- Integration testing of the complete dispute flow