Readers should be able to remove like from a particular post after adding one, if they posted it in error or just changed their mind.
How Has This Been Tested?
Unit Tests: Added tests to validate successful and failed requests as expected.
Test Environment: Mocked database; to avoid interference with the production environment.
Postman: Validation test has also been run on postman API tester, with screenshots attached below.
Screenshots:
Delete Blog Like Success
Non Owner Request
Blog Like Not Available
Types of changes
[x] New feature (non-breaking change which adds functionality)
Checklist:
[x] My code follows the code style of this project.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
Added Fix:
Enable /api/v1/blogs/{blog_id}/like endpoint to automatically remove existing dislike by the current_user before creating new like, and vice versa with the /api/v1/blogs/{blog_id}/dislike endpoint.
This is important if a user clicks the like button after already clicking the dislike button without first removing the dislike. Otherwise, the database will have unintended records of both like and dislike for the same user on the same blog
Description:
An endpoint to enable users who previously
liked
a blog post to remove thelike
.Related Issue:
[FEAT]: Endpoint To Delete Blog Like #965
Motivation and Context
Readers should be able to remove like from a particular post after adding one, if they posted it in error or just changed their mind.
How Has This Been Tested?
Screenshots:
Delete Blog Like Success
Non Owner Request
Blog Like Not Available
Types of changes
Checklist:
Added Fix:
Enable
/api/v1/blogs/{blog_id}/like
endpoint to automatically remove existingdislike
by thecurrent_user
before creating newlike
, and vice versa with the/api/v1/blogs/{blog_id}/dislike
endpoint.This is important if a user clicks the like button after already clicking the dislike button without first removing the dislike. Otherwise, the database will have unintended records of both like and dislike for the same user on the same blog