DogStark / DogStark/petChain-Frontend
[Frontend] Add contract tests between frontend API clients and backend endpoints
- Dominant language
- TypeScript
- Stars
- 3
- Forks
- 158
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 36
Description
## Problem
Client method names and DTOs have drifted, as shown by the missing appointment creation method.
## Relevant code
`src/lib/api, backend`
## Proposed scope
Generate or validate contracts in CI and cover auth headers, request shapes, status codes, and error bodies.
## Acceptance criteria
- [ ] The reported behavior is reproduced or characterized with a focused automated test before the fix.
- [ ] The implementation satisfies the proposed scope without weakening TypeScript, lint, authorization, privacy, or error handling.
- [ ] Success, empty/loading where applicable, failure, and boundary cases are covered.
- [ ] Existing related tests pass and new regression coverage is included.
- [ ] User-facing behavior remains accessible by keyboard and at mobile viewport sizes where UI is affected.
- [ ] Documentation is updated when the change alters configuration, contracts, security assumptions, or contributor workflow.
## Contributor notes
Base the work on the latest `main` branch. Keep unrelated refactors out of the pull request and include screenshots or recordings for visible changes. Never use real pet, medical, contact, wallet, or credential data in fixtures.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in src/lib/api and the backend entry points, then reproduce or characterize the missing appointment creation method with a focused test. Define how CI will validate auth headers, request shapes, status codes, and error bodies. Done means the contract checks and regression coverage include success, failure, and boundary cases without weakening authorization, privacy, or error handling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, frontend, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100