@openmrs/esm-billing-app 1.1.1 → 1.1.2-pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/.turbo/cache/53e233a916ffe7d2-meta.json +1 -0
  2. package/.turbo/cache/53e233a916ffe7d2.tar.zst +0 -0
  3. package/.turbo/turbo-build.log +44 -0
  4. package/__mocks__/bills.mock.ts +6 -5
  5. package/dist/1119.js +1 -1
  6. package/dist/1197.js +1 -1
  7. package/dist/1435.js +1 -0
  8. package/dist/1435.js.map +1 -0
  9. package/dist/1807.js +1 -0
  10. package/dist/1807.js.map +1 -0
  11. package/dist/2146.js +1 -1
  12. package/dist/2177.js +1 -1
  13. package/dist/2177.js.map +1 -1
  14. package/dist/2690.js +1 -1
  15. package/dist/2704.js +1 -0
  16. package/dist/2704.js.map +1 -0
  17. package/dist/3002.js +1 -0
  18. package/dist/3002.js.map +1 -0
  19. package/dist/3041.js +1 -1
  20. package/dist/3041.js.map +1 -1
  21. package/dist/3099.js +1 -1
  22. package/dist/3184.js +1 -1
  23. package/dist/3184.js.map +1 -1
  24. package/dist/3584.js +1 -1
  25. package/dist/4055.js +1 -1
  26. package/dist/4132.js +1 -1
  27. package/dist/4225.js +1 -1
  28. package/dist/4225.js.map +1 -1
  29. package/dist/4300.js +1 -1
  30. package/dist/4335.js +1 -1
  31. package/dist/439.js +1 -1
  32. package/dist/4618.js +1 -1
  33. package/dist/4652.js +1 -1
  34. package/dist/4944.js +1 -1
  35. package/dist/5173.js +1 -1
  36. package/dist/5241.js +1 -1
  37. package/dist/5422.js +1 -1
  38. package/dist/5422.js.map +1 -1
  39. package/dist/5442.js +1 -1
  40. package/dist/5661.js +1 -1
  41. package/dist/6022.js +1 -1
  42. package/dist/6404.js +1 -0
  43. package/dist/6404.js.map +1 -0
  44. package/dist/6468.js +1 -1
  45. package/dist/6540.js +1 -1
  46. package/dist/6540.js.map +1 -1
  47. package/dist/6589.js +1 -1
  48. package/dist/6606.js +1 -1
  49. package/dist/6606.js.map +1 -1
  50. package/dist/6679.js +1 -1
  51. package/dist/6792.js +1 -0
  52. package/dist/6792.js.map +1 -0
  53. package/dist/6840.js +1 -1
  54. package/dist/6859.js +1 -1
  55. package/dist/7097.js +1 -1
  56. package/dist/7159.js +1 -1
  57. package/dist/723.js +1 -1
  58. package/dist/7255.js +1 -1
  59. package/dist/7255.js.map +1 -1
  60. package/dist/7617.js +1 -1
  61. package/dist/795.js +1 -1
  62. package/dist/8163.js +1 -1
  63. package/dist/8341.js +2 -0
  64. package/dist/{1907.js.LICENSE.txt → 8341.js.LICENSE.txt} +0 -15
  65. package/dist/8341.js.map +1 -0
  66. package/dist/8349.js +1 -1
  67. package/dist/8371.js +1 -1
  68. package/dist/8421.js +1 -0
  69. package/dist/8421.js.map +1 -0
  70. package/dist/8618.js +1 -1
  71. package/dist/890.js +1 -1
  72. package/dist/9214.js +1 -1
  73. package/dist/9538.js +1 -1
  74. package/dist/9569.js +1 -1
  75. package/dist/961.js +1 -1
  76. package/dist/961.js.map +1 -1
  77. package/dist/986.js +1 -1
  78. package/dist/9879.js +1 -1
  79. package/dist/9895.js +1 -1
  80. package/dist/9900.js +1 -1
  81. package/dist/9913.js +1 -1
  82. package/dist/main.js +1 -1
  83. package/dist/main.js.LICENSE.txt +0 -15
  84. package/dist/main.js.map +1 -1
  85. package/dist/openmrs-esm-billing-app.js +1 -1
  86. package/dist/openmrs-esm-billing-app.js.buildmanifest.json +284 -259
  87. package/dist/openmrs-esm-billing-app.js.map +1 -1
  88. package/dist/routes.json +1 -1
  89. package/e2e/commands/patient-operations.ts +1 -1
  90. package/e2e/pages/billing-dashboard-page.ts +3 -1
  91. package/e2e/pages/billing-form-page.ts +5 -0
  92. package/e2e/pages/invoice-page.ts +10 -0
  93. package/e2e/specs/billing-dashboard.spec.ts +126 -3
  94. package/e2e/specs/billing-patient-chart.spec.ts +95 -9
  95. package/package.json +3 -6
  96. package/src/bill-history/bill-action-menu.component.tsx +41 -0
  97. package/src/bill-history/bill-action-menu.scss +3 -0
  98. package/src/bill-history/bill-history.component.tsx +15 -5
  99. package/src/bill-history/bill-history.scss +0 -1
  100. package/src/bill-history/bill-history.test.tsx +78 -1
  101. package/src/bill-item-actions/edit-bill-item.modal.tsx +1 -1
  102. package/src/bill-item-actions/edit-bill-item.test.tsx +40 -0
  103. package/src/billable-services/bill-waiver/bill-waiver.component.tsx +3 -1
  104. package/src/billing-dashboard/billing-dashboard.component.tsx +3 -16
  105. package/src/billing-form/billing-checkin-form.component.tsx +116 -57
  106. package/src/billing-form/billing-checkin-form.scss +26 -2
  107. package/src/billing-form/billing-checkin-form.test.tsx +51 -1
  108. package/src/billing-form/billing-form.resource.test.ts +87 -0
  109. package/src/billing-form/billing-form.resource.ts +33 -0
  110. package/src/billing-form/billing-form.scss +54 -7
  111. package/src/billing-form/billing-form.test.tsx +547 -0
  112. package/src/billing-form/billing-form.workspace.tsx +150 -45
  113. package/src/billing-form/visit-attributes/visit-attributes-form.component.tsx +25 -2
  114. package/src/billing-form/visit-attributes/visit-attributes-form.scss +29 -0
  115. package/src/billing-header/billing-header.component.tsx +1 -34
  116. package/src/billing-header/billing-header.scss +0 -50
  117. package/src/billing.resource.test.ts +11 -11
  118. package/src/billing.resource.ts +42 -12
  119. package/src/bills-table/bills-table.component.tsx +16 -12
  120. package/src/bills-table/bills-table.test.tsx +84 -7
  121. package/src/index.ts +5 -0
  122. package/src/invoice/invoice.component.tsx +46 -16
  123. package/src/invoice/invoice.scss +9 -8
  124. package/src/invoice/invoice.test.tsx +128 -7
  125. package/src/invoice/line-item-action-menu.component.tsx +2 -2
  126. package/src/invoice/payments/payments.component.tsx +2 -2
  127. package/src/invoice/payments/payments.test.tsx +31 -2
  128. package/src/metrics-cards/metrics.resource.ts +3 -4
  129. package/src/modal/finalize-bill-confirmation.modal.test.tsx +209 -0
  130. package/src/modal/finalize-bill-confirmation.modal.tsx +86 -0
  131. package/src/modal/require-payment.modal.tsx +2 -1
  132. package/src/routes.json +4 -0
  133. package/src/types/index.ts +10 -1
  134. package/tools/setup-tests.ts +7 -6
  135. package/translations/am.json +28 -0
  136. package/translations/ar.json +28 -0
  137. package/translations/ar_SY.json +28 -0
  138. package/translations/bn.json +28 -0
  139. package/translations/cs.json +28 -0
  140. package/translations/de.json +266 -238
  141. package/translations/en.json +29 -0
  142. package/translations/en_US.json +28 -0
  143. package/translations/es.json +28 -0
  144. package/translations/es_MX.json +28 -0
  145. package/translations/fr.json +28 -0
  146. package/translations/he.json +28 -0
  147. package/translations/hi.json +28 -0
  148. package/translations/hi_IN.json +28 -0
  149. package/translations/id.json +28 -0
  150. package/translations/it.json +28 -0
  151. package/translations/ka.json +28 -0
  152. package/translations/km.json +28 -0
  153. package/translations/ku.json +28 -0
  154. package/translations/ky.json +28 -0
  155. package/translations/lg.json +28 -0
  156. package/translations/ne.json +28 -0
  157. package/translations/pl.json +28 -0
  158. package/translations/pt.json +28 -0
  159. package/translations/pt_BR.json +28 -0
  160. package/translations/qu.json +28 -0
  161. package/translations/ro_RO.json +28 -0
  162. package/translations/ru_RU.json +28 -0
  163. package/translations/si.json +28 -0
  164. package/translations/sq.json +28 -0
  165. package/translations/sw.json +28 -0
  166. package/translations/sw_KE.json +28 -0
  167. package/translations/tr.json +28 -0
  168. package/translations/tr_TR.json +28 -0
  169. package/translations/uk.json +28 -0
  170. package/translations/uz.json +28 -0
  171. package/translations/uz@Latn.json +28 -0
  172. package/translations/uz_UZ.json +28 -0
  173. package/translations/vi.json +28 -0
  174. package/translations/zh.json +268 -240
  175. package/translations/zh_CN.json +30 -2
  176. package/translations/zh_TW.json +28 -0
  177. package/turbo.json +29 -0
  178. package/dist/1537.js +0 -1
  179. package/dist/1537.js.map +0 -1
  180. package/dist/1907.js +0 -2
  181. package/dist/1907.js.map +0 -1
  182. package/dist/1981.js +0 -1
  183. package/dist/1981.js.map +0 -1
  184. package/dist/2820.js +0 -1
  185. package/dist/2820.js.map +0 -1
  186. package/dist/8025.js +0 -1
  187. package/dist/8025.js.map +0 -1
  188. package/dist/9727.js +0 -2
  189. package/dist/9727.js.LICENSE.txt +0 -14
  190. package/dist/9727.js.map +0 -1
  191. package/dist/9756.js +0 -1
  192. package/dist/9756.js.map +0 -1
  193. package/src/hooks/selectedDateContext.ts +0 -10
