637: Print Proof of Deliver (POD)

Test Case #:637

 

Test Case Name: Print Proof of Deliver (POD)

System: OpenLMIS

Subsystem: requisition

Test case designed by: Lucyna Kwidzińska

Design Date:22.08.2016

Short description: As a warehouse manager performing local fill within OpenLMIS I want to be able to print a proof of delivery that shows the products, manufacturer and quantity of stock that I am issuing as part of my local fill process so that I have a record of what I issued and so I can receive a signature from the destination facility in order to comply with the SOP.

                                                                                                                                                   

Pre – conditions:

                                                                                                                                                                                                                                                       

 

 

Step

Action

Expected system response

Comment

1

        Generate the token for authentication.              

      Token is generated.     

   

                                                 

2

Create FacilityType

URL: http://localhost:8080/api/facilityTypes/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

 

Example body:

{

"code": "typecode",

"name": "typename",

"displayOrder": "3"

}

 

 

 

 

3

Create geographicZone

 

URL: http://localhost:8080/api/geographicZones/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"code": "geolcode",

"name": "geoname",

"level": "http://localhost:8080/api/geographicLevels/1f168007-f639-40ab-b221-fe82a8959199"

}

 

 

4

Create geographicLevel

 

URL: http://localhost:8080/api/geographicLevels/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"code": "levelcode",

"name": "levelname",

"levelNumber": "3"

}

 

 

5

Create Facility

 

URL: http://localhost:8080/api/facilities/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"code": "facilitycode",

"name": "facilityname",

"geographicZone": "http://localhost:8080/api/geographicZones/b0e62722-7ac9-4570-87ee-ec67fdc29751",

"type": "http://localhost:8080/api/facilityTypes/e7b8c843-307a-4d24-9640-6de34df1cb47",

"active": "true",

"enabled": "true"

}


 

 

6

Create User

 

URL: http://localhost:8080/api/users/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"username": "test",

"firstName": "test1",

"lastName": "test2",

"verified": true,

"active": true

}

 
status 201 created is returned, 

id: "http://localhost:8080/api/users/8957ffba-bc9c-4960-a4e5-31ef05a77fd0"

 

7

Create Program

 

URL: http://localhost:8080/api/programs?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"code": "programcode",

"name": "programname",

"description": "abc",

"periodsSkippable": true

 

}

 

 

8

Create Schedule

 

URL: http://localhost:8080/api/schedules/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"code": "schedulemcode",

"name": "schedulename"

 

}

 
9

Create Period

 

URL: http://localhost:8080/api/periods/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"processingSchedule": {

"id": "b0f63d5a-1815-405d-92ef-266d6bfcb531",

"code": "schedulemcode",

"name": "schedulename"

},

"name": "periodname",

"startDate": "2016-08-25",

"endDate": "2016-09-25"

 

 

}

status 201 created is returned,

id: "http://localhost:8080/api/periods/4878678f-fdc0-4a75-a0b2-55f143241c0d"

 

 

10

                        

Create requisition

URL: http://localhost:8080/api/requisitions/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"facility": "http://localhost:8080/api/facilities/b8e6ef2a-91c7-4558-b538-168d59c734b2",

"program": "http://localhost:8080/api/programs/ccae21eb-0e99-4148-ad39-df2b2af9dae4",

"processingPeriod": "http://localhost:8080/api/periods/4878678f-fdc0-4a75-a0b2-55f143241c0d",

"status": "SUBMITTED"

 

}


                        
status 201 created is returned, 

id:

"http://localhost:8080/api/requisitions/ed937580-e74d-44a2-b3c8-2e54216003a6"

 

 

 

11

Create Order

 

URL: http://localhost:8080/api/orders/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"requisition": "http://localhost:8080/api/requisitions/ed937580-e74d-44a2-b3c8-2e54216003a6",

"createdBy": "http://localhost:8080/api/users/8957ffba-bc9c-4960-a4e5-31ef05a77fd0",

"program": "http://localhost:8080/api/programs/ccae21eb-0e99-4148-ad39-df2b2af9dae4",

