[POST] A New Teacher
arafaysaleem opened this issue · 0 comments
arafaysaleem commented
Summary
As an admin
, I should be able to create teachers, so that I can select one while creating classes.
Acceptance Criteria
GIVEN an admin
is creating a teacher entry in the app
WHEN the app hits the /teachers
endpoint with a valid POST request, containing:
- full_name
THEN the app should receive a status 201
AND in the response, the following information should be returned:
- headers
- teacher_id
- affected_rows
Sample Request/Sample Response
headers: {
error: 0,
message: "..."
}
body: {
"teacher_id": 1,
"affected_rows": 1
}
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
The average_rating
and total_reviews
field are set to default values automatically and need not be passed.
Testing Notes
Scenario 1: POST request is successful
- Create a new teacher entry with a POST request to
/teachers
endpoint and ensure a201
status id is returned. - Use the
id
returned by the response in a subsequent GET request to/teachers/:id
endpoint and ensure a200
status id is returned. - Ensure the response contains an teacher with the correct information i.e. matching the initially sent body.
- Clean up the database by sending a DELETE request to
/teachers/:id
endpoint and ensure a200
status id is returned.
Scenario 2: POST request is incorrect
- Send a POST request to
/teachers
endpoint with an incorrect key name in the body - Ensure a
422
status id is returned - And the response headers'
id
parameter should contain "InvalidPropertiesException". - And the response headers'
data
parameter should contain the name of the invalid parameter.
Scenario 3: POST request is forbidden
- Send a POST request to
/teachers
endpoint with astudent
account token. - Ensure a
403
forbidden status id is returned. - And the response headers'
id
parameter should contain "ForbiddenException"
Scenario 4: POST request is unauthorized
- Send a POST request to
/teachers
endpoint without an authorization token - Ensure a
401
unauthorized status id is returned. - And the response headers'
id
parameter should contain "TokenMissingException"