869: Configure Unit/Unit of Issue

Test Case #:869


Test Case Name: Configure Unit/Unit of Issue

System: openLMIS

Subsystem: blue

Test case designed by: Lucyna Laska

Design Date:17.11.2016

Short description

 the beginning of the Dispensable design should be followed:  https://openlmis.atlassian.net/wiki/x/q4B5BQ
* the only required attribute of Dispensable is this Dispensing Unit field
* a Dispensing Unit is a free form string
* equality with other Dispensing Unit's is case and white-space insensitive

API:

  • in the APIs for configuring a requisition template, this new field can be added into the requisition template (by an admin with permissions to configure the template for their program)
  • if this field is NOT configured/associated to a requisition template, it does not appear on the requisition form
  • the field can be configured with a display order that controls where it appears on the requisition
  • in the APIs for initiating and saving a requisition, if this field is part of the template, then this field appears on the requisitions. Its display order should be based on the requisition template.
  • this field is view only field, source is from reference data (it is the dispensing unit)

                                                                                                                                                   

Pre – conditions:

                                                                                                                                                                                                                                                       

Step

Action

Expected system response

Comment

1

                   Create tradeItem with dispensingUnit.            

   URL:  http://test.openlmis.org/referencedata/api/tradeItems?access_token=d50c8598-9924-4929-beaf-a8859752fa86

Method: PUT

Body:

 {

    "productCode": "AA1",

    "name": "Acetylsalicylic Acid",

    "packSize": 16,

    "packRoundingThreshold": 8,

    "roundToZero": false,

        "dispensingUnit": "10 tab strip"

  }

                                                          The tradeItem with attribute "dispensingUnit" has been created sucessfully.                                                                  

                                                 

2

Create globalProduct with dispensingUnit.

URL:  http://test.openlmis.org/referencedata/api/globalProducts?access_token=d50c8598-9924-4929-beaf-a8859752fa86

Method: PUT

Body:

 {

    "productCode": "Bb1",

    "name": "Acetylsalicylic Acid",

    "packSize": 16,

    "packRoundingThreshold": 8,

    "roundToZero": false,

    "dispensable": {

        "dispensingUnit": "10 tab strip"

    }

  }


The globalProducts with attribute "dispensingUnit" has been created sucessfully.


3

List all orderableProducts and check if "dispensingUnit" attribute is still associated with product.

URL:  http://test.openlmis.org/referencedata/api/orderableProducts?access_token=d50c8598-9924-4929-beaf-a8859752fa86

Method: GET


The orderableProducts are displayed.


4

The column "Unit/Unit of Issues" is contained in requisitionTemplate. Set "isdisplayed" to false.

URL:  http://test.openlmis.org/requisition/api/requisitionTemplates/5a268780-fafd-4243-9551-5c7daa824913?access_token=bdc054ae-5775-4247-9c90-b23c9e49f818

Method: PUT

Body:

 {
  "id": "5a268780-fafd-4243-9551-5c7daa824913",
  "programId": "dce17f2e-af3e-40ad-8e00-3496adef44c3",
  "columnsMap": {
    "beginningBalance": {
      "name": "beginningBalance",
      "label": "Beginning Balance",
      "indicator": "A",
      "displayOrder": 3,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "33b2d2e9-3167-46b0-95d4-1295be9afc22",
        "name": "beginningBalance",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Beginning Balance",
        "indicator": "A",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "dispensingUnit": {
      "name": "orderableProduct.dispensable.dispensingUnit",
      "label": "Unit/Unit of Issue",
      "indicator": "U",
      "displayOrder": 14,
      "isDisplayed": false,
      "source": "REFERENCE_DATA",
      "columnDefinition": {
        "id": "61e6d059-10ef-40c4-a6e3-fa7b9ad741ec",
        "name": "dispensingUnit",
        "sources": [
          "REFERENCE_DATA"
        ],
        "label": "Unit/Unit of Issue",
        "indicator": "U",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "TEXT"
      }
    },
    "totalLossesAndAdjustments": {
      "name": "totalLossesAndAdjustments",
      "label": "Total Losses And Adjustments",
      "indicator": "D",
      "displayOrder": 6,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "cd57f329-f549-4717-882e-ecbf98122c38",
        "name": "totalLossesAndAdjustments",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Total Losses And Adjustments",
        "indicator": "D",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "totalStockoutDays": {
      "name": "totalStockoutDays",
      "label": "Total Stockout Days",
      "indicator": "X",
      "displayOrder": 12,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "750b9359-c097-4612-8328-d21671f88920",
        "name": "totalStockoutDays",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Total Stockout Days",
        "indicator": "X",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "packsToShip": {
      "name": "packsToShip",
      "label": "Packs To Ship",
      "indicator": "V",
      "displayOrder": 15,
      "isDisplayed": true,
      "source": "CALCULATED",
      "columnDefinition": {
        "id": "dc9dde56-593d-4929-81be-d1faec7025a8",
        "name": "packsToShip",
        "sources": [
          "CALCULATED"
        ],
        "label": "Packs To Ship",
        "indicator": "V",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "productName": {
      "name": "orderableProduct.name",
      "label": "Product",
      "indicator": "N",
      "displayOrder": 2,
      "isDisplayed": true,
      "source": "REFERENCE_DATA",
      "columnDefinition": {
        "id": "e53e80de-fc63-4ecb-b6b2-ef376b34c926",
        "name": "productName",
        "sources": [
          "REFERENCE_DATA"
        ],
        "label": "Product",
        "indicator": "N",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "TEXT"
      }
    },
    "approvedQuantity": {
      "name": "approvedQuantity",
      "label": "Approved Quantity",
      "indicator": "K",
      "displayOrder": 10,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "a62a5fed-c0b6-4d49-8a96-c631da0d0113",
        "name": "approvedQuantity",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Approved Quantity",
        "indicator": "K",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "totalReceivedQuantity": {
      "name": "totalReceivedQuantity",
      "label": "Total Received Quantity",
      "indicator": "B",
      "displayOrder": 4,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "5ba8b72d-277a-4da8-b10a-23f0cda23cb4",
        "name": "totalReceivedQuantity",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Total Received Quantity",
        "indicator": "B",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "total": {
      "name": "total",
      "label": "Total",
      "indicator": "Y",
      "displayOrder": 13,
      "isDisplayed": true,
      "source": "CALCULATED",
      "columnDefinition": {
        "id": "ef524868-9d0a-11e6-80f5-76304dec7eb7",
        "name": "total",
        "sources": [
          "CALCULATED"
        ],
        "label": "Total",
        "indicator": "Y",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "productCode": {
      "name": "orderableProduct.productCode",
      "label": "Product Code",
      "indicator": "O",
      "displayOrder": 1,
      "isDisplayed": true,
      "source": "REFERENCE_DATA",
      "columnDefinition": {
        "id": "bde01507-3837-47b7-ae08-cec92c0c3cd2",
        "name": "productCode",
        "sources": [
          "REFERENCE_DATA"
        ],
        "label": "Product Code",
        "indicator": "O",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "TEXT"
      }
    },
    "totalConsumedQuantity": {
      "name": "totalConsumedQuantity",
      "label": "Total Consumed Quantity",
      "indicator": "C",
      "displayOrder": 5,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "9e825396-269d-4873-baa4-89054e2722f4",
        "name": "totalConsumedQuantity",
        "sources": [
          "USER_INPUT",
          "CALCULATED"
        ],
        "label": "Total Consumed Quantity",
        "indicator": "C",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "requestedQuantity": {
      "name": "requestedQuantity",
      "label": "Requested Quantity",
      "indicator": "J",
      "displayOrder": 8,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "4a2e9fd3-1127-4b68-9912-84a5c00f6999",
        "name": "requestedQuantity",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Requested Quantity",
        "indicator": "J",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "requestedQuantityExplanation": {
      "name": "requestedQuantityExplanation",
      "label": "Requested Quantity Explanation",
      "indicator": "W",
      "displayOrder": 9,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "6b8d331b-a0dd-4a1f-aafb-40e6a72ab9f5",
        "name": "requestedQuantityExplanation",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Requested Quantity Explanation",
        "indicator": "W",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "TEXT"
      }
    },
    "stockOnHand": {
      "name": "stockOnHand",
      "label": "Stock On Hand",
      "indicator": "E",
      "displayOrder": 7,
      "isDisplayed": true,
      "source": "CALCULATED",
      "columnDefinition": {
        "id": "752cda76-0db5-4b6e-bb79-0f531ab78e2c",
        "name": "stockOnHand",
        "sources": [
          "USER_INPUT",
          "CALCULATED"
        ],
        "label": "Stock On Hand",
        "indicator": "E",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "remarks": {
      "name": "remarks",
      "label": "Remarks",
      "indicator": "L",
      "displayOrder": 11,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "2ed8c74a-f424-4742-bd14-cfbe67b6e7be",
        "name": "remarks",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Remarks",
        "indicator": "L",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "TEXT"
      }
    }
  }
}


The details of "Unit/Unit od Issue" has been modified.


5

View on UI if column is hidden on products grid in requisition details.



 Enter http://test.openlmis.org/public into web browser, log in and e.g. move into Requisitinos tab and select Create/Authorize. Then, click PROCEED button. On product grid, column should be hidden.


6

 The column "Unit/Unit of Issues" is contained in requisitionTemplate. Set "isdisplayed" to true.

URL:  http://test.openlmis.org/requisition/api/requisitionTemplates/5a268780-fafd-4243-9551-5c7daa824913?access_token=bdc054ae-5775-4247-9c90-b23c9e49f818

Method: PUT

Body:

 {
  "id": "5a268780-fafd-4243-9551-5c7daa824913",
  "programId": "dce17f2e-af3e-40ad-8e00-3496adef44c3",
  "columnsMap": {
    "beginningBalance": {
      "name": "beginningBalance",
      "label": "Beginning Balance",
      "indicator": "A",
      "displayOrder": 3,
      "isDisplayed": true,
      "source": "USER_INPUT",
      "columnDefinition": {
        "id": "33b2d2e9-3167-46b0-95d4-1295be9afc22",
        "name": "beginningBalance",
        "sources": [
          "USER_INPUT"
        ],
        "label": "Beginning Balance",
        "indicator": "A",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "NUMERIC"
      }
    },
    "dispensingUnit": {
      "name": "orderableProduct.dispensable.dispensingUnit",
      "label": "Unit/Unit of Issue",
      "indicator": "U",
      "displayOrder": 14,
      "isDisplayed": true,
      "source": "REFERENCE_DATA",
      "columnDefinition": {
        "id": "61e6d059-10ef-40c4-a6e3-fa7b9ad741ec",
        "name": "dispensingUnit",
        "sources": [
          "REFERENCE_DATA"
        ],
        "label": "Unit/Unit of Issue",
        "indicator": "U",
        "mandatory": false,
        "isDisplayRequired": false,
        "canChangeOrder": true,
        "canBeChangedByUser": false,
        "columnType": "TEXT"
      }
    },