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] All Subjects #146

Closed
arafaysaleem opened this issue Oct 24, 2021 · 0 comments · Fixed by #156
Closed

[GET] All Subjects #146

arafaysaleem opened this issue Oct 24, 2021 · 0 comments · Fixed by #156
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 24, 2021

Summary

As an admin, I should be able to get all possible subjects, so that I can choose one while making a timetable.

Acceptance Criteria

GIVEN an admin is requesting all possible subjects in the app
WHEN the app hits the /subjects endpoint with a valid GET request
THEN the app should receive a status 200
AND in the response, the following information should be returned:

  • headers
  • list of subjects

Sample Request/Sample Response

headers: {
    error: 0,
    message: "..."
}
body: [
    {
        subject_code: CS101,
        subject: "Discrete Mathematics"
    },
    {
        subject_code: PK151,
        subject: "Business Communication"
    },
    ....
]

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 going to be accessible for admin only.

Testing Notes

Scenario 1: GET request is successful

GIVEN an admin is requesting all possible subjects in the app
WHEN the app hits the /subjects endpoint with a valid GET request
THEN the app should receive a status 200
AND the body should be an array
AND the first item of the array should be an object containing the following fields:

  • subject_code
  • subject
Scenario 2: GET request is unsuccessful due to no subjects

GIVEN an admin is requesting all possible subjects in the app
WHEN the app hits the /subjects endpoint with a valid GET request
THEN the app should receive a status 404
AND the response headers' code parameter should contain "NotFoundException"

Scenario 3: GET request is forbidden

GIVEN an student is requesting all possible subjects in the app
WHEN the app hits the /subjects endpoint with a valid GET request
THEN the app should receive a status 403
AND the response headers' code parameter should contain "ForbiddenException"

Scenario 4: GET request is authorized

GIVEN an admin is requesting all possible subjects in the app
WHEN the app hits the /subjects 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 24, 2021
@arafaysaleem arafaysaleem self-assigned this Oct 24, 2021
@arafaysaleem arafaysaleem mentioned this issue Oct 24, 2021
8 tasks
@arafaysaleem arafaysaleem mentioned this issue Oct 26, 2021
15 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