@awell-health/awell-extensions 1.1.67 → 1.1.68
Sign up to get free protection for your applications and to get access to all the features.
@@ -5,6 +5,7 @@ const extensions_core_1 = require("@awell-health/extensions-core");
|
|
5
5
|
const config_1 = require("./config");
|
6
6
|
const zod_1 = require("zod");
|
7
7
|
const errors_1 = require("../../lib/errors");
|
8
|
+
const lodash_1 = require("lodash");
|
8
9
|
exports.post = {
|
9
10
|
key: 'post',
|
10
11
|
title: 'POST request',
|
@@ -35,12 +36,14 @@ exports.post = {
|
|
35
36
|
});
|
36
37
|
if (response.ok) {
|
37
38
|
const getResponseBody = async (response) => {
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
return
|
39
|
+
const res = await response.text();
|
40
|
+
try {
|
41
|
+
const jsonRes = JSON.parse(res);
|
42
|
+
return jsonRes;
|
43
|
+
}
|
44
|
+
catch (e) {
|
45
|
+
return (0, lodash_1.isEmpty)(res) ? 'No content' : res;
|
42
46
|
}
|
43
|
-
return await response.text();
|
44
47
|
};
|
45
48
|
const responseBody = await getResponseBody(response);
|
46
49
|
const statusCode = response.status;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../extensions/rest/actions/post/post.ts"],"names":[],"mappings":";;;AACA,mEAAkE;AAElE,qCAAqE;AACrE,6BAAuB;AACvB,6CAA6C;
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../../../extensions/rest/actions/post/post.ts"],"names":[],"mappings":"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"}
|
@@ -12,7 +12,7 @@ describe('REST - POST', () => {
|
|
12
12
|
afterEach(() => {
|
13
13
|
jest.restoreAllMocks();
|
14
14
|
});
|
15
|
-
test('Should work', async () => {
|
15
|
+
test('Should work with JSON response', async () => {
|
16
16
|
;
|
17
17
|
global.fetch.mockResolvedValue({
|
18
18
|
status: 200,
|
@@ -21,10 +21,10 @@ describe('REST - POST', () => {
|
|
21
21
|
headers: new Headers({
|
22
22
|
'Content-Type': 'application/json',
|
23
23
|
}),
|
24
|
-
|
24
|
+
text: jest.fn().mockResolvedValue(JSON.stringify({
|
25
25
|
success: true,
|
26
26
|
message: 'Data received successfully',
|
27
|
-
}),
|
27
|
+
})),
|
28
28
|
});
|
29
29
|
const jsonPayload = {
|
30
30
|
'key-1': 'value',
|
@@ -62,6 +62,53 @@ describe('REST - POST', () => {
|
|
62
62
|
},
|
63
63
|
});
|
64
64
|
});
|
65
|
+
test('Should work with non)JSON response', async () => {
|
66
|
+
;
|
67
|
+
global.fetch.mockResolvedValue({
|
68
|
+
status: 200,
|
69
|
+
statusText: 'Ok',
|
70
|
+
ok: true,
|
71
|
+
headers: new Headers({
|
72
|
+
'Content-Type': 'application/json',
|
73
|
+
}),
|
74
|
+
text: jest.fn().mockResolvedValue(undefined),
|
75
|
+
});
|
76
|
+
const jsonPayload = {
|
77
|
+
'key-1': 'value',
|
78
|
+
};
|
79
|
+
const additionalPayload = {
|
80
|
+
'key-2': 'value',
|
81
|
+
};
|
82
|
+
const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
|
83
|
+
fields: {
|
84
|
+
endpoint: 'https://webhook.site/bb853fec-9260-44e5-a944-17894d678a7f',
|
85
|
+
headers: JSON.stringify({
|
86
|
+
Authorization: 'Bearer key',
|
87
|
+
}),
|
88
|
+
jsonPayload: JSON.stringify(jsonPayload),
|
89
|
+
additionalPayload: JSON.stringify(additionalPayload),
|
90
|
+
},
|
91
|
+
settings: {},
|
92
|
+
});
|
93
|
+
await _1.post.onActivityCreated(mockOnActivityCreateParams, onComplete, onError);
|
94
|
+
expect(global.fetch).toHaveBeenCalledWith('https://webhook.site/bb853fec-9260-44e5-a944-17894d678a7f', expect.objectContaining({
|
95
|
+
method: 'POST',
|
96
|
+
headers: {
|
97
|
+
Authorization: 'Bearer key',
|
98
|
+
'Content-Type': 'application/json',
|
99
|
+
},
|
100
|
+
body: JSON.stringify({
|
101
|
+
...jsonPayload,
|
102
|
+
...additionalPayload,
|
103
|
+
}),
|
104
|
+
}));
|
105
|
+
expect(onComplete).toHaveBeenCalledWith({
|
106
|
+
data_points: {
|
107
|
+
response: 'No content',
|
108
|
+
statusCode: '200',
|
109
|
+
},
|
110
|
+
});
|
111
|
+
});
|
65
112
|
test('Should catch errors', async () => {
|
66
113
|
;
|
67
114
|
global.fetch.mockResolvedValue({
|
@@ -71,9 +118,9 @@ describe('REST - POST', () => {
|
|
71
118
|
headers: new Headers({
|
72
119
|
'Content-Type': 'application/json',
|
73
120
|
}),
|
74
|
-
|
121
|
+
text: jest.fn().mockResolvedValue(JSON.stringify({
|
75
122
|
message: 'Not found',
|
76
|
-
}),
|
123
|
+
})),
|
77
124
|
});
|
78
125
|
const mockOnActivityCreateParams = (0, tests_1.generateTestPayload)({
|
79
126
|
fields: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"post.test.js","sourceRoot":"","sources":["../../../../../extensions/rest/actions/post/post.test.ts"],"names":[],"mappings":";;AAAA,wBAAwB;AACxB,iDAA2D;AAE3D,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;IAEzB,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,
|
1
|
+
{"version":3,"file":"post.test.js","sourceRoot":"","sources":["../../../../../extensions/rest/actions/post/post.test.ts"],"names":[],"mappings":"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"}
|