Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Pre – conditions:

                                                                                                                                                                                                                                                      


Step

Action

Expected system response

Comment

1

                                                                              

Create geographicLevels

In URL:

http://localhost:8080/api/geographicLevels/?access_token=

5a7d37fa

f77791e5-

c57c

5cb7-

4c8e

4787-

8c3f

92f9-

6d40021b01aa

b55b6d971791

Method: Post:

Example Body:

{

"code": "levelcode",

"name": "

GL1

levelname",

"levelNumber": "

11

32"

}


                                                                                       

 Status 201 created         

id:

"http://localhost:8080/api/geographicLevels/4633301d-d89d-4479-aaea-dde3aa1423ad"

a8db3899-896f-4e40-b912-f38a6af5b3ce

                                                 

2

Create geographicZone

In URL:

http://localhost:8080/api/geographicZones/?access_token=

5a7d37fa

f77791e5-

c57c

5cb7-

4c8e

4787-

8c3f

92f9-

6d40021b01aa

b55b6d971791

Method: Post:

Example Body:

{

"code": "

GeoZon

geocode",

"name": "geoname",

"level": {

"id"

http://localhost:8080/api/geographicLevels/4633301d-d89d-4479-aaea-dde3aa1423ad

: "a8db3899-896f-4e40-b912-f38a6af5b3ce",

"code": "levelcode",

"name": "levelname",

"levelNumber": "

test

32"

}


}

Status 201 Created ,

id:

"http://localhost:8080/api/geographicZones/279efe8a-dbd5-41ce-be9e-c300f0d29f49"

 

3141d995-1f69-4400-be30-64ed564a0253


3

Create facilityType

In URL:

http://localhost:8080/api/facilityTypes/?access_token=

5a7d37fa

b30d1dcf-

c57c

9d04-

4c8e

4b10-

8c3f

a3a0-

6d40021b01aa34c4d28250c2

5f29b96b8a22

Method: Post

Example Body:

{

"code": "

facilityT1

typecode",

"name": "

test

typename"

}

Status 201 Created ,

id

: "

: d734497f-7e46-4915-9f05-83c0432fc158


4

Create facility

In URL:

http://localhost:8080/api/

facilityTypes/c3ee98b9-17cd-472e-b3cd-0752c052497f"

 

4

Create facilities

In URL: http://localhost:8080/api/facilities

facilities/?access_token=

5a7d37fa

b30d1dcf-

c57c

9d04-

4c8e

4b10-

8c3f

a3a0-

6d40021b01aa

5f29b96b8a22

Method Post

Example body:

{

"code": "facilitycode",

"name": "

facilities1

facilityname",

"geographicZone": {

"

http://localhost:8080/api/geographicZones/279efe8a-dbd5-41ce-be9e-c300f0d29f49

id": "3141d995-1f69-4400-be30-64ed564a0253",

"

type

code": "

http://localhost:8080/api/facilityTypes/c3ee98b9-17cd-472e-b3cd-0752c052497f

geocode",

"

active

name":

true

"geoname",

"

enabled

level":

true

}

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": "

qwe

typecode",

"name": "

aName

typename"

}

 

Status 201 Created 

6

Create schedule

,

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: 

http://localhost:8080/api/programs/

schedules

?access_token=

5a7d37fa

dd27b91f-

c57c

91ae-

4c8e

4d9e-

8c3f

9f61-

6d40021b01aa

caf3abe870f7

Method: Post

Example Body:

{

"code": "

codecode12

programcode",

"

description

name":

null,

"

modifiedDate

programname"

: null

,

"

name

periodsSkippable":

"scheduleNamee"

true

}

Status 201 Created,

id:

http://localhost:8080/api/schedules/cfc72ad3-856f-4479-b2f6-a7c031cc5b39"

 

7

Create periods

bebd5da3-b905-45b7-a474-85c3ba655f9d


6

Create schedule

In URL:

http://localhost:8080/api/

periods

processingSchedules/?access_token=

5a7d37fa

f77791e5-

c57c

5cb7-

4c8e

4787-

8c3f

92f9-

6d40021b01aa

b55b6d971791

Method: Post

Example Body:

