You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge pull request #48 from RandomProgramm3r/develop
test(user): Add comprehensive tests for promo like/unlike endpoint
This commit introduces a suite of DRF (Django REST Framework) unit/integration tests for the `api/user/promo/{id}/like` endpoint.
The tests cover the following key scenarios:
- Initial state verification:
- `like_count` is 0 and `is_liked_by_user` is false for a new promo.
- Company view also reflects `like_count` as 0.
- Liking a promo:
- A user can successfully like a promo.
- `like_count` increments correctly.
- `is_liked_by_user` becomes true for the liking user.
- Idempotency of liking:
- Liking an already liked promo returns a successful response without altering the like count further.
- Multiple users liking the same promo:
- `like_count` reflects likes from different users.
- `is_liked_by_user` status is accurate for each respective user.
- Unliking a promo:
- A user can successfully unlike a promo they previously liked.
- `like_count` decrements correctly.
- `is_liked_by_user` becomes false for the unliking user.
- Idempotency of unliking:
- Unliking a promo not currently liked by the user (or already unliked) returns a successful response without errors or incorrect state changes.
- Verification of state from different perspectives (liking user, other users, company).
These tests ensure the reliability and correct behavior of the promo liking feature, including its idempotency and accurate reflection of like statuses and counts.
0 commit comments