"requestingFacility": "http://localhost:8080/api/facilities/b8e6ef2a-91c7-4558-b538-168d59c734b2",

"receivingFacility": "http://localhost:8080/api/facilities/b8e6ef2a-91c7-4558-b538-168d59c734b2",

"supplyingFacility": "http://localhost:8080/api/facilities/b8e6ef2a-91c7-4558-b538-168d59c734b2",

"orderCode": "code1234",

"status": "ORDERED",

"quotedCost": "123.123456"

}

 
12

Create productCategory

URL: http://localhost:8080/api/productCategories/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"code": "categorycode",

"name": "categoryname",

"displayOrder": "44"

}

 
13

Create Product

URL: http://localhost:8080/api/products/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"code": "productcode",

"primaryName": "productname1",

"dispensingUnit": "unit34",

"dosesPerDispensingUnit": "4",

"packSize": "4",

"packRoundingThreshold": "4",

"roundToZero": true,

"active": true,

"fullSupply": true,

"tracer": true,

"productCategory":

"http://localhost:8080/api/productCategories/be58b5d5-aada-429d-bec3-8db02c609d60"

}

 
14

Create OrderLine

URL: http://localhost:8080/api/orderLines/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"order": "http://localhost:8080/api/orders/16889820-febe-4699-bc92-b0d3f6504f2b",

"product": "http://localhost:8080/api/products/e849ef39-dd23-4f73-b983-8c4b7577bb3f",

"orderedQuantity": "12",

"filledQuantity": "12"

}

status 201 created is returned,

id:

"http://localhost:8080/api/orderLines/0c7f60e7-6e86-4dfc-b793-861b4fb23a86"

 
15

Create ProofOfDelivery

URL: http://localhost:8080/api/proofOfDeliveries/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"order":

"http://localhost:8080/api/orders/97461ccc-4701-4701-b5b4-4d36f9518653",

"totalShippedPacks": 2,

"totalReceivedPacks": 2,

"totalReturnedPacks": 2,

"deliveredBy": "testuser",

"receivedBy": "testureceiver",

"receivedData": "2016-08-26"

 

}

 

 

 

 
16

Create printProofOfDeliveryLine

URL: http://localhost:8080/api/proofOfDeliveryLines/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"orderLine":

"http://localhost:8080/api/orderLines/0c7f60e7-6e86-4dfc-b793-861b4fb23a86"

"proofOfDelivery":

"http://localhost:8080/api/proofOfDeliveries/b4386e94-df0e-4568-8320-06fa91a2a3b6",

"packToShip": 2,

"quantityShipped": 2,

"quantityReceived": 2,

"quantityReturned": 0,

"notes": "somenotes"

 

}

 
17

Create the another ProofOfDeliveryLine with another orderLine

URL: http://localhost:8080/api/proofOfDeliveryLines/?access_token=804fd76a-4056-4b65-9aed-8ddbbbabb738

Example body:

{

"orderLine":

"http://localhost:8080/api/orderLines/9abe0c32-e5d5-477a-a6ef-6a52721f012c",

"proofOfDelivery":

"http://localhost:8080/api/proofOfDeliveries/b4386e94-df0e-4568-8320-06fa91a2a3b6",

"packToShip": 2,

"quantityShipped": 2,

"quantityReceived": 2,

"quantityReturned": 0,

"notes": "somenotes"

 

}

the second orderLine must contain the other product and productCategory (the creation process is described in points 12-14).
18

Add report PDF template:

URL:

http://localhost:8080/api/templates?access_token=fb4ebbfc-2ef2-40e7-8ee9-ccdfa508487f

Method: POST

Body (form-data):

  • file - select the proper file
  • name - type the proper name
  • description - type the description
status: 200 OK should be returned. 
19

Print POD as PDF report.


URL:

http://localhost:8080/api/proofOfDeliveries/b49e860a-9559-4422-9adf-50ab106e7014/print?access_token=fb4ebbfc-2ef2-40e7-8ee9-ccdfa508487f

Method: GET

 


 

File should be saved in proper location. After opening, the PDF report with filled fields should be seen.

 

 

 

Post – conditions:

OpenLMIS: the global initiative for powerful LMIS software