Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GET] A Single Post #137

Closed
Tracked by #18
arafaysaleem opened this issue Oct 16, 2021 · 0 comments · Fixed by #145
Closed
Tracked by #18

[GET] A Single Post #137

arafaysaleem opened this issue Oct 16, 2021 · 0 comments · Fixed by #145
Assignees
Labels
Status: Completed Type: Feature user story A brief explanation of a functionality or an interaction with the system, from a user's perspective

Comments

@arafaysaleem
Copy link
Collaborator

arafaysaleem commented Oct 16, 2021

Summary

As a student, I should be able to get details of a post, so that I can understand what are it's contents and see who reacted.

Acceptance Criteria

GIVEN an student is requesting details of a post in the app
WHEN the app hits the /posts/:id endpoint with a valid GET request, containing the path parameter:

  • :id, the unique id of the entity for which the details are needed.

THEN the app should receive a status 200
AND in the response, the following information should be returned:

  • headers
  • post details

Sample Request/Sample Response

headers: {
    error: 0,
    message: "..."
}
body: {
        post_id: 3,
        body: "Some content",
        privacy: "public"
        author_erp: 17855,
        posted_at: 09-09-2021 11:33:21,
	resources: [
	    {
		resource_id: 1,
		resource_url: "www.some-url.com"
		resource_type: "image"
	    },
	    {
		resource_id: 1,
		resource_url: "www.some-url.com"
		resource_type: "image"
	    }
	],
	top_3_reactions: [
	    {
		reaction_type_id: 1,
		reaction_count: 200,
	    },
	    {
		reaction_type_id: 2,
		reaction_count: 180,
	    },
	    {
		reaction_type_id: 3,
		reaction_count: 100,
	    },
	]
}

Resources

  • Development URL: {Here goes a URL to the feature on development API}
  • Production URL: {Here goes a URL to the feature on production API}

Dev Notes

This endpoint is accessible by and serves the admin in the same way.

Testing Notes

Scenario 1: GET request is successful

GIVEN a student is requesting details of a post in the app
WHEN the app hits the /posts/:id endpoint with a valid GET request, containing the path parameter:

  • :id

THEN the app should receive a status 200
AND the {id} in the body should be same as the :id in the path parameter
AND the body should be an object containing the following fields:

  • post_id
  • author_erp
  • body
  • privacy
  • posted_at
  • resources
  • reactions

Scenario 2: GET request is unsuccessful

GIVEN a student is requesting details of a post in the app
WHEN the app hits the /posts/:id endpoint with a valid GET request, containing the path parameter:

  • :id, a non-existent id

THEN the app should receive a status 404
AND the response headers' code parameter should contain "NotFoundException"

Scenario 3: GET request is unauthorized

GIVEN a student is requesting details of a post in the app
WHEN the app hits the /posts/:id endpoint with a valid GET request
AND the request contains no authorization token
THEN the app should receive a status 401
AND the response headers' code parameter should contain "TokenMissingException"

@arafaysaleem arafaysaleem added Status: Pending Priority: Medium user story A brief explanation of a functionality or an interaction with the system, from a user's perspective Type: Feature labels Oct 16, 2021
@arafaysaleem arafaysaleem mentioned this issue Oct 16, 2021
13 tasks
@arafaysaleem arafaysaleem self-assigned this Oct 19, 2021
@arafaysaleem arafaysaleem mentioned this issue Oct 20, 2021
27 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Completed Type: Feature user story A brief explanation of a functionality or an interaction with the system, from a user's perspective
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant