...
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: |
4
Create facilities
In URL: http://localhost:8080/api/facilitiesMethod Post Example body: { "code": "facilitycode", "name": " |
facilityname", "geographicZone": { " |
id": "3141d995-1f69-4400-be30-64ed564a0253", " |
code": " |
geocode", " |
name": |
"geoname", " |
level": |
}
Status 201 Created,
id: "http://localhost:8080/api/facilities/1a3118e6-3bcc-4fd4-8f21-000b697a4d5d"
5
Create program:
In URL: http://localhost:8080/api/programs/?access_token=5a7d37fa-c57c-4c8e-8c3f-6d40021b01aa
Method: Post
Example Body:
{{ "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
6
, |
id: "http://localhost:8080/api/programs/c68cb44d-b088-4837-8aff-a15ab7490a72"
"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: |
7
bebd5da3-b905-45b7-a474-85c3ba655f9d | |
6 | Create schedule In URL: |
Method: Post Example Body: |
{ |
"code": " |
schedulecode", |
" |
name": " |
schedulename" } |
"name": "name90",
"description": "descriptiontest",
"startDate": "2016-07-13",
"endDate": "2016-07-14"
}
Status 201 Created,
"id": "e7db9cad-d62b-4550-a5a8-af6e4b06f4b7"
8
Crate requisition:
In URL: http://localhost:8080/api/requisitions/Status 201 Created, id: 79650728-fb5e-4413-ba1e-c58e042415f9 | ||
7 | Create periods In URL: http://localhost:8080/api/periods/?access_token=5a7d37fa-c57c-4c8e-8c3f-6d40021b01aa Method: Post Example Body: { " |
processingSchedule": { "id" |
: "cfc72ad3-856f-4479-b2f6-a7c031cc5b39", " |
code": " |
codecode12", " |
description": null, "modifiedDate" |
: null, " |
name": " |
scheduleName" } |
Create user
In URL:, |
id:"http://localhost:8080/api/requisitions/811f0934-ab87-4856-a8de-abe895127bb1"
"name": "name90", "description": "descriptiontest", "startDate": "2016-07-13", "endDate": "2016-07-14" } | Status 201 Created, "id": "e7db9cad-d62b-4550-a5a8-af6e4b06f4b7" | |
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": |
}
Status 201 Created,
id: "http://localhost:8080/api/users/b7654100-9efd-4583-81eb-0a9a6f547acd"
Create comments
In URL: http://localhost:8080/api/comments?access_token=5a7d37fa-c57c-4c8e-8c3f-6d40021b01aa
Method: Post
Example Body:
{
"requisition":"http://localhost:8080/api/requisitions/811f0934-ab87-4856-a8de-abe895127bb1",
"author":"http://localhost:8080/api/users/b7654100-9efd-4583-81eb-0a9a6f547acd",
"body":"BasicInformation"
}
Status 201 Created,
id: ""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 |
Check endpoint:
Method: GET
Status 200 OK
Check endpoint:
Method: POSTusers?access_token=f77791e5-5cb7-4787-92f9-b55b6d971791 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 |
Status 200 OK
Create supervisoryNode
In URL: http://localhost:8080/api/supervisoryNodes?access_token=0445814b-b97b-44f8-b4db-37ef148cbb50
Method: Post
Example BodyMethod: POST Example body: { "code": " |
supervisoryNodeTest", "facility": { "id" |
}
Status 201 Created,
id: "http://localhost:8080/api/supervisoryNodes/16037214-b3d7-45b0-b094-87574636d6f0"
Create requisition
In URL: http://localhost:8080/api/requisitions/?access_token=0445814b-b97b-44f8-b4db-37ef148cbb50
Method: Post
Example Body:
{
"facility":"http://localhost:8080/api/facilities/18a933e3-f851-4d2a-a386-5a0b7b22c376",
"program": "http://localhost:8080/api/programs/524c110c-54bb-4097-8241-fa4848e62a63",
"processingPeriod":"http://localhost:8080/api/periods/4a330cba-1955-4856-8af0-f89cf6db3556",
"status":"AUTHORIZED",
"supervisoryNode": "http://localhost:8080/api/supervisoryNodes/16037214-b3d7-45b0-b094-87574636d6f0"
}
Status 201 Created,
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: |
Create requisition
In URL:
URL: http://localhost:8080/api/requisitions/?access_token=0445814b-b97b-44f8-b4db-37ef148cbb50
Method: Post
Example Body:
{
"facility":"http://localhost:8080/api/facilities/79130705-7c6f-410e-904f-b1d243bb44f2",
"program": "?access_token=5a7d37fa-c57c-4c8e-8c3f-6d40021b01aa 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" | |
15 | Authorize the first requisition. body: body of 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 | Create second requisition with different supervisoryNode. | The whole process of creation the second requisition is the same like for the first requisition. (follow the steps from 1 to 15 but do not repeat the step from point 14.) | |
18 | Create third requisition without supervisoryNode. | The whole process of creation the second requisition is the same like for the first requisition. (follow the steps from 1 to 15 but do not repeat the step described in points 10 and 14.) | |
19 | Approve the first requisition. |
Method: PUT | ||
20 | Add comments to the first requisition. |
"status":"AUTHORIZED",
"supervisoryNode":"http://localhost:8080/api/supervisoryNodes/16037214-b3d7-45b0-b094-87574636d6f0Example body: { "body": "some information" } | Status 201 Created, id: |
With the same "supervisoryNode" as previously requisition:
"supervisoryNode":"7cba6c5d-ffcf-404a-a2b5-61e03f9d0998 | Comments are added to the first requisition when it has APPROVED status. |
21 | Verify if the comments are inserted (to the first requisition). URL: |
status must be AUTHORIZED
Create requisition
In URL:Method: GET | ||
22 | Change the Approved Quantity attribute. |
Method: Post
Example Body:
{"facility": "http://localhost:8080/api/facilities/61824d28-56ec-44eb-ab8c-955c1e970ae6",
"program":"http://localhost:8080/api/programs/3a6e042d-1ed1-4c37-aefe-0132313ff95e",
"processingPeriod":"http://localhost:8080/api/periods/1a9f8249-1496-480a-a21e-e667f7c7ecd7",
"status":"SUBMITTED"
}
Status 201 Created,
Create requisition
In URL:
URL: http://localhost:8080/api/requisitions/?access_token=0445814b-b97b-44f8-b4db-37ef148cbb50
Method: Post
Example Body:
{
"facility":"http://localhost:8080/api/facilities/79130705-7c6f-410e-904f-b1d243bb44f2",
"program": "http://localhost:8080/api/programs/d4857768-05d4-4783-9e7f-019809e6859d",
"processingPeriod":"http://localhost:8080/api/periods/95c7720c-8e38-42fe-a20d-261de7b4cc07",
"status":"AUTHORIZED",
"supervisoryNode":" "http://localhost:8080/api/supervisoryNodes/f81913c9-67d9-485d-916b-dae1f618e280"
Status 201 Created,
with different "supervisoryNode" than previously
In URL:
a5c523c7-914e-4d12-8a55-78db5f2f57b6 Method: POST { "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": "125" } | Status 200 OK | Earlier, the approved quantity attribute was equals to 2. |
23 | Insert text into Remarks attribute. URL: |
Method: Post
Example Body:
{=a5c523c7-914e-4d12-8a55-78db5f2f57b6 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": " |
"active":true,
"verified":true
}
Status 201 Created,
With the same "supervisedNode" like in requistition: "supervisoryNode":"http://localhost:8080/api/supervisoryNodes/16037214-b3d7-45b0-b094-87574636d6f0"
id from endpoint: http://localhost:8081/oauth/token?grant_type=password&username=admin&password=password
"referenceDataUserId": "35316636-6264-6331-2d34-3933322d3462"
Check endpoint: http://localhost:8080/api/requisitions/requisitions-for-approval?access_token=6116d810-b01e-46d3-b8bb-6b3a1a128af5
Method: GET
Status 200 OK,
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": "some test information are inserted", "approvedQuantity": "125" } | Status 200 OK | I cannot insert into Remarks attribute the text larger than 250 charts. When i try to do that, the 400 bad request status will be returned. |