{

"processingSchedule":

{

"id": "cfc72ad3-856f-4479-b2f6-a7c031cc5b39",

"code": "

codecode12","description": null

schedulecode",

"modifiedDate

"

: null,"

name": "

scheduleName

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:

{

"

facility

processingSchedule": {

"id"

http://localhost:8080/api/facilities/1a3118e6-3bcc-4fd4-8f21-000b697a4d5d

: "cfc72ad3-856f-4479-b2f6-a7c031cc5b39",

"

program

code": "

http://localhost:8080/api/programs/c68cb44d-b088-4837-8aff-a15ab7490a72

codecode12",

"

processingPeriod

description": null,

"modifiedDate"

http://localhost:8080/api/periods/e7db9cad-d62b-4550-a5a8-af6e4b06f4b7"

: null,

"

status

name": "

INITIATED

scheduleName"

}

                        Status 201 Created9

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:

http://localhost:8080/api/requisitionLines/

users

?access_token=

5a7d37fa

a5c523c7-

c57c

914e-

4c8e

4d12-

8c3f

8a55-

6d40021b01aa

78db5f2f57b6

Method:

Post

POST

Example

Body:

{

"

username

id": "

Name

fc93a929-d62e-4fff-9f8f-4ad9df0a4e60",

"

password

product":

"Password",

{

"

firstName

id": "

Jan"

1752b457-0a4b-4de0-bf94-5a6a8002427e",

"

lastName

code": "

Kowal

productCode",

"

verified

primaryName":

true

"productName",

"

active

dispensingUnit":

true

}

Status 201 Created,

id: "http://localhost:8080/api/users/b7654100-9efd-4583-81eb-0a9a6f547acd"

 10

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

URL: http://localhost:8080/api/

comments/14211a49-d6b3-4470-87e0-da2e0d063cb8" 11

Check endpoint:

Method: GET

URL: http://localhost:8080/api/requisitions/811f0934-ab87-4856-a8de-abe895127bb1/comments?access_token=b6af6e9d-9408-452b-81c5-fc5458d60363

Status 200 OK

Image Removed

 12

Check endpoint:

Method: POST

users?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

URL: http://localhost:8080/api/

requisitions/811f0934-ab87-4856-a8de-abe895127bb1/comments

supervisoryNodes/?access_token=

b6af6e9d

a2bb6f21-

9408

56aa-

452b

43e2-

81c5

a9c5-

fc5458d60363

Status 200 OK

Image Removed

 13

Create supervisoryNode

In URL: http://localhost:8080/api/supervisoryNodes?access_token=0445814b-b97b-44f8-b4db-37ef148cbb50

Method: Post

Example Body

940cb54d887a

Method: POST

Example body:


{

"code": "

SupNode

supervisoryNodeTest",

"facility": {

"id"

http://localhost:8080/api/facilities/7cc8db37-83b2-4c2d-8141-72fa47552996"

}

Status 201 Created,

id: "http://localhost:8080/api/supervisoryNodes/16037214-b3d7-45b0-b094-87574636d6f0"

 14

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:

In URL: http://localhost:8080/api/requisitions/

b0423d67-5633-48bb-9f69-9b16feea9683"status must be AUTHORIZED15

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.

URL: http://localhost:8080/api/requisitions/f13a2c6f-8791-4329-b468-11634e0cedf1/submit?access_token=a5c523c7-914e-4d12-8a55-78db5f2f57b6

Method: PUT

Body: the body of previously created requisition




13

Verify if the requisition is submitted.

Method: GET

URL: http://localhost:8080/api/requisitions/f13a2c6f-8791-4329-b468-11634e0cedf1?access_token=a5c523c7-914e-4d12-8a55-78db5f2f57b6

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.

URL: http://localhost:8080/api/requisitions/f13a2c6f-8791-4329-b468-11634e0cedf1/auhtorize?access_token=3492a106-c88a-41a6-840f-f794256802bd

body: body of requisition

Method: PUT



16

Verify if the previously authorized requisition is waiting for the approval.

URL:  http://localhost:8080/api/requisitions/requisitions-for-approval?access_token=3492a106-c88a-41a6-840f-f794256802bd

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.

17Create 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.)
18Create 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.

URL: http://localhost:8080/api/

programs/d4857768-05d4-4783-9e7f-019809e6859d","processingPeriod":"

requisitions/f13a2c6f-8791-4329-b468-11634e0cedf1/approve?access_token=3492a106-c88a-41a6-840f-f794256802bd

Method: PUT



20

Add comments to the first requisition.

URL: http://localhost:8080/api

/periods/95c7720c-8e38-42fe-a20d-261de7b4cc07",

"status":"AUTHORIZED",

"supervisoryNode":"http://localhost:8080/api/supervisoryNodes/16037214-b3d7-45b0-b094-87574636d6f0

/requisitions/f13a2c6f-8791-4329-b468-11634e0cedf1/comments?access_token=3492a106-c88a-41a6-840f-f794256802bd

Example body:

{

"body": "some information"

}

Status 201 Created,

id:

"http://localhost:8080/api/requisitions/0bc1e9e8-51fb-4e36-95f2-8e15dbfe8ebd"

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:

http://localhost:8080/api

/supervisoryNodes/16037214-b3d7-45b0-b094-87574636d6f0"

status must be AUTHORIZED

16

Create requisition

In URL:

/requisitions/f13a2c6f-8791-4329-b468-11634e0cedf1/comments?access_token=3492a106-c88a-41a6-840f-f794256802bd

Method: GET



22

Change the Approved Quantity attribute.

URL: http://localhost:8080/api/

requisitions/

requisitionLines?access_token=

0445814b-b97b-44f8-b4db-37ef148cbb50

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,

Image Removed

status must be SUBMITED17

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,

 

Image Removed
with different "supervisoryNode" than previously
18Create admin user
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:

http://localhost:8080/api/

users

requisitionLines?access_token

=6116d810-b01e-46d3-b8bb-6b3a1a128af5

Method: Post

Example Body:

{
   

=a5c523c7-914e-4d12-8a55-78db5f2f57b6

Method; POST

Body:

{

"id": "fc93a929-d62e-4fff-9f8f-4ad9df0a4e60",

"product": {

"id": "

35316636

1752b457-

6264

0a4b-

6331

4de0-

2d34-3933322d3462

bf94-5a6a8002427e",

"code": "productCode",

"primaryName": "productName",

"dispensingUnit": "1",

   

"

username

dosesPerDispensingUnit":

"trusted-client"

1,

"packSize": 1,

   

"

password

packRoundingThreshold": 1,

"

secret

roundToZero": true,

   

"

firstName

active": true,

"

name

fullSupply": true,

   

"

lastName

tracer": true,

"

LName

productCategory"

,

: {

   

"

supervisedNode

id": "

http://localhost:8080/api/supervisoryNodes/4d448a74-29b6-49f1-aec6-5e217a7d8562",
    "active":true,
    "verified":true
}

Status 201 Created,

Image Removed

19

Check endpoint: http://localhost:8080/api/requisitions/requisitions-for-approval?access_token=6116d810-b01e-46d3-b8bb-6b3a1a128af5

Method: GET

Status 200 OK,

Image Removed

 

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.