1427: Controllers should accept and return DTOs

Test Case #:284


Test Case Name: Controllers should accept and return DTOs

System: openLMIS

Subsystem: blue

Test case designed by: Lucyna Laska

Design Date:28.12.2016

Short description

Currently controllers in the fulfillment service accept and return domain classes. This should be changed and controllers should accept and return DTO classes. Make sure that in situation where we have parent-child relation (example: Order-OrderLineItem) the DTO child class has not have relation to the parent. This relation should be set when DTO will be converted into a domain class. Also please use Importer/Exporter design pattern (you can find a good example in Requisition service in the Requisition class)

Acceptance Criteria

  • All request and response bodies for Controllers in fulfillment service are DTOs, not domain objects
  • Tests will probably have to be refactored to use the DTOs to pass

                                                                                                                                                   

Pre – conditions:

                                                                                                                                                                                                                                                       



Step

Action

Expected system response

Comment

1

                         Display all endpoints for fulfillment service.                                   (type into web browser the URL of swagger for fulfillment: test.openlmis.org/fulfillment/docs)                                           

                                                                                                                            

                                                 

2

Check if endpoint works properly (one example endpoint is selected):

GET: api/proofOfDeliveries

 


 

3

  

 

4

  

 

5

   

6

  

 

7

  

 

8

                              

OpenLMIS: the global initiative for powerful LMIS software