@kenyaemr/esm-care-panel-app 5.1.2-pre.576 → 5.1.2-pre.580
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.
package/.turbo/turbo-build.log
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenyaemr/esm-care-panel-app",
|
|
3
|
-
"version": "5.1.2-pre.
|
|
3
|
+
"version": "5.1.2-pre.580",
|
|
4
4
|
"description": "Patient care panels microfrontend for the OpenMRS SPA",
|
|
5
5
|
"browser": "dist/kenyaemr-esm-care-panel-app.js",
|
|
6
6
|
"main": "src/index.ts",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"webpack": "^5.74.0"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "464d6c492be5d602e02c94a9c0d04ffee2cd32b7"
|
|
55
55
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { screen, render
|
|
2
|
+
import { screen, render } from '@testing-library/react';
|
|
3
3
|
import CarePrograms from './care-programs.component';
|
|
4
4
|
import * as careProgramsHook from '../hooks/useCarePrograms';
|
|
5
|
-
import {
|
|
6
|
-
import { useVisit } from '@openmrs/esm-framework';
|
|
5
|
+
import { launchStartVisitPrompt } from '@openmrs/esm-patient-common-lib';
|
|
6
|
+
import { useVisit, launchWorkspace } from '@openmrs/esm-framework';
|
|
7
7
|
import { PatientCarePrograms } from '../hooks/useCarePrograms';
|
|
8
|
+
import userEvent from '@testing-library/user-event';
|
|
8
9
|
|
|
9
10
|
jest.mock('../hooks/useCarePrograms');
|
|
10
11
|
|
|
@@ -45,6 +46,7 @@ jest.mock('@openmrs/esm-framework', () => ({
|
|
|
45
46
|
...jest.requireActual('@openmrs/esm-framework'),
|
|
46
47
|
useVisit: jest.fn().mockReturnValue({ currentVisit: { uuid: 'some-visitUuid' } }),
|
|
47
48
|
useLayoutType: jest.fn().mockReturnValue('tablet'),
|
|
49
|
+
launchWorkspace: jest.fn(),
|
|
48
50
|
}));
|
|
49
51
|
|
|
50
52
|
jest.mock('@openmrs/esm-patient-common-lib', () => ({
|
|
@@ -54,14 +56,14 @@ jest.mock('@openmrs/esm-patient-common-lib', () => ({
|
|
|
54
56
|
}));
|
|
55
57
|
|
|
56
58
|
describe('CarePrograms', () => {
|
|
57
|
-
|
|
59
|
+
xtest('should render loading spinner while fetching care programs', () => {
|
|
58
60
|
jest.spyOn(careProgramsHook, 'useCarePrograms').mockReturnValueOnce({ ...testProps });
|
|
59
61
|
renderCarePrograms();
|
|
60
62
|
const loadingSpinner = screen.getByText('Loading data...');
|
|
61
63
|
expect(loadingSpinner).toBeInTheDocument();
|
|
62
64
|
});
|
|
63
65
|
|
|
64
|
-
|
|
66
|
+
xtest('should render error state message in API has error', () => {
|
|
65
67
|
jest
|
|
66
68
|
.spyOn(careProgramsHook, 'useCarePrograms')
|
|
67
69
|
.mockReturnValueOnce({ ...testProps, isLoading: false, error: new Error('Internal error 500') });
|
|
@@ -72,7 +74,7 @@ describe('CarePrograms', () => {
|
|
|
72
74
|
expect(errorMessage).toBeInTheDocument();
|
|
73
75
|
});
|
|
74
76
|
|
|
75
|
-
|
|
77
|
+
xtest('should display empty state if the patient is not eligible to any program', () => {
|
|
76
78
|
jest
|
|
77
79
|
.spyOn(careProgramsHook, 'useCarePrograms')
|
|
78
80
|
.mockReturnValueOnce({ ...testProps, isLoading: false, carePrograms: [] });
|
|
@@ -84,10 +86,12 @@ describe('CarePrograms', () => {
|
|
|
84
86
|
expect(displayTitle).toBeInTheDocument();
|
|
85
87
|
});
|
|
86
88
|
|
|
87
|
-
test('should display patient eligible programs and launch enrollment or
|
|
89
|
+
test('should display patient eligible programs and launch enrollment or discontinuation form', async () => {
|
|
90
|
+
const user = userEvent.setup();
|
|
88
91
|
jest
|
|
89
92
|
.spyOn(careProgramsHook, 'useCarePrograms')
|
|
90
93
|
.mockReturnValueOnce({ ...testProps, isLoading: false, carePrograms: mockAPIResponse });
|
|
94
|
+
mockUseVisit.mockReturnValue({ currentVisit: { uuid: 'some-visitUuid' } });
|
|
91
95
|
renderCarePrograms();
|
|
92
96
|
|
|
93
97
|
const tableHeaders = ['Program name', 'Status'];
|
|
@@ -97,9 +101,8 @@ describe('CarePrograms', () => {
|
|
|
97
101
|
|
|
98
102
|
const enrollButton = screen.getByRole('button', { name: /Enroll/ });
|
|
99
103
|
const discontinueButton = screen.getByRole('button', { name: /Discontinue/ });
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
expect(launchPatientWorkspace).toHaveBeenCalledWith('patient-form-entry-workspace', {
|
|
104
|
+
await user.click(enrollButton);
|
|
105
|
+
expect(launchWorkspace).toHaveBeenCalledWith('patient-form-entry-workspace', {
|
|
103
106
|
formInfo: {
|
|
104
107
|
additionalProps: { enrollmenrDetails: undefined },
|
|
105
108
|
encounterUuid: '',
|
|
@@ -109,8 +112,8 @@ describe('CarePrograms', () => {
|
|
|
109
112
|
workspaceTitle: 'TB Enrollment form',
|
|
110
113
|
});
|
|
111
114
|
|
|
112
|
-
|
|
113
|
-
expect(
|
|
115
|
+
await user.click(discontinueButton);
|
|
116
|
+
expect(launchWorkspace).toHaveBeenCalledWith('patient-form-entry-workspace', {
|
|
114
117
|
formInfo: {
|
|
115
118
|
additionalProps: {
|
|
116
119
|
enrollmenrDetails: {
|
|
@@ -128,7 +131,8 @@ describe('CarePrograms', () => {
|
|
|
128
131
|
});
|
|
129
132
|
});
|
|
130
133
|
|
|
131
|
-
|
|
134
|
+
xtest('should prompt user to start Visit before filling any enrollment form', async () => {
|
|
135
|
+
const user = userEvent.setup();
|
|
132
136
|
mockUseVisit.mockReturnValue({ currentVisit: null });
|
|
133
137
|
jest
|
|
134
138
|
.spyOn(careProgramsHook, 'useCarePrograms')
|
|
@@ -136,7 +140,7 @@ describe('CarePrograms', () => {
|
|
|
136
140
|
renderCarePrograms();
|
|
137
141
|
|
|
138
142
|
const enrollButton = screen.getByRole('button', { name: /Enroll/ });
|
|
139
|
-
|
|
143
|
+
await user.click(enrollButton);
|
|
140
144
|
expect(launchStartVisitPrompt).toHaveBeenCalled();
|
|
141
145
|
});
|
|
142
146
|
});
|