@@ -1 +1 @@
1
- {"version":3,"file":"openmrs-esm-billing-app.js","mappings":"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","sources":["webpack://@openmrs/esm-billing-app/webpack/runtime/create fake namespace object","webpack://@openmrs/esm-billing-app/webpack/runtime/load script","webpack://@openmrs/esm-billing-app/webpack/runtime/consumes","webpack://@openmrs/esm-billing-app/webpack/container-entry","webpack://@openmrs/esm-billing-app/webpack/bootstrap","webpack://@openmrs/esm-billing-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-billing-app/webpack/runtime/define property getters","webpack://@openmrs/esm-billing-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-billing-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-billing-app/webpack/runtime/global","webpack://@openmrs/esm-billing-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-billing-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-billing-app/webpack/runtime/node module decorator","webpack://@openmrs/esm-billing-app/webpack/runtime/sharing","webpack://@openmrs/esm-billing-app/webpack/runtime/publicPath","webpack://@openmrs/esm-billing-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-billing-app/webpack/runtime/nonce","webpack://@openmrs/esm-billing-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","loaded","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"openmrs-esm-billing-app.js","mappings":"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","sources":["webpack://@openmrs/esm-billing-app/webpack/runtime/create fake namespace object","webpack://@openmrs/esm-billing-app/webpack/runtime/load script","webpack://@openmrs/esm-billing-app/webpack/runtime/consumes","webpack://@openmrs/esm-billing-app/webpack/container-entry","webpack://@openmrs/esm-billing-app/webpack/bootstrap","webpack://@openmrs/esm-billing-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-billing-app/webpack/runtime/define property getters","webpack://@openmrs/esm-billing-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-billing-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-billing-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-billing-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-billing-app/webpack/runtime/node module decorator","webpack://@openmrs/esm-billing-app/webpack/runtime/sharing","webpack://@openmrs/esm-billing-app/webpack/runtime/publicPath","webpack://@openmrs/esm-billing-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-billing-app/webpack/runtime/nonce","webpack://@openmrs/esm-billing-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","loaded","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","from","scriptUrl","globalThis","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","g","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"billing":">=2.0.0","webservices.rest":">=2.24.0"},"pages":[{"component":"billableServicesHome","route":"billable-services"}],"extensions":[{"component":"billingDashboardLink","name":"billing-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"billing","title":"billing","slot":"billing-dashboard-slot"}},{"component":"root","name":"billing-dashboard-root","slot":"billing-dashboard-slot"},{"name":"billing-patient-summary","component":"billingPatientSummary","slot":"patient-chart-billing-dashboard-slot","order":10,"meta":{"columnSpan":4}},{"name":"billing-summary-dashboard-link","component":"billingSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-billing-dashboard-slot","path":"Billing history"}},{"name":"billable-services-app-menu-item","component":"billableServicesAppMenuItem","slot":"app-menu-item-slot","meta":{"name":"Billable Services"}},{"name":"billing-checkin-form","slot":"extra-visit-attribute-slot","component":"billingCheckInForm"},{"slot":"system-admin-page-card-link-slot","component":"billableServicesCardLink","name":"billable-services-admin-card-link"},{"name":"patient-banner-billing-tags","component":"visitAttributeTags","slot":"patient-banner-tags-slot","order":2},{"name":"billable-services-left-panel-link","component":"billableServicesLeftPanelLink","slot":"billable-services-left-panel-slot","order":0},{"name":"billing-settings-left-panel-menu","component":"billingSettingsLeftPanelMenu","slot":"billable-services-left-panel-slot","order":1}],"modals":[{"name":"add-cash-point-modal","component":"addCashPointModal"},{"name":"payment-mode-form-modal","component":"paymentModeFormModal"},{"name":"delete-payment-mode-modal","component":"deletePaymentModeModal"},{"name":"edit-bill-item-modal","component":"editBillLineItemModal"},{"name":"edit-bill-line-item-modal","component":"editBillLineItemModal"},{"name":"require-billing-modal","component":"requirePaymentModal"},{"name":"delete-line-item-confirmation-modal","component":"deleteLineItemConfirmationModal"}],"workspaces2":[{"name":"billing-form-workspace","component":"billingFormWorkspace","window":"billing-form-window"},{"name":"billable-service-form","component":"billableServiceFormWorkspace","window":"billable-service-form-window"}],"workspaceWindows2":[{"name":"billing-form-window","group":"billingFormWorkspaceGroup"},{"name":"billable-service-form-window","group":"billingFormWorkspaceGroup","width":"wider"}],"workspaceGroups2":[{"name":"billingFormWorkspaceGroup","overlay":false}],"version":"1.1.1"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"billing":">=2.0.0","webservices.rest":">=2.24.0"},"pages":[{"component":"billableServicesHome","route":"billable-services"}],"extensions":[{"component":"billingDashboardLink","name":"billing-dashboard-link","slot":"homepage-dashboard-slot","meta":{"name":"billing","title":"billing","slot":"billing-dashboard-slot"}},{"component":"root","name":"billing-dashboard-root","slot":"billing-dashboard-slot"},{"name":"billing-patient-summary","component":"billingPatientSummary","slot":"patient-chart-billing-dashboard-slot","order":10,"meta":{"columnSpan":4}},{"name":"billing-summary-dashboard-link","component":"billingSummaryDashboardLink","slot":"patient-chart-dashboard-slot","order":11,"meta":{"columns":1,"columnSpan":1,"slot":"patient-chart-billing-dashboard-slot","path":"Billing history"}},{"name":"billable-services-app-menu-item","component":"billableServicesAppMenuItem","slot":"app-menu-item-slot","meta":{"name":"Billable Services"}},{"name":"billing-checkin-form","slot":"extra-visit-attribute-slot","component":"billingCheckInForm"},{"slot":"system-admin-page-card-link-slot","component":"billableServicesCardLink","name":"billable-services-admin-card-link"},{"name":"patient-banner-billing-tags","component":"visitAttributeTags","slot":"patient-banner-tags-slot","order":2},{"name":"billable-services-left-panel-link","component":"billableServicesLeftPanelLink","slot":"billable-services-left-panel-slot","order":0},{"name":"billing-settings-left-panel-menu","component":"billingSettingsLeftPanelMenu","slot":"billable-services-left-panel-slot","order":1}],"modals":[{"name":"add-cash-point-modal","component":"addCashPointModal"},{"name":"payment-mode-form-modal","component":"paymentModeFormModal"},{"name":"delete-payment-mode-modal","component":"deletePaymentModeModal"},{"name":"edit-bill-item-modal","component":"editBillLineItemModal"},{"name":"edit-bill-line-item-modal","component":"editBillLineItemModal"},{"name":"require-billing-modal","component":"requirePaymentModal"},{"name":"delete-line-item-confirmation-modal","component":"deleteLineItemConfirmationModal"},{"name":"finalize-bill-confirmation-modal","component":"finalizeBillConfirmationModal"}],"workspaces2":[{"name":"billing-form-workspace","component":"billingFormWorkspace","window":"billing-form-window"},{"name":"billable-service-form","component":"billableServiceFormWorkspace","window":"billable-service-form-window"}],"workspaceWindows2":[{"name":"billing-form-window","group":"billingFormWorkspaceGroup"},{"name":"billable-service-form-window","group":"billingFormWorkspaceGroup","width":"wider"}],"workspaceGroups2":[{"name":"billingFormWorkspaceGroup","overlay":false}],"version":"1.1.2-pre.1"}
@@ -79,7 +79,7 @@ export async function deletePatient(api: APIRequestContext, patientUuid: string)
79
79
  /**
80
80
  * Waits for a success notification to appear
81
81
  */
82
- export async function waitForSuccessNotification(page: any, message?: string) {
82
+ export async function waitForSuccessNotification(page: any, message?: string | RegExp) {
83
83
  if (message) {
84
84
  await page.getByText(message).waitFor({ state: 'visible', timeout: 10000 });
85
85
  } else {
@@ -1,5 +1,7 @@
1
1
  import { type Page, expect } from '@playwright/test';
2
2
 
3
+ export type BillFilterOption = 'All bills' | 'Pending confirmation' | 'Pending payment' | 'Paid bills';
4
+
3
5
  export class BillingDashboardPage {
4
6
  constructor(readonly page: Page) {}
5
7
 
@@ -24,7 +26,7 @@ export class BillingDashboardPage {
24
26
  }
25
27
  }
26
28
 
27
- async selectFilter(filterText: 'All bills' | 'Pending bills' | 'Paid bills') {
29
+ async selectFilter(filterText: BillFilterOption) {
28
30
  await this.filterDropdown().click();
29
31
  await this.page.getByRole('option', { name: filterText }).click();
30
32
  }
@@ -24,6 +24,11 @@ export class BillingFormPage {
24
24
  await this.page.getByRole('option', { name: new RegExp(serviceName, 'i') }).click();
25
25
  }
26
26
 
27
+ async selectFirstAvailableBillableService() {
28
+ await this.billableServicesCombobox().click();
29
+ await this.page.getByRole('option').first().click();
30
+ }
31
+
27
32
  async clearBillableServiceCombobox() {
28
33
  const combobox = this.billableServicesCombobox();
29
34
  // Carbon ComboBox has a clear button (X icon) - try to find it
@@ -13,6 +13,11 @@ export class InvoicePage {
13
13
  readonly printReceiptButton = () => this.page.getByRole('button', { name: /print receipt/i });
14
14
  readonly invoiceTable = () => this.page.getByRole('table').first();
15
15
  readonly discardButton = () => this.page.getByRole('button', { name: /discard/i });
16
+ readonly finalizeBillButton = () => this.page.getByRole('button', { name: /^finalize bill$/i });
17
+ readonly addItemsToBillButton = () => this.page.getByRole('button', { name: /add items to bill/i });
18
+ readonly finalizeBillModal = () => this.page.getByRole('dialog', { name: /finalize bill/i });
19
+ readonly confirmFinalizeButton = () => this.page.getByRole('button', { name: /^finalize$/i });
20
+ readonly cancelFinalizeButton = () => this.finalizeBillModal().getByRole('button', { name: /cancel/i });
16
21
 
17
22
  async goto(patientUuid: string, billUuid: string) {
18
23
  await this.page.goto(`home/billing/patient/${patientUuid}/${billUuid}`);
@@ -107,6 +112,11 @@ export class InvoicePage {
107
112
  await this.printReceiptButton().click();
108
113
  }
109
114
 
115
+ async finalizeBill() {
116
+ await this.finalizeBillButton().click();
117
+ await this.confirmFinalizeButton().click();
118
+ }
119
+
110
120
  async navigateToBillingDashboard() {
111
121
  await this.discardButton().click();
112
122
  }
@@ -59,7 +59,7 @@ test.describe('Billing Dashboard workflow', () => {
59
59
  await test.step('Given I have created and saved a bill', async () => {
60
60
  await page.goto(`patient/${patientUuid}/chart/Billing history`);
61
61
 
62
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
62
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
63
63
  await createBillButton.click();
64
64
 
65
65
  await billingFormPage.searchAndSelectBillableService(testServiceName);
@@ -80,6 +80,8 @@ test.describe('Billing Dashboard workflow', () => {
80
80
 
81
81
  await test.step('Then the Bill List should display pending bills', async () => {
82
82
  await expect(billingDashboardPage.filterDropdown()).toBeVisible();
83
+ await billingDashboardPage.selectFilter('Pending confirmation');
84
+ await billingDashboardPage.waitForBillsTableToLoad();
83
85
 
84
86
  await billingDashboardPage.verifyBillInTable(patientName, true);
85
87
  });
@@ -111,9 +113,19 @@ test.describe('Billing Dashboard workflow', () => {
111
113
  expect(invoiceStatus).toBe('PENDING');
112
114
  });
113
115
 
114
- await test.step('And the Payments section should be displayed', async () => {
115
- await paymentPage.waitForPaymentForm();
116
+ await test.step('And the payment form should not be visible for a PENDING bill', async () => {
117
+ await expect(paymentPage.paymentMethodCombobox()).toBeHidden();
118
+ await expect(paymentPage.amountInput()).toBeHidden();
119
+ });
116
120
 
121
+ await test.step('When I finalize the bill', async () => {
122
+ await invoicePage.finalizeBill();
123
+ await waitForSuccessNotification(page, /bill finalized/i);
124
+ await expect.poll(async () => await invoicePage.getInvoiceStatus()).toBe('POSTED');
125
+ });
126
+
127
+ await test.step('Then the payment form should now be visible', async () => {
128
+ await paymentPage.waitForPaymentForm();
117
129
  await expect(paymentPage.paymentMethodCombobox()).toBeVisible();
118
130
  await expect(paymentPage.amountInput()).toBeVisible();
119
131
  await expect(paymentPage.referenceCodeInput()).toBeVisible();
@@ -200,4 +212,115 @@ test.describe('Billing Dashboard workflow', () => {
200
212
  await billingDashboardPage.verifyBillInTable(patientName, true);
201
213
  });
202
214
  });
215
+
216
+ test('Cashier confirms a bill from the pending queue, adds an item, finalizes, and processes payment', async ({
217
+ page,
218
+ api,
219
+ patient,
220
+ }) => {
221
+ const billingDashboardPage = new BillingDashboardPage(page);
222
+ const billingFormPage = new BillingFormPage(page);
223
+ const invoicePage = new InvoicePage(page);
224
+ const paymentPage = new PaymentPage(page);
225
+ const patientUuid = patient.uuid;
226
+ const patientName = patient.person.display;
227
+ let billUuid: string;
228
+
229
+ await test.step('Given a bill has been created for a patient (PENDING status)', async () => {
230
+ await page.goto(`patient/${patientUuid}/chart/Billing history`);
231
+
232
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
233
+ await createBillButton.click();
234
+
235
+ await billingFormPage.searchAndSelectBillableService(testServiceName);
236
+ await billingFormPage.selectPaymentMethodIfVisible();
237
+ await billingFormPage.saveBill();
238
+ await waitForSuccessNotification(page, /bill processed successfully/i);
239
+
240
+ const billsResponse = await api.get(`billing/bill?patient=${patientUuid}&v=full`);
241
+ const billsData = await billsResponse.json();
242
+ billUuid = billsData.results[0].uuid;
243
+ billsToCleanup.add(billUuid);
244
+ });
245
+
246
+ await test.step('When I navigate to the Billing dashboard and open the pending confirmation queue', async () => {
247
+ await billingDashboardPage.goto();
248
+ await billingDashboardPage.waitForBillsTableToLoad();
249
+ await billingDashboardPage.selectFilter('Pending confirmation');
250
+ await billingDashboardPage.waitForBillsTableToLoad();
251
+ });
252
+
253
+ await test.step('Then the bill appears in the pending confirmation queue', async () => {
254
+ await billingDashboardPage.verifyBillInTable(patientName, true);
255
+ });
256
+
257
+ await test.step('When I open the invoice', async () => {
258
+ await billingDashboardPage.clickInvoiceNumberLink(patientName);
259
+ await invoicePage.waitForInvoiceToLoad();
260
+ });
261
+
262
+ await test.step('Then I click on the Add items to bill button', async () => {
263
+ await invoicePage.addItemsToBillButton().click();
264
+ await expect(billingFormPage.saveButton()).toBeVisible();
265
+ });
266
+
267
+ await test.step('Then I add an item to the bill', async () => {
268
+ await billingFormPage.selectFirstAvailableBillableService();
269
+ await billingFormPage.selectPaymentMethodIfVisible();
270
+ await billingFormPage.saveBill();
271
+ await waitForSuccessNotification(page, /items added to bill/i);
272
+ });
273
+
274
+ await test.step('When I finalize the bill', async () => {
275
+ await invoicePage.finalizeBill();
276
+ await waitForSuccessNotification(page, /bill finalized/i);
277
+ });
278
+
279
+ await test.step('Then the invoice status should be POSTED and editing buttons should be gone', async () => {
280
+ await expect.poll(async () => await invoicePage.getInvoiceStatus()).toBe('POSTED');
281
+ await expect(invoicePage.finalizeBillButton()).toBeHidden();
282
+ await expect(invoicePage.addItemsToBillButton()).toBeHidden();
283
+ });
284
+
285
+ await test.step('When I return to the dashboard', async () => {
286
+ await billingDashboardPage.goto();
287
+ await billingDashboardPage.waitForBillsTableToLoad();
288
+ });
289
+
290
+ await test.step('Then the bill has moved out of pending confirmation and into pending payment', async () => {
291
+ await billingDashboardPage.selectFilter('Pending confirmation');
292
+ await billingDashboardPage.waitForBillsTableToLoad();
293
+ await billingDashboardPage.verifyBillInTable(patientName, false);
294
+
295
+ await billingDashboardPage.selectFilter('Pending payment');
296
+ await billingDashboardPage.waitForBillsTableToLoad();
297
+ await billingDashboardPage.verifyBillInTable(patientName, true);
298
+ });
299
+
300
+ await test.step('When I open the invoice and process full payment', async () => {
301
+ await billingDashboardPage.clickInvoiceNumberLink(patientName);
302
+ await invoicePage.waitForInvoiceToLoad();
303
+
304
+ await paymentPage.waitForPaymentForm();
305
+ const amountDue = await invoicePage.getAmountDue();
306
+ await paymentPage.addPayment('Cash', extractNumericValue(amountDue));
307
+ await paymentPage.processPayment();
308
+ await waitForSuccessNotification(page, /payment processed successfully/i);
309
+ });
310
+
311
+ await test.step('When I return to the dashboard', async () => {
312
+ await billingDashboardPage.goto();
313
+ await billingDashboardPage.waitForBillsTableToLoad();
314
+ });
315
+
316
+ await test.step('Then the bill has moved out of pending payment and into paid bills', async () => {
317
+ await billingDashboardPage.selectFilter('Pending payment');
318
+ await billingDashboardPage.waitForBillsTableToLoad();
319
+ await billingDashboardPage.verifyBillInTable(patientName, false);
320
+
321
+ await billingDashboardPage.selectFilter('Paid bills');
322
+ await billingDashboardPage.waitForBillsTableToLoad();
323
+ await billingDashboardPage.verifyBillInTable(patientName, true);
324
+ });
325
+ });
203
326
  });
@@ -55,7 +55,7 @@ test.describe('Billing: Patient Chart workflow', () => {
55
55
  });
56
56
 
57
57
  await test.step('And I launch the Create Bill form', async () => {
58
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
58
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
59
59
  await createBillButton.click();
60
60
  });
61
61
 
@@ -112,6 +112,12 @@ test.describe('Billing: Patient Chart workflow', () => {
112
112
  await expect(invoicePage.invoiceNumberLabel()).toBeVisible();
113
113
  });
114
114
 
115
+ await test.step('When I finalize the bill', async () => {
116
+ await invoicePage.finalizeBill();
117
+ await waitForSuccessNotification(page, /bill finalized/i);
118
+ await expect.poll(async () => await invoicePage.getInvoiceStatus()).toBe('POSTED');
119
+ });
120
+
115
121
  await test.step('When I process the full amount due', async () => {
116
122
  await paymentPage.waitForPaymentForm();
117
123
  const amountDue = await invoicePage.getAmountDue();
@@ -159,7 +165,7 @@ test.describe('Billing: Patient Chart workflow', () => {
159
165
  });
160
166
 
161
167
  await test.step('And I click the Launch bill form button', async () => {
162
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
168
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
163
169
  await createBillButton.click();
164
170
  });
165
171
 
@@ -215,7 +221,7 @@ test.describe('Billing: Patient Chart workflow', () => {
215
221
  });
216
222
 
217
223
  await test.step('And I click the Launch bill form button', async () => {
218
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
224
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
219
225
  await createBillButton.click();
220
226
  });
221
227
 
@@ -247,7 +253,7 @@ test.describe('Billing: Patient Chart workflow', () => {
247
253
  });
248
254
 
249
255
  await test.step('And I click the Launch bill form button', async () => {
250
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
256
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
251
257
  await createBillButton.click();
252
258
  });
253
259
 
@@ -291,7 +297,7 @@ test.describe('Billing: Patient Chart workflow', () => {
291
297
  await test.step('Given I have created and saved a bill', async () => {
292
298
  await page.goto(`patient/${patientUuid}/chart/Billing history`);
293
299
 
294
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
300
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
295
301
  await createBillButton.click();
296
302
 
297
303
  await billingFormPage.searchAndSelectBillableService(testServiceName);
@@ -310,6 +316,12 @@ test.describe('Billing: Patient Chart workflow', () => {
310
316
  await invoicePage.waitForInvoiceToLoad();
311
317
  });
312
318
 
319
+ await test.step('When I finalize the bill', async () => {
320
+ await invoicePage.finalizeBill();
321
+ await waitForSuccessNotification(page, /bill finalized/i);
322
+ await expect.poll(async () => await invoicePage.getInvoiceStatus()).toBe('POSTED');
323
+ });
324
+
313
325
  await test.step('And I make a partial payment (50% of amount due)', async () => {
314
326
  await paymentPage.waitForPaymentForm();
315
327
 
@@ -409,7 +421,7 @@ test.describe('Billing: Patient Chart workflow', () => {
409
421
  });
410
422
 
411
423
  await test.step('And I launch the Create Bill form', async () => {
412
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
424
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
413
425
  await createBillButton.click();
414
426
  });
415
427
 
@@ -495,6 +507,12 @@ test.describe('Billing: Patient Chart workflow', () => {
495
507
  expect(backendTotal).toBeCloseTo(totalValue, 2);
496
508
  });
497
509
 
510
+ await test.step('When I finalize the bill', async () => {
511
+ await invoicePage.finalizeBill();
512
+ await waitForSuccessNotification(page, /bill finalized/i);
513
+ await expect.poll(async () => await invoicePage.getInvoiceStatus()).toBe('POSTED');
514
+ });
515
+
498
516
  await test.step('When I process payment for the full amount', async () => {
499
517
  await paymentPage.waitForPaymentForm();
500
518
  const amountDue = await invoicePage.getAmountDue();
@@ -536,7 +554,7 @@ test.describe('Billing: Patient Chart workflow', () => {
536
554
  await test.step('Given I have created a bill', async () => {
537
555
  await page.goto(`patient/${patientUuid}/chart/Billing history`);
538
556
 
539
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
557
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
540
558
  await createBillButton.click();
541
559
 
542
560
  await billingFormPage.searchAndSelectBillableService(testServiceName);
@@ -555,6 +573,12 @@ test.describe('Billing: Patient Chart workflow', () => {
555
573
  await invoicePage.waitForInvoiceToLoad();
556
574
  });
557
575
 
576
+ await test.step('When I finalize the bill', async () => {
577
+ await invoicePage.finalizeBill();
578
+ await waitForSuccessNotification(page, /bill finalized/i);
579
+ await expect.poll(async () => await invoicePage.getInvoiceStatus()).toBe('POSTED');
580
+ });
581
+
558
582
  await test.step('And I record the first payment (60% Cash)', async () => {
559
583
  await paymentPage.waitForPaymentForm();
560
584
 
@@ -641,7 +665,7 @@ test.describe('Billing: Patient Chart workflow', () => {
641
665
  await test.step('Given I create a bill with a service quantity of 2', async () => {
642
666
  await page.goto(`patient/${patientUuid}/chart/Billing history`);
643
667
 
644
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
668
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
645
669
  await createBillButton.click();
646
670
 
647
671
  await billingFormPage.searchAndSelectBillableService(testServiceName);
@@ -681,6 +705,12 @@ test.describe('Billing: Patient Chart workflow', () => {
681
705
  await invoicePage.waitForInvoiceToLoad();
682
706
  });
683
707
 
708
+ await test.step('When I finalize the bill', async () => {
709
+ await invoicePage.finalizeBill();
710
+ await waitForSuccessNotification(page, /bill finalized/i);
711
+ await expect.poll(async () => await invoicePage.getInvoiceStatus()).toBe('POSTED');
712
+ });
713
+
684
714
  await test.step('And I record the first payment (50%)', async () => {
685
715
  await paymentPage.waitForPaymentForm();
686
716
 
@@ -735,6 +765,62 @@ test.describe('Billing: Patient Chart workflow', () => {
735
765
  });
736
766
  });
737
767
 
768
+ test('Payment form is blocked on PENDING bill and available after finalization', async ({ page, api, patient }) => {
769
+ const billingFormPage = new BillingFormPage(page);
770
+ const invoicePage = new InvoicePage(page);
771
+ const paymentPage = new PaymentPage(page);
772
+ const patientUuid = patient.uuid;
773
+ let billUuid: string;
774
+
775
+ await test.step('Given I create and save a bill', async () => {
776
+ await page.goto(`patient/${patientUuid}/chart/Billing history`);
777
+
778
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
779
+ await createBillButton.click();
780
+
781
+ await billingFormPage.searchAndSelectBillableService(testServiceName);
782
+ await billingFormPage.selectPaymentMethodIfVisible();
783
+ await billingFormPage.saveBill();
784
+ await waitForSuccessNotification(page, 'Bill processed successfully');
785
+
786
+ const billsResponse = await api.get(`billing/bill?patient=${patientUuid}&v=full`);
787
+ const billsData = await billsResponse.json();
788
+ billUuid = billsData.results[0].uuid;
789
+ billsToCleanup.add(billUuid);
790
+ });
791
+
792
+ await test.step('When I navigate to the invoice page', async () => {
793
+ await invoicePage.goto(patientUuid, billUuid);
794
+ await invoicePage.waitForInvoiceToLoad();
795
+ });
796
+
797
+ await test.step('Then the invoice status should be PENDING', async () => {
798
+ const status = await invoicePage.getInvoiceStatus();
799
+ expect(status).toBe('PENDING');
800
+ });
801
+
802
+ await test.step('And the payment form should not be visible for a PENDING bill', async () => {
803
+ await expect(paymentPage.paymentMethodCombobox()).toBeHidden();
804
+ await expect(paymentPage.amountInput()).toBeHidden();
805
+ await expect(paymentPage.processPaymentButton()).toBeDisabled();
806
+ });
807
+
808
+ await test.step('When I finalize the bill', async () => {
809
+ await invoicePage.finalizeBill();
810
+ await waitForSuccessNotification(page, /bill finalized/i);
811
+ });
812
+
813
+ await test.step('Then the invoice status should be POSTED', async () => {
814
+ await expect.poll(async () => await invoicePage.getInvoiceStatus()).toBe('POSTED');
815
+ });
816
+
817
+ await test.step('And the payment form should now be accessible', async () => {
818
+ await paymentPage.waitForPaymentForm();
819
+ await expect(paymentPage.paymentMethodCombobox()).toBeVisible();
820
+ await expect(paymentPage.amountInput()).toBeVisible();
821
+ });
822
+ });
823
+
738
824
  test('Delete line item from invoice', async ({ page, api, patient }) => {
739
825
  const billingFormPage = new BillingFormPage(page);
740
826
  const invoicePage = new InvoicePage(page);
@@ -746,7 +832,7 @@ test.describe('Billing: Patient Chart workflow', () => {
746
832
  await test.step('Given I have created a bill with a line item', async () => {
747
833
  await page.goto(`patient/${patientUuid}/chart/Billing history`);
748
834
 
749
- const createBillButton = page.getByRole('button', { name: /launch bill form|add bill/i });
835
+ const createBillButton = page.getByRole('button', { name: /launch bill form|add bill|create bill/i });
750
836
  await createBillButton.click();
751
837
 
752
838
  await billingFormPage.searchAndSelectBillableService(testServiceName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-billing-app",
3
- "version": "1.1.1",
3
+ "version": "1.1.2-pre.1",
4
4
  "description": "O3 frontend module for handling billing concerns in healthcare settings",
5
5
  "browser": "dist/openmrs-esm-billing-app.js",
6
6
  "main": "src/index.ts",
@@ -78,7 +78,6 @@
78
78
  "babel-preset-minify": "^0.5.2",
79
79
  "concurrently": "^8.2.2",
80
80
  "cross-env": "^7.0.3",
81
- "css-loader": "^6.9.1",
82
81
  "d3-selection": "^3.0.0",
83
82
  "dayjs": "^1.11.10",
84
83
  "dotenv": "^16.4.1",
@@ -106,17 +105,15 @@
106
105
  "react-router-dom": "^6.21.3",
107
106
  "rxjs": "^6.6.7",
108
107
  "sass": "^1.70.0",
109
- "swc-loader": "^0.2.3",
110
108
  "swr": "^2.2.4",
111
109
  "turbo": "^2.5.2",
112
110
  "typescript": "^5.0.0",
113
- "webpack": "5.99.9",
114
- "webpack-cli": "^6.0.1",
115
111
  "webpack-dev-server": "^5.2.1"
116
112
  },
117
113
  "lint-staged": {
118
114
  "*.{ts,tsx}": "eslint --cache --fix --max-warnings 0",
119
115
  "*.{css,scss,ts,tsx}": "prettier --write --list-different"
120
116
  },
121
- "packageManager": "yarn@4.10.3"
117
+ "packageManager": "yarn@4.10.3",
118
+ "stableVersion": "1.1.1"
122
119
  }
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { Layer, OverflowMenu, OverflowMenuItem } from '@carbon/react';
3
+ import { isDesktop, launchWorkspace2, useLayoutType } from '@openmrs/esm-framework';
4
+ import { useTranslation } from 'react-i18next';
5
+ import type { MappedBill } from '../types';
6
+ import styles from './bill-action-menu.scss';
7
+
8
+ type BillActionMenuProps = {
9
+ bill: MappedBill;
10
+ patientUuid: string;
11
+ onMutate?: () => void;
12
+ };
13
+
14
+ const BillActionMenu: React.FC<BillActionMenuProps> = ({ bill, patientUuid, onMutate }) => {
15
+ const { t } = useTranslation();
16
+ const layout = useLayoutType();
17
+
18
+ return (
19
+ <Layer>
20
+ <OverflowMenu
21
+ align="left"
22
+ flipped
23
+ size={isDesktop(layout) ? 'sm' : 'lg'}
24
+ data-testid={`action-menu-${bill.uuid}`}>
25
+ <OverflowMenuItem
26
+ className={styles.menuItem}
27
+ itemText={t('addItemsToBill', 'Add items to bill')}
28
+ onClick={() =>
29
+ launchWorkspace2('billing-form-workspace', {
30
+ patientUuid,
31
+ billUuid: bill.uuid,
32
+ onMutate,
33
+ })
34
+ }
35
+ />
36
+ </OverflowMenu>
37
+ </Layer>
38
+ );
39
+ };
40
+
41
+ export default BillActionMenu;
@@ -0,0 +1,3 @@
1
+ .menuItem {
2
+ max-width: none;
3
+ }