223: Review and approve submitted requisitions
Test Case #:223 | Test Case Name: Review and approve submitted requisitions |
System: OpenLMIS | Subsystem: requisition |
Test case designed by: Paulina Borowa | Design Date:11.08.2016 |
Short description: Supervisor can access/view the submitted requisitions based on the supervisory hierarchy (which facilities the user is assigned to review/approve) -all requisition details are visable -the supervisor can see comments from the requisitioner (and authorizer when appropriate) -the supervisor can make changes to the "Approved Quantity" attribute -the supervisor can input text (string 250 characters) in the "Remarks" attribute -the supervisor can insert comments on the approved requistion -the supervisor can see comments made by the requisitioner and/or authorizer receive. Allows supervisor (or appropriate personnel) to review and approve submitted requisitions |
|
Pre – conditions: |
|
Step | Action | Expected system response | Comment |
1 |
Create geographicLevels In URL: Method: Post: Example Body: { "code": "levelcode", "name": "levelname", "levelNumber": "32" }
| Status 201 created id: a8db3899-896f-4e40-b912-f38a6af5b3ce |
|
2 | Create geographicZone In URL: Method: Post: Example Body: { "code": "geocode", "name": "geoname", "level": { "id": "a8db3899-896f-4e40-b912-f38a6af5b3ce", "code": "levelcode", "name": "levelname", "levelNumber": "32" }
} | Status 201 Created , id: 3141d995-1f69-4400-be30-64ed564a0253
|
|
3 | Create facilityType In URL: Method: Post Example Body: { "code": "typecode", "name": "typename" } | Status 201 Created , id: d734497f-7e46-4915-9f05-83c0432fc158
|
|
4 | Create facility In URL: Method Post Example body: { "code": "facilitycode", "name": "facilityname", "geographicZone": { "id": "3141d995-1f69-4400-be30-64ed564a0253", "code": "geocode", "name": "geoname", "level": { "id": "a8db3899-896f-4e40-b912-f38a6af5b3ce", "code": "levelcode", "name": "levelname", "levelNumber": "32" } }, "type": { "id": "d734497f-7e46-4915-9f05-83c0432fc158", "code": "typecode", "name": "typename" }, "active": true, "enabled": true }
| Status 201 Created, id: fb9ce60f-6557-4651-b9b9-efefccf76251
|
|
5 | Create program: In URL: Method: Post Example Body: { "code": "programcode", "name": "programname", "periodsSkippable": true } | Status 201 Created, id: bebd5da3-b905-45b7-a474-85c3ba655f9d |
|
6 | Create schedule In URL: Method: Post Example Body: { "code": "schedulecode", "name": "schedulename" } | Status 201 Created, id: 79650728-fb5e-4413-ba1e-c58e042415f9 |
|
7 | Create periods In URL: Method: Post Example Body: { "processingSchedule": { "id":"865f24e7-9496-4dc3-86d4-f00554da539b", "code": "schedulecode", "name": "schedulename" }, "name": "periodname", "description": "abc", "startDate": "2016-09-05", "endDate": "2016-09-15" } | Status 201 Created, "id": f9378770-e1f9-4dbc-85b2-482ce55cb776
|
|
8 | Create RequisitionLine URL: Method: POST Body: { "id": "fc93a929-d62e-4fff-9f8f-4ad9df0a4e60", "product": { "id": "1752b457-0a4b-4de0-bf94-5a6a8002427e", "code": "productCode", "primaryName": "productName", "dispensingUnit": "1", "dosesPerDispensingUnit": 1, "packSize": 1, "packRoundingThreshold": 1, "roundToZero": true, "active": true, "fullSupply": true, "tracer": true, "productCategory": { "id": "3c840e6c-a2e6-482f-b794-90379fcbfe00", "code": "categorycode", "name": "categoryname", "displayOrder": 32 } }, "requisition": null, "stockInHand": 2, "beginningBalance": 2, "totalReceivedQuantity": 2, "totalLossesAndAdjustments": 2, "stockOnHand": 2, "requestedQuantity": 2, "totalConsumedQuantity": 2, "requestedQuantityExplanation": "abc", "remarks": "sometest", "approvedQuantity": 2 } | id: 1275b316-68c6-48c8-a343-b82b854eaa25 | The attribute Remarks are not filled. |
9 | Create User Method: POST Body: { "username": "UserName12", "email": "abc@gmail.com", "firstName": "Name2F", "lastName": "Last2N", "verified": "true", "active": "true", "restrictLogin": "false", "timezone":"CTM" } | id: d8c1a779-53ca-435e-a86c-a7a786fe50b6 |
|
10 | Create supervisoryNode Method: POST Example body:
{ "code": "supervisoryNodeTest", "facility": { "id": "fb9ce60f-6557-4651-b9b9-efefccf76251", "code": "facilitycode", "name": "facilityname", "geographicZone": { "id": "3141d995-1f69-4400-be30-64ed564a0253", "code": "geocode", "name": "geoname", "level": { "id": "a8db3899-896f-4e40-b912-f38a6af5b3ce", "code": "levelcode", "name": "levelname", "levelNumber": "32" } }, "type": { "id": "d734497f-7e46-4915-9f05-83c0432fc158", "code": "typecode", "name": "typename" }, "active": true, "enabled": true } } | id: 5ec94f96-ac1b-4d1d-bd89-505f4f71c0e8 |
|
11 |
Create requisition: Method: Post Example Body { "id": "abd802e5-c181-453e-9b9a-087eedfb68b9", "requisitionLines": [ { "id": "4da79bc3-4188-4770-bace-991761dfb869", "product": { "id": "1752b457-0a4b-4de0-bf94-5a6a8002427e", "code": "productCode", "primaryName": "productName", "dispensingUnit": 1, "dosesPerDispensingUnit": 1, "packSize": 1, "packRoundingThreshold": 1, "roundToZero": true, "active": true, "fullSupply": true, "tracer": true, "productCategory": { "id": "3c840e6c-a2e6-482f-b794-90379fcbfe00", "code": "categorycode", "name": "categoryname", "displayOrder": 32
}
}, "stockInHand": 2, "beginningBalance": 2, "totalReceivedQuantity": 2, "totalLossesAndAdjustments": 2, "stockOnHand": 2, "requestedQuantity": 2, "totalConsumedQuantity": 2, "requestedQuantityExplanation": "abc", "remarks": "sometest", "approvedQuantity": 2 } ], "facility": { "id": "fb9ce60f-6557-4651-b9b9-efefccf76251", "code": "facilitycode", "name": "facilityname", "geographicZone": { "id": "3141d995-1f69-4400-be30-64ed564a0253", "code": "geocode", "name": "geoname", "level": { "id": "a8db3899-896f-4e40-b912-f38a6af5b3ce", "code": "levelcode", "name": "levelname", "levelNumber": "32" } }, "type": { "id": "d734497f-7e46-4915-9f05-83c0432fc158", "code": "typecode", "name": "typename" }, "active": true, "enabled": true }, "program": { "id": "bebd5da3-b905-45b7-a474-85c3ba655f9d", "code": "programcode", "name": "programname", "periodsSkippable": true }, "processingPeriod": { "id": "f9378770-e1f9-4dbc-85b2-482ce55cb776", "processingSchedule": { "id": "79650728-fb5e-4413-ba1e-c58e042415f9", "code": "schedulecode", "name": "schedulename" }, "name": "periodname", "description": "abc", "startDate": "2016-09-15", "endDate": "2016-09-15"
}, "status": "INITIATED", "supervisoryNode": { "id": " 5ec94f96-ac1b-4d1d-bd89-505f4f71c0e8", "code": "supervisoryNodeTest", "facility": { "id": "fb9ce60f-6557-4651-b9b9-efefccf76251", "code": "facilitycode", "name": "facilityname", "geographicZone": { "id": "3141d995-1f69-4400-be30-64ed564a0253", "code": "geocode", "name": "geoname", "level": { "id": "a8db3899-896f-4e40-b912-f38a6af5b3ce", "code": "levelcode", "name": "levelname", "levelNumber": "32" } }, "type": { "id": "d734497f-7e46-4915-9f05-83c0432fc158", "code": "typecode", "name": "typename" } } } }
| Status 201 Created, id: f13a2c6f-8791-4329-b468-11634e0cedf1 | Created requisition contain the entites created above. |
12 | Submit the previously created requisition. Method: PUT Body: the body of previously created requisition
|
| |
13 | Verify if the requisition is submitted. Method: GET OR URL: http://localhost:8080/api/requisitions/submitted?access_token=a5c523c7-914e-4d12-8a55-78db5f2f57b6 Method: GET |
| |
14 | Create special User with previously created supervisoryNode. Method: POST Example body: { "id": "35316636-6264-6331-2d34-3933322d3462", "username": "trusted-client", "password": "secret", "email": "testowysoldevelo@gmail.com", "firstName": "Name2F", "lastName": "Last2N", "verified": "true", "active": "true", "restrictLogin": "false", "timezone":"CTM", "supervisedNode": { "id": "5ec94f96-ac1b-4d1d-bd89-505f4f71c0e8", "code": "supervisoryNodeTest", "facility": { "id": "fb9ce60f-6557-4651-b9b9-efefccf76251", "code": "facilitycode", "name": "facilityname", "geographicZone": { "id": "3141d995-1f69-4400-be30-64ed564a0253", "code": "geocode", "name": "geoname", "level": { "id": "a8db3899-896f-4e40-b912-f38a6af5b3ce", "code": "levelcode", "name": "levelname", "levelNumber": "32" } }, "type": { "id": "d734497f-7e46-4915-9f05-83c0432fc158", "code": "typecode", "name": "typename" }, "active": true, "enabled": true } }
}
| "id": "35316636-6264-6331-2d34-3933322d3462" | "referenceDataUserId": "35316636-6264-6331-2d34-3933322d3462" |
15 | Authorize the first requisition. Body: the body of previously created requisition Method: PUT |
| |
16 | Verify if the previously authorized requisition is waiting for the approval. Method: GET | Only the requisition with AUTHORIZED status, supervisoryNode associated with special User will be seen. The requisitions created in points 17 and 18 will not be visible on the approval lists. The User with proper role is not associated with supervisoryNode. | |
17 |
OpenLMIS: the global initiative for powerful LMIS software