@awell-health/awell-extensions 1.1.50 → 1.1.51

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testCases = void 0;
4
+ const appliedTagCreated_1 = require("../appliedTagCreated");
5
+ const appliedTagDeleted_1 = require("../appliedTagDeleted");
6
+ const appointmentCreated_1 = require("../appointmentCreated");
7
+ const appointmentDeleted_1 = require("../appointmentDeleted");
8
+ const appointmentUpdated_1 = require("../appointmentUpdated");
9
+ const formAnswerGroupDeleted_1 = require("../formAnswerGroupDeleted");
10
+ const formAnswerGroupCreated_1 = require("../formAnswerGroupCreated");
11
+ const formAnswerGroupLocked_1 = require("../formAnswerGroupLocked");
12
+ const formAnswerGroupSigned_1 = require("../formAnswerGroupSigned");
13
+ const goalCreated_1 = require("../goalCreated");
14
+ const goalUpdated_1 = require("../goalUpdated");
15
+ const labOrderCreated_1 = require("../labOrderCreated");
16
+ const labOrderUpdated_1 = require("../labOrderUpdated");
17
+ const metricEntryCreated_1 = require("../metricEntryCreated");
18
+ const metricEntryUpdated_1 = require("../metricEntryUpdated");
19
+ const requestedFormCompletionCreated_1 = require("../requestedFormCompletionCreated");
20
+ const requestedFormCompletionUpdated_1 = require("../requestedFormCompletionUpdated");
21
+ const taskCreated_1 = require("../taskCreated");
22
+ const taskUpdated_1 = require("../taskUpdated");
23
+ exports.testCases = [
24
+ {
25
+ webhook: appliedTagCreated_1.appliedTagCreated,
26
+ payload: {
27
+ resource_id: 123,
28
+ resource_id_type: 'Tag',
29
+ event_type: 'tag.created',
30
+ },
31
+ sdkMocks: [
32
+ {
33
+ method: 'getAppliedTag',
34
+ response: { data: { appliedTag: { user_id: 'user_123' } } },
35
+ },
36
+ ],
37
+ dataPoints: [{ key: 'createdAppliedTagId', type: 'id' }],
38
+ },
39
+ {
40
+ webhook: appliedTagDeleted_1.appliedTagDeleted,
41
+ payload: {
42
+ resource_id: 123,
43
+ resource_id_type: 'Tag',
44
+ event_type: 'tag.deleted',
45
+ },
46
+ sdkMocks: [
47
+ {
48
+ method: 'getAppliedTag',
49
+ response: { data: { appliedTag: { user_id: 'user_123' } } },
50
+ },
51
+ ],
52
+ dataPoints: [{ key: 'deletedAppliedTagId', type: 'id' }],
53
+ },
54
+ {
55
+ webhook: appointmentCreated_1.appointmentCreated,
56
+ payload: {
57
+ resource_id: 72499,
58
+ resource_id_type: 'Appointment',
59
+ event_type: 'appointment.created',
60
+ },
61
+ sdkMocks: [
62
+ {
63
+ method: 'getAppointment',
64
+ response: { data: { appointment: { user: { id: 'user_125' } } } },
65
+ },
66
+ ],
67
+ dataPoints: [
68
+ { key: 'appointmentId', type: 'id' },
69
+ { key: 'appointment', type: 'json' },
70
+ ],
71
+ },
72
+ {
73
+ webhook: appointmentDeleted_1.appointmentDeleted,
74
+ payload: {
75
+ resource_id: 72499,
76
+ resource_id_type: 'Appointment',
77
+ event_type: 'appointment.deleted',
78
+ },
79
+ sdkMocks: [
80
+ {
81
+ method: 'getAppointment',
82
+ response: { data: { appointment: { user: { id: 'user_125' } } } },
83
+ },
84
+ ],
85
+ dataPoints: [{ key: 'deletedAppointmentId', type: 'id' }],
86
+ },
87
+ {
88
+ webhook: appointmentUpdated_1.appointmentUpdated,
89
+ payload: {
90
+ resource_id: 72499,
91
+ resource_id_type: 'Appointment',
92
+ event_type: 'appointment.updated',
93
+ },
94
+ sdkMocks: [
95
+ {
96
+ method: 'getAppointment',
97
+ response: { data: { appointment: { user: { id: 'user_125' } } } },
98
+ },
99
+ ],
100
+ dataPoints: [
101
+ { key: 'updatedAppointmentId', type: 'id' },
102
+ { key: 'appointment', type: 'json' },
103
+ ],
104
+ },
105
+ {
106
+ webhook: formAnswerGroupCreated_1.formAnswerGroupCreated,
107
+ payload: {
108
+ resource_id: 3457,
109
+ resource_id_type: 'FormAnswerGroup',
110
+ event_type: 'form_answer_group.created',
111
+ },
112
+ sdkMocks: [
113
+ {
114
+ method: 'getFormAnswerGroup',
115
+ response: { data: { formAnswerGroup: { user: { id: 'user_456' } } } },
116
+ },
117
+ ],
118
+ dataPoints: [
119
+ { key: 'createdFormAnswerGroupId', type: 'id' },
120
+ { key: 'createdFormAnswerGroup', type: 'json' },
121
+ ],
122
+ },
123
+ {
124
+ webhook: formAnswerGroupDeleted_1.formAnswerGroupDeleted,
125
+ payload: {
126
+ resource_id: 3456,
127
+ resource_id_type: 'FormAnswerGroup',
128
+ event_type: 'form_answer_group.deleted',
129
+ },
130
+ sdkMocks: [
131
+ {
132
+ method: 'getFormAnswerGroup',
133
+ response: { data: { formAnswerGroup: { user: { id: 'user_456' } } } },
134
+ },
135
+ ],
136
+ dataPoints: [{ key: 'deletedFormAnswerGroupId', type: 'id' }],
137
+ },
138
+ {
139
+ webhook: formAnswerGroupLocked_1.formAnswerGroupLocked,
140
+ payload: {
141
+ resource_id: 3456,
142
+ resource_id_type: 'FormAnswerGroup',
143
+ event_type: 'form_answer_group.locked',
144
+ },
145
+ sdkMocks: [
146
+ {
147
+ method: 'getFormAnswerGroup',
148
+ response: { data: { formAnswerGroup: { user: { id: 'user_456' } } } },
149
+ },
150
+ ],
151
+ dataPoints: [
152
+ { key: 'lockedFormAnswerGroupId', type: 'id' },
153
+ { key: 'lockedFormAnswerGroup', type: 'json' },
154
+ ],
155
+ },
156
+ {
157
+ webhook: formAnswerGroupSigned_1.formAnswerGroupSigned,
158
+ payload: {
159
+ resource_id: 3456,
160
+ resource_id_type: 'FormAnswerGroup',
161
+ event_type: 'form_answer_group.signed',
162
+ },
163
+ sdkMocks: [
164
+ {
165
+ method: 'getFormAnswerGroup',
166
+ response: { data: { formAnswerGroup: { user: { id: 'user_456' } } } },
167
+ },
168
+ ],
169
+ dataPoints: [
170
+ { key: 'signedFormAnswerGroupId', type: 'id' },
171
+ { key: 'signedFormAnswerGroup', type: 'json' },
172
+ ],
173
+ },
174
+ {
175
+ webhook: goalCreated_1.goalCreated,
176
+ payload: {
177
+ resource_id: 456,
178
+ resource_id_type: 'Goal',
179
+ event_type: 'goal.created',
180
+ },
181
+ sdkMocks: [
182
+ { method: 'getGoal', response: { data: { goal: { user_id: '1234' } } } },
183
+ ],
184
+ dataPoints: [{ key: 'createdGoalId', type: 'id' }],
185
+ },
186
+ {
187
+ webhook: goalUpdated_1.goalUpdated,
188
+ payload: {
189
+ resource_id: 456,
190
+ resource_id_type: 'Goal',
191
+ event_type: 'goal.updated',
192
+ },
193
+ sdkMocks: [
194
+ { method: 'getGoal', response: { data: { goal: { user_id: '1234' } } } },
195
+ ],
196
+ dataPoints: [{ key: 'updatedGoalId', type: 'id' }],
197
+ },
198
+ {
199
+ webhook: labOrderCreated_1.labOrderCreated,
200
+ payload: {
201
+ resource_id: 666,
202
+ resource_id_type: 'LabOrder',
203
+ event_type: 'lab_order.created',
204
+ },
205
+ sdkMocks: [
206
+ {
207
+ method: 'getLabOrder',
208
+ response: { data: { labOrder: { patient: { id: '1234' } } } },
209
+ },
210
+ ],
211
+ dataPoints: [{ key: 'createdLabOrderId', type: 'id' }],
212
+ },
213
+ {
214
+ webhook: labOrderUpdated_1.labOrderUpdated,
215
+ payload: {
216
+ resource_id: 666,
217
+ resource_id_type: 'LabOrder',
218
+ event_type: 'lab_order.updated',
219
+ },
220
+ sdkMocks: [
221
+ {
222
+ method: 'getLabOrder',
223
+ response: { data: { labOrder: { patient: { id: '1234' } } } },
224
+ },
225
+ ],
226
+ dataPoints: [{ key: 'updatedLabOrderId', type: 'id' }],
227
+ },
228
+ {
229
+ webhook: metricEntryCreated_1.metricEntryCreated,
230
+ payload: {
231
+ resource_id: 333,
232
+ resource_id_type: 'MetricEntry',
233
+ event_type: 'metric_entry.created',
234
+ },
235
+ sdkMocks: [
236
+ {
237
+ method: 'getMetricEntry',
238
+ response: { data: { entry: { poster: { id: '12345' } } } },
239
+ },
240
+ ],
241
+ dataPoints: [{ key: 'createdMetricId', type: 'id' }],
242
+ },
243
+ {
244
+ webhook: metricEntryUpdated_1.metricEntryUpdated,
245
+ payload: {
246
+ resource_id: 333,
247
+ resource_id_type: 'MetricEntry',
248
+ event_type: 'metric_entry.updated',
249
+ },
250
+ sdkMocks: [
251
+ {
252
+ method: 'getMetricEntry',
253
+ response: { data: { entry: { poster: { id: '12345' } } } },
254
+ },
255
+ ],
256
+ dataPoints: [{ key: 'updatedMetricId', type: 'id' }],
257
+ },
258
+ {
259
+ webhook: requestedFormCompletionCreated_1.requestFormCompletionCreated,
260
+ payload: {
261
+ resource_id: 888,
262
+ resource_id_type: 'requestFormCompletion',
263
+ event_type: 'request_form_completion.created',
264
+ },
265
+ sdkMocks: [
266
+ {
267
+ method: 'getRequestedFormCompletion',
268
+ response: {
269
+ data: { requestedFormCompletion: { recipient_id: '12345' } },
270
+ },
271
+ },
272
+ ],
273
+ dataPoints: [{ key: 'createdFormCompletionId', type: 'id' }],
274
+ },
275
+ {
276
+ webhook: requestedFormCompletionUpdated_1.requestFormCompletionUpdated,
277
+ payload: {
278
+ resource_id: 888,
279
+ resource_id_type: 'requestFormCompletion',
280
+ event_type: 'request_form_completion.updated',
281
+ },
282
+ sdkMocks: [
283
+ {
284
+ method: 'getRequestedFormCompletion',
285
+ response: {
286
+ data: { requestedFormCompletion: { recipient_id: '12345' } },
287
+ },
288
+ },
289
+ ],
290
+ dataPoints: [{ key: 'updatedFormCompletionId', type: 'id' }],
291
+ },
292
+ {
293
+ webhook: taskCreated_1.taskCreated,
294
+ payload: {
295
+ resource_id: 1112,
296
+ resource_id_type: 'task',
297
+ event_type: 'task.created',
298
+ },
299
+ sdkMocks: [
300
+ {
301
+ method: 'getTask',
302
+ response: { data: { task: { client_id: '12345' } } },
303
+ },
304
+ ],
305
+ dataPoints: [{ key: 'createdTaskId', type: 'id' }],
306
+ },
307
+ {
308
+ webhook: taskUpdated_1.taskUpdated,
309
+ payload: {
310
+ resource_id: 1112,
311
+ resource_id_type: 'task',
312
+ event_type: 'task.updated',
313
+ },
314
+ sdkMocks: [
315
+ {
316
+ method: 'getTask',
317
+ response: { data: { task: { client_id: '12345' } } },
318
+ },
319
+ ],
320
+ dataPoints: [{ key: 'updatedTaskId', type: 'id' }],
321
+ },
322
+ ];
323
+ //# sourceMappingURL=testCases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testCases.js","sourceRoot":"","sources":["../../../../../extensions/healthie/webhooks/tests/testCases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ export interface dataPoint {
2
+ key: string;
3
+ type: string;
4
+ }
5
+ export interface getDataFromResponseReturn {
6
+ user_id: string;
7
+ data_points: Record<string, string>;
8
+ }
9
+ export interface getAppointmentResponse {
10
+ data: {
11
+ appointment: {
12
+ user: {
13
+ id: string;
14
+ };
15
+ };
16
+ };
17
+ }
18
+ export interface getGoalResponse {
19
+ data: {
20
+ goal: {
21
+ user_id: string;
22
+ };
23
+ };
24
+ }
25
+ export interface getAppliedTagResponse {
26
+ data: {
27
+ appliedTag: {
28
+ user_id: string;
29
+ };
30
+ };
31
+ }
32
+ export interface getFormAnswerGroupResponse {
33
+ data: {
34
+ formAnswerGroup: {
35
+ user: {
36
+ id: string;
37
+ };
38
+ };
39
+ };
40
+ }
41
+ export interface getLabOrderResponse {
42
+ data: {
43
+ labOrder: {
44
+ patient: {
45
+ id: string;
46
+ };
47
+ };
48
+ };
49
+ }
50
+ export interface getMetricEntryResponse {
51
+ data: {
52
+ entry: {
53
+ poster: {
54
+ id: string;
55
+ };
56
+ };
57
+ };
58
+ }
59
+ export interface getRequestedFormCompletionResponse {
60
+ data: {
61
+ requestedFormCompletion: {
62
+ recipient_id: string;
63
+ };
64
+ };
65
+ }
66
+ export interface getTaskResponse {
67
+ data: {
68
+ task: {
69
+ client_id: string;
70
+ };
71
+ };
72
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../extensions/healthie/webhooks/tests/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const sdk_1 = require("../lib/sdk/generated/sdk");
4
+ const types_1 = require("../lib/types");
5
+ const errors_1 = require("../lib/sdk/errors");
6
+ const testCases_1 = require("./tests/testCases");
7
+ const helpers_1 = require("./tests/helpers");
8
+ jest.mock('../lib/sdk/generated/sdk');
9
+ jest.mock('../lib/sdk/graphqlClient');
10
+ testCases_1.testCases.forEach(({ webhook, payload, sdkMocks, dataPoints }) => {
11
+ describe(webhook.key, () => {
12
+ beforeAll(() => {
13
+ ;
14
+ sdk_1.getSdk.mockImplementation(() => ({
15
+ [sdkMocks[0].method]: jest.fn().mockResolvedValue(sdkMocks[0].response),
16
+ }));
17
+ });
18
+ beforeEach(() => {
19
+ jest.clearAllMocks();
20
+ // date object is irrelevant for this test
21
+ // and occassianlly it fails by fractional second hence mocking it
22
+ jest.useFakeTimers();
23
+ jest.setSystemTime(new Date('2024-08-10T14:12:39.554Z'));
24
+ });
25
+ it('should handle success', async () => {
26
+ const onSuccess = jest.fn();
27
+ const onError = jest.fn();
28
+ await webhook.onWebhookReceived({
29
+ payload,
30
+ settings: {
31
+ apiUrl: 'https://api.healthieapp.com/graphql',
32
+ apiKey: 'apiKey',
33
+ },
34
+ rawBody: Buffer.from(''),
35
+ headers: {},
36
+ }, onSuccess, onError);
37
+ const { user_id, data_points } = (0, helpers_1.processWebhook)(sdkMocks, dataPoints, payload.resource_id.toString());
38
+ expect(onSuccess).toHaveBeenCalledWith({
39
+ data_points,
40
+ patient_identifier: {
41
+ system: types_1.HEALTHIE_IDENTIFIER,
42
+ value: user_id,
43
+ },
44
+ });
45
+ });
46
+ it('should handle error', async () => {
47
+ const onSuccess = jest.fn();
48
+ const onError = jest.fn();
49
+ const error = new Error('Test Error');
50
+ sdk_1.getSdk.mockImplementation(() => ({
51
+ [sdkMocks[0].method]: jest.fn().mockRejectedValue(error),
52
+ }));
53
+ await webhook.onWebhookReceived({
54
+ payload,
55
+ settings: {
56
+ apiUrl: 'https://api.healthieapp.com/graphql',
57
+ apiKey: 'apiKey',
58
+ },
59
+ rawBody: Buffer.from(''),
60
+ headers: {},
61
+ }, onSuccess, onError);
62
+ expect(onError).toHaveBeenCalledWith((0, errors_1.formatError)(error));
63
+ });
64
+ });
65
+ });
66
+ //# sourceMappingURL=webhooks.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.test.js","sourceRoot":"","sources":["../../../../extensions/healthie/webhooks/webhooks.test.ts"],"names":[],"mappings":";;AAAA,kDAAiD;AACjD,wCAAkD;AAClD,8CAA+C;AAC/C,iDAA6C;AAC7C,6CAAgD;AAEhD,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;AACrC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;AAErC,qBAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/D,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE;QACzB,SAAS,CAAC,GAAG,EAAE;YACb,CAAC;YAAC,YAAoB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/C,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACxE,CAAC,CAAC,CAAA;QACL,CAAC,CAAC,CAAA;QAEF,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,0CAA0C;YAC1C,kEAAkE;YAClE,IAAI,CAAC,aAAa,EAAE,CAAA;YACpB,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAEzB,MAAM,OAAO,CAAC,iBAAiB,CAC7B;gBACE,OAAO;gBACP,QAAQ,EAAE;oBACR,MAAM,EAAE,qCAAqC;oBAC7C,MAAM,EAAE,QAAQ;iBACjB;gBACD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,EAAE;aACZ,EACD,SAAS,EACT,OAAO,CACR,CAAA;YAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAA,wBAAc,EAC7C,QAAQ,EACR,UAAU,EACV,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAC/B,CAAA;YAED,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC;gBACrC,WAAW;gBACX,kBAAkB,EAAE;oBAClB,MAAM,EAAE,2BAAmB;oBAC3B,KAAK,EAAE,OAAO;iBACf;aACF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;YACnC,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YAEzB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAEpC;YAAC,YAAoB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/C,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;aACzD,CAAC,CAAC,CAAA;YAEH,MAAM,OAAO,CAAC,iBAAiB,CAC7B;gBACE,OAAO;gBACP,QAAQ,EAAE;oBACR,MAAM,EAAE,qCAAqC;oBAC7C,MAAM,EAAE,QAAQ;iBACjB;gBACD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,EAAE;aACZ,EACD,SAAS,EACT,OAAO,CACR,CAAA;YAED,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "1.1.50",
3
+ "version": "1.1.51",
4
4
  "packageManager": "yarn@3.4.1",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const sdk_1 = require("../lib/sdk/generated/sdk");
4
- const sdk_2 = require("../lib/sdk/generated/__mocks__/sdk");
5
- const appointmentCreated_1 = require("./appointmentCreated");
6
- jest.mock('../lib/sdk/generated/sdk');
7
- jest.mock('../lib/sdk/graphqlClient');
8
- describe('appointmentCreated Webhook', () => {
9
- const onComplete = jest.fn();
10
- const mockOnSuccess = jest.fn();
11
- beforeAll(() => {
12
- ;
13
- sdk_1.getSdk.mockImplementation(sdk_2.mockGetSdk);
14
- });
15
- beforeEach(() => {
16
- jest.clearAllMocks();
17
- });
18
- test('Receive a webhook', async () => {
19
- await appointmentCreated_1.appointmentCreated.onWebhookReceived({
20
- payload: {
21
- resource_id: 72499,
22
- resource_id_type: 'Appointment',
23
- event_type: 'appointment.created',
24
- },
25
- settings: {
26
- apiUrl: 'https://api.healthieapp.com/graphql',
27
- apiKey: 'apiKey',
28
- },
29
- rawBody: Buffer.from(''),
30
- headers: {},
31
- }, onComplete, jest.fn());
32
- expect(sdk_2.mockGetSdkReturn.getAppointment).toHaveBeenCalled();
33
- expect(onComplete).toHaveBeenCalled();
34
- });
35
- test('Process a webhook success', async () => {
36
- await appointmentCreated_1.appointmentCreated.onWebhookReceived({
37
- payload: {
38
- resource_id: 72499,
39
- resource_id_type: 'Appointment',
40
- event_type: 'appointment.created',
41
- },
42
- settings: {
43
- apiUrl: 'https://api.healthieapp.com/graphql',
44
- apiKey: 'apiKey',
45
- },
46
- rawBody: Buffer.from(''),
47
- headers: {},
48
- }, mockOnSuccess, jest.fn());
49
- expect(mockOnSuccess).toHaveBeenCalledWith(expect.objectContaining({
50
- data_points: {
51
- appointmentId: '72499',
52
- appointment: "{\"id\":\"appointment-1\",\"user\":{\"id\":\"2345\"}}",
53
- },
54
- patient_identifier: {
55
- system: 'https://www.gethealthie.com/',
56
- value: '2345',
57
- },
58
- }));
59
- });
60
- });
61
- //# sourceMappingURL=appointmentCreated.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appointmentCreated.test.js","sourceRoot":"","sources":["../../../../extensions/healthie/webhooks/appointmentCreated.test.ts"],"names":[],"mappings":";;AAAA,kDAAiD;AACjD,4DAG2C;AAC3C,6DAAyD;AAEzD,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;AACrC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;AAErC,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAGhC,SAAS,CAAC,GAAG,EAAE;QACb,CAAC;QAAC,YAAoB,CAAC,kBAAkB,CAAC,gBAAU,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,uCAAkB,CAAC,iBAAiB,CACxC;YACE,OAAO,EAAE;gBACP,WAAW,EAAE,KAAK;gBAClB,gBAAgB,EAAE,aAAa;gBAC/B,UAAU,EAAE,qBAAqB;aAClC;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,qCAAqC;gBAC7C,MAAM,EAAE,QAAQ;aACjB;YACD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,EAAE;SACZ,EACD,UAAU,EACV,IAAI,CAAC,EAAE,EAAE,CACV,CAAA;QAED,MAAM,CAAC,sBAAgB,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAA;QAC1D,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,uCAAkB,CAAC,iBAAiB,CACxC;YACE,OAAO,EAAE;gBACP,WAAW,EAAE,KAAK;gBAClB,gBAAgB,EAAE,aAAa;gBAC/B,UAAU,EAAE,qBAAqB;aAClC;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,qCAAqC;gBAC7C,MAAM,EAAE,QAAQ;aACjB;YACD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,EAAE;SACZ,EACD,aAAa,EACb,IAAI,CAAC,EAAE,EAAE,CACV,CAAA;QAED,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACjE,WAAW,EAAE;gBACX,aAAa,EAAE,OAAO;gBACtB,WAAW,EAAE,uDAAuD;aACrE;YACD,kBAAkB,EAAE;gBAClB,MAAM,EAAE,8BAA8B;gBACtC,KAAK,EAAE,MAAM;aACd;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAA;AAEJ,CAAC,CAAC,CAAA"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const sdk_1 = require("../lib/sdk/generated/sdk");
4
- const sdk_2 = require("../lib/sdk/generated/__mocks__/sdk");
5
- const goalCreated_1 = require("./goalCreated");
6
- jest.mock('../lib/sdk/generated/sdk');
7
- jest.mock('../lib/sdk/graphqlClient');
8
- describe('GoalCreated Webhook', () => {
9
- const onComplete = jest.fn();
10
- beforeAll(() => {
11
- ;
12
- sdk_1.getSdk.mockImplementation(sdk_2.mockGetSdk);
13
- });
14
- beforeEach(() => {
15
- jest.clearAllMocks();
16
- });
17
- test('Receive a webhook', async () => {
18
- await goalCreated_1.goalCreated.onWebhookReceived({
19
- payload: {
20
- resource_id: 72499,
21
- resource_id_type: 'Goal',
22
- event_type: 'goal.created',
23
- },
24
- settings: {
25
- apiUrl: 'https://api.healthieapp.com/graphql',
26
- apiKey: 'apiKey',
27
- },
28
- rawBody: Buffer.from(''),
29
- headers: {},
30
- }, onComplete, jest.fn());
31
- expect(sdk_2.mockGetSdkReturn.getGoal).toHaveBeenCalled();
32
- expect(onComplete).toHaveBeenCalled();
33
- });
34
- });
35
- //# sourceMappingURL=goalCreated.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"goalCreated.test.js","sourceRoot":"","sources":["../../../../extensions/healthie/webhooks/goalCreated.test.ts"],"names":[],"mappings":";;AAAA,kDAAiD;AACjD,4DAG2C;AAC3C,+CAA2C;AAE3C,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;AACrC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;AAErC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,CAAC;QAAC,YAAoB,CAAC,kBAAkB,CAAC,gBAAU,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,yBAAW,CAAC,iBAAiB,CACjC;YACE,OAAO,EAAE;gBACP,WAAW,EAAE,KAAK;gBAClB,gBAAgB,EAAE,MAAM;gBACxB,UAAU,EAAE,cAAc;aAC3B;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,qCAAqC;gBAC7C,MAAM,EAAE,QAAQ;aACjB;YACD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,EAAE;SACZ,EACD,UAAU,EACV,IAAI,CAAC,EAAE,EAAE,CACV,CAAA;QAED,MAAM,CAAC,sBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAA;QACnD,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}