@furystack/rest-service 6.2.1 → 6.2.2
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/dist/actions/error-action.js +5 -5
- package/dist/actions/error-action.js.map +1 -1
- package/dist/actions/error-action.spec.js +0 -3
- package/dist/actions/error-action.spec.js.map +1 -1
- package/dist/endpoint-generators/create-delete-endpoint.spec.js +4 -7
- package/dist/endpoint-generators/create-delete-endpoint.spec.js.map +1 -1
- package/dist/endpoint-generators/create-get-collection-endpoint.spec.js +15 -14
- package/dist/endpoint-generators/create-get-collection-endpoint.spec.js.map +1 -1
- package/dist/endpoint-generators/create-get-entity-endpoint.spec.js +12 -18
- package/dist/endpoint-generators/create-get-entity-endpoint.spec.js.map +1 -1
- package/dist/endpoint-generators/create-patch-endpoint.spec.js +4 -7
- package/dist/endpoint-generators/create-patch-endpoint.spec.js.map +1 -1
- package/dist/endpoint-generators/create-post-endpoint.spec.js +4 -7
- package/dist/endpoint-generators/create-post-endpoint.spec.js.map +1 -1
- package/dist/rest-service.integration.spec.js +34 -24
- package/dist/rest-service.integration.spec.js.map +1 -1
- package/dist/rest.integration.test.js +11 -11
- package/dist/rest.integration.test.js.map +1 -1
- package/dist/static-server-manager.spec.js +32 -62
- package/dist/static-server-manager.spec.js.map +1 -1
- package/dist/validate.integration.spec.js +32 -37
- package/dist/validate.integration.spec.js.map +1 -1
- package/package.json +11 -12
- package/src/actions/error-action.spec.ts +0 -3
- package/src/actions/error-action.ts +6 -6
- package/src/endpoint-generators/create-delete-endpoint.spec.ts +4 -4
- package/src/endpoint-generators/create-get-collection-endpoint.spec.ts +17 -11
- package/src/endpoint-generators/create-get-entity-endpoint.spec.ts +12 -16
- package/src/endpoint-generators/create-patch-endpoint.spec.ts +4 -4
- package/src/endpoint-generators/create-post-endpoint.spec.ts +4 -4
- package/src/rest-service.integration.spec.ts +36 -29
- package/src/rest.integration.test.ts +10 -10
- package/src/static-server-manager.spec.ts +32 -39
- package/src/validate.integration.spec.ts +31 -36
- package/types/actions/error-action.d.ts +0 -2
- package/types/actions/error-action.d.ts.map +1 -1
- package/types/validate.integration.spec.d.ts.map +1 -1
|
@@ -9,19 +9,19 @@ const schema_validator_1 = require("../schema-validator");
|
|
|
9
9
|
* Action for unhandled (500) errors
|
|
10
10
|
* Returns a serialized error instance in JSON format.
|
|
11
11
|
*/
|
|
12
|
-
const ErrorAction = async ({ getBody
|
|
12
|
+
const ErrorAction = async ({ getBody }) => {
|
|
13
13
|
const body = await getBody();
|
|
14
14
|
if (body instanceof schema_validator_1.SchemaValidationError) {
|
|
15
|
-
return (0, request_action_implementation_1.JsonResult)({ message: body.message,
|
|
15
|
+
return (0, request_action_implementation_1.JsonResult)({ message: body.message, errors: body.errors }, 400);
|
|
16
16
|
}
|
|
17
17
|
if (body instanceof rest_1.RequestError) {
|
|
18
|
-
return (0, request_action_implementation_1.JsonResult)({ message: body.message
|
|
18
|
+
return (0, request_action_implementation_1.JsonResult)({ message: body.message }, body.responseCode);
|
|
19
19
|
}
|
|
20
20
|
if (body instanceof core_1.AuthorizationError) {
|
|
21
|
-
return (0, request_action_implementation_1.JsonResult)({ message: body.message
|
|
21
|
+
return (0, request_action_implementation_1.JsonResult)({ message: body.message }, 403);
|
|
22
22
|
}
|
|
23
23
|
if (body instanceof Error) {
|
|
24
|
-
return (0, request_action_implementation_1.JsonResult)({ message: body.message
|
|
24
|
+
return (0, request_action_implementation_1.JsonResult)({ message: body.message }, 500);
|
|
25
25
|
}
|
|
26
26
|
return (0, request_action_implementation_1.JsonResult)({ message: 'An unexpected error happened' }, 500);
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-action.js","sourceRoot":"","sources":["../../src/actions/error-action.ts"],"names":[],"mappings":";;;AAAA,0CAA8C;AAC9C,0CAAoD;AAEpD,oFAA6D;AAC7D,0DAA2D;AAE3D;;;GAGG;AAEI,MAAM,WAAW,GAGnB,KAAK,EAAE,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"error-action.js","sourceRoot":"","sources":["../../src/actions/error-action.ts"],"names":[],"mappings":";;;AAAA,0CAA8C;AAC9C,0CAAoD;AAEpD,oFAA6D;AAC7D,0DAA2D;AAE3D;;;GAGG;AAEI,MAAM,WAAW,GAGnB,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACzB,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAA;IAE5B,IAAI,IAAI,YAAY,wCAAqB,EAAE;QACzC,OAAO,IAAA,0CAAU,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,CAAA;KACvE;IAED,IAAI,IAAI,YAAY,mBAAY,EAAE;QAChC,OAAO,IAAA,0CAAU,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;KAChE;IAED,IAAI,IAAI,YAAY,yBAAkB,EAAE;QACtC,OAAO,IAAA,0CAAU,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAA;KAClD;IAED,IAAI,IAAI,YAAY,KAAK,EAAE;QACzB,OAAO,IAAA,0CAAU,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAA;KAClD;IAED,OAAO,IAAA,0CAAU,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,EAAE,GAAG,CAAC,CAAA;AACrE,CAAC,CAAA;AAvBY,QAAA,WAAW,eAuBvB"}
|
|
@@ -18,7 +18,6 @@ describe('ErrorAction tests', () => {
|
|
|
18
18
|
});
|
|
19
19
|
expect(result.statusCode).toBe(500);
|
|
20
20
|
expect(result.chunk.message).toBe('Something went wrong');
|
|
21
|
-
expect(result.chunk.url).toBe('https://google.com');
|
|
22
21
|
});
|
|
23
22
|
});
|
|
24
23
|
it('returns the error code from request errors', async () => {
|
|
@@ -31,7 +30,6 @@ describe('ErrorAction tests', () => {
|
|
|
31
30
|
});
|
|
32
31
|
expect(result.statusCode).toBe(401);
|
|
33
32
|
expect(result.chunk.message).toBe('Something went wrong');
|
|
34
|
-
expect(result.chunk.url).toBe('https://google.com');
|
|
35
33
|
});
|
|
36
34
|
});
|
|
37
35
|
it('returns the 403 for authorization errors', async () => {
|
|
@@ -44,7 +42,6 @@ describe('ErrorAction tests', () => {
|
|
|
44
42
|
});
|
|
45
43
|
expect(result.statusCode).toBe(403);
|
|
46
44
|
expect(result.chunk.message).toBe('Something went wrong');
|
|
47
|
-
expect(result.chunk.url).toBe('https://google.com');
|
|
48
45
|
});
|
|
49
46
|
});
|
|
50
47
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-action.spec.js","sourceRoot":"","sources":["../../src/actions/error-action.spec.ts"],"names":[],"mappings":";;AAAA,8CAA4C;AAC5C,4CAA6C;AAC7C,iDAA4C;AAE5C,0CAA8C;AAC9C,0CAAoD;AAGpD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAqB,CAAA;IAChE,MAAM,QAAQ,GAAG,EAAoB,CAAA;IAErC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC;gBACtD,OAAO;gBACP,QAAQ;aACT,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"error-action.spec.js","sourceRoot":"","sources":["../../src/actions/error-action.spec.ts"],"names":[],"mappings":";;AAAA,8CAA4C;AAC5C,4CAA6C;AAC7C,iDAA4C;AAE5C,0CAA8C;AAC9C,0CAAoD;AAGpD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,oBAAoB,EAAqB,CAAA;IAChE,MAAM,QAAQ,GAAG,EAAoB,CAAA;IAErC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC;gBAC/B,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC;gBACtD,OAAO;gBACP,QAAQ;aACT,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC;gBAC/B,OAAO;gBACP,QAAQ;gBACR,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,mBAAY,CAAC,sBAAsB,EAAE,GAAG,CAAC;aACnE,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAW,EAAC;gBAC/B,OAAO;gBACP,QAAQ;gBACR,QAAQ,EAAE,CAAC;gBACX,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,yBAAkB,CAAC,sBAAsB,CAAC;aACpE,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const utils_1 = require("@furystack/utils");
|
|
7
4
|
const inject_1 = require("@furystack/inject");
|
|
8
5
|
const create_delete_endpoint_1 = require("./create-delete-endpoint");
|
|
9
|
-
const got_1 = __importDefault(require("got"));
|
|
10
6
|
const utils_2 = require("./utils");
|
|
11
7
|
const helpers_1 = require("../helpers");
|
|
12
8
|
const repository_1 = require("@furystack/repository");
|
|
@@ -27,9 +23,10 @@ describe('createDeleteEndpoint', () => {
|
|
|
27
23
|
await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').add(i, { id: 'mock', value: 'mock' });
|
|
28
24
|
const countBeforeDelete = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').count(i);
|
|
29
25
|
expect(countBeforeDelete).toBe(1);
|
|
30
|
-
const response = await (
|
|
31
|
-
expect(response.
|
|
32
|
-
|
|
26
|
+
const response = await fetch('http://127.0.0.1:1111/api/mock', { method: 'DELETE' });
|
|
27
|
+
expect(response.status).toBe(204);
|
|
28
|
+
const txt = await response.text();
|
|
29
|
+
expect(txt).toBe('');
|
|
33
30
|
const countAfterDelete = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').count(i);
|
|
34
31
|
expect(countAfterDelete).toBe(0);
|
|
35
32
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-delete-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-delete-endpoint.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-delete-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-delete-endpoint.spec.ts"],"names":[],"mappings":";;AAAA,4CAA6C;AAC7C,8CAA4C;AAE5C,qEAA+D;AAC/D,mCAAiD;AACjD,wCAA2C;AAC3C,sDAAqD;AAErD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAA,oBAAY,EAAC,CAAC,CAAC,CAAA;YACf,MAAM,IAAA,wBAAc,EAA0D;gBAC5E,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE;oBACH,MAAM,EAAE;wBACN,MAAM,EAAE,IAAA,6CAAoB,EAAC,EAAE,KAAK,EAAE,iBAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qBACrE;iBACF;aACF,CAAC,CAAA;YACF,MAAM,IAAA,0BAAa,EAAC,CAAC,EAAE,iBAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAE7E,MAAM,iBAAiB,GAAG,MAAM,IAAA,0BAAa,EAAC,CAAC,EAAE,iBAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1E,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAEjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;YACpF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YACjC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAEpB,MAAM,gBAAgB,GAAG,MAAM,IAAA,0BAAa,EAAC,CAAC,EAAE,iBAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACzE,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const utils_1 = require("@furystack/utils");
|
|
7
4
|
const inject_1 = require("@furystack/inject");
|
|
8
|
-
const got_1 = __importDefault(require("got"));
|
|
9
5
|
const utils_2 = require("./utils");
|
|
10
6
|
const create_get_collection_endpoint_1 = require("./create-get-collection-endpoint");
|
|
11
7
|
const rest_1 = require("@furystack/rest");
|
|
@@ -31,8 +27,9 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
31
27
|
await addMockEntities(i);
|
|
32
28
|
const count = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').count(i);
|
|
33
29
|
const allEntities = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').find(i, {});
|
|
34
|
-
const response = await (
|
|
35
|
-
|
|
30
|
+
const response = await fetch('http://127.0.0.1:1112/api/entities', { method: 'GET' });
|
|
31
|
+
expect(response.status).toBe(200);
|
|
32
|
+
const json = await response.json();
|
|
36
33
|
expect(json.count).toBe(count);
|
|
37
34
|
expect(json.entries).toEqual(allEntities);
|
|
38
35
|
});
|
|
@@ -54,10 +51,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
54
51
|
const findOptions = { order: { value: 'ASC' } };
|
|
55
52
|
const count = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').count(i, findOptions.filter);
|
|
56
53
|
const orderedEntities = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').find(i, findOptions);
|
|
57
|
-
const response = await (
|
|
54
|
+
const response = await fetch(`http://127.0.0.1:1113/api/entities?${(0, rest_1.serializeToQueryString)({ findOptions })}`, {
|
|
58
55
|
method: 'GET',
|
|
59
56
|
});
|
|
60
|
-
|
|
57
|
+
expect(response.status).toBe(200);
|
|
58
|
+
const json = await response.json();
|
|
61
59
|
expect(json.count).toBe(count);
|
|
62
60
|
expect(json.entries).toEqual(orderedEntities);
|
|
63
61
|
});
|
|
@@ -82,10 +80,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
82
80
|
const count = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').count(i, findOptions.filter);
|
|
83
81
|
const filteredEntities = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').find(i, findOptions);
|
|
84
82
|
expect(filteredEntities).not.toContainEqual({ id: 'mock2', value: '3' });
|
|
85
|
-
const response = await (
|
|
83
|
+
const response = await fetch(`http://127.0.0.1:1113/api/entities?${(0, rest_1.serializeToQueryString)({ findOptions })}`, {
|
|
86
84
|
method: 'GET',
|
|
87
85
|
});
|
|
88
|
-
|
|
86
|
+
expect(response.status).toBe(200);
|
|
87
|
+
const json = await response.json();
|
|
89
88
|
expect(json.count).toBe(count);
|
|
90
89
|
expect(json.entries).toEqual(filteredEntities);
|
|
91
90
|
});
|
|
@@ -110,10 +109,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
110
109
|
const count = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').count(i, findOptions.filter);
|
|
111
110
|
const selectedEntities = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').find(i, findOptions);
|
|
112
111
|
selectedEntities.forEach((e) => expect(e.value).toBeUndefined());
|
|
113
|
-
const response = await (
|
|
112
|
+
const response = await fetch(`http://127.0.0.1:1113/api/entities?${(0, rest_1.serializeToQueryString)({ findOptions })}`, {
|
|
114
113
|
method: 'GET',
|
|
115
114
|
});
|
|
116
|
-
|
|
115
|
+
expect(response.status).toBe(200);
|
|
116
|
+
const json = await response.json();
|
|
117
117
|
expect(json.count).toBe(count);
|
|
118
118
|
expect(json.entries).toEqual(selectedEntities);
|
|
119
119
|
});
|
|
@@ -140,10 +140,11 @@ describe('createGetCollectionEndpoint', () => {
|
|
|
140
140
|
const topSkipEntities = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').find(i, findOptions);
|
|
141
141
|
expect(topSkipEntities).not.toContainEqual({ id: 'mock1', value: '4' });
|
|
142
142
|
expect(topSkipEntities).not.toContainEqual({ id: 'mock4', value: '1' });
|
|
143
|
-
const response = await (
|
|
143
|
+
const response = await fetch(`http://127.0.0.1:1113/api/entities?${(0, rest_1.serializeToQueryString)({ findOptions })}`, {
|
|
144
144
|
method: 'GET',
|
|
145
145
|
});
|
|
146
|
-
|
|
146
|
+
expect(response.status).toBe(200);
|
|
147
|
+
const json = await response.json();
|
|
147
148
|
expect(json.count).toBe(count);
|
|
148
149
|
expect(json.entries).toEqual(topSkipEntities);
|
|
149
150
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-get-collection-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-get-collection-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-collection-endpoint.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const utils_1 = require("@furystack/utils");
|
|
7
4
|
const inject_1 = require("@furystack/inject");
|
|
8
5
|
const rest_1 = require("@furystack/rest");
|
|
9
|
-
const got_1 = __importDefault(require("got"));
|
|
10
6
|
const utils_2 = require("./utils");
|
|
11
7
|
const create_get_entity_endpoint_1 = require("./create-get-entity-endpoint");
|
|
12
8
|
const repository_1 = require("@furystack/repository");
|
|
@@ -27,8 +23,10 @@ describe('createGetEntityEndpoint', () => {
|
|
|
27
23
|
});
|
|
28
24
|
const mockEntity = { id: 'mock', value: 'mock' };
|
|
29
25
|
await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').add(i, mockEntity);
|
|
30
|
-
const response = await (
|
|
31
|
-
expect(
|
|
26
|
+
const response = await fetch('http://127.0.0.1:1113/api/mock', { method: 'GET' });
|
|
27
|
+
expect(response.status).toBe(200);
|
|
28
|
+
const body = await response.json();
|
|
29
|
+
expect(body).toEqual(mockEntity);
|
|
32
30
|
});
|
|
33
31
|
});
|
|
34
32
|
it('Should return the entity with the selected fields', async () => {
|
|
@@ -46,10 +44,12 @@ describe('createGetEntityEndpoint', () => {
|
|
|
46
44
|
});
|
|
47
45
|
const mockEntity = { id: 'mock', value: 'mock' };
|
|
48
46
|
await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').add(i, mockEntity);
|
|
49
|
-
const response = await (
|
|
47
|
+
const response = await fetch(`http://127.0.0.1:1114/api/mock?${(0, rest_1.serializeToQueryString)({ select: ['id'] })}`, {
|
|
50
48
|
method: 'GET',
|
|
51
49
|
});
|
|
52
|
-
expect(
|
|
50
|
+
expect(response.status).toBe(200);
|
|
51
|
+
const body = await response.json();
|
|
52
|
+
expect(body).toEqual({ id: mockEntity.id });
|
|
53
53
|
});
|
|
54
54
|
});
|
|
55
55
|
it('Should return 404 if no entity has been found', async () => {
|
|
@@ -65,16 +65,10 @@ describe('createGetEntityEndpoint', () => {
|
|
|
65
65
|
},
|
|
66
66
|
},
|
|
67
67
|
});
|
|
68
|
-
await
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const e = err;
|
|
73
|
-
expect(e.response.statusCode).toBe(404);
|
|
74
|
-
expect(JSON.parse(e.response.body).message).toBe('Entity not found');
|
|
75
|
-
resolve();
|
|
76
|
-
});
|
|
77
|
-
});
|
|
68
|
+
const result = await fetch(`http://127.0.0.1:1115/api/mock`, { method: 'GET' });
|
|
69
|
+
expect(result.status).toBe(404);
|
|
70
|
+
const body = await result.json();
|
|
71
|
+
expect(body).toEqual({ message: 'Entity not found' });
|
|
78
72
|
});
|
|
79
73
|
});
|
|
80
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-get-entity-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-get-entity-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-get-entity-endpoint.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const utils_1 = require("@furystack/utils");
|
|
7
4
|
const inject_1 = require("@furystack/inject");
|
|
8
5
|
const create_patch_endpoint_1 = require("./create-patch-endpoint");
|
|
9
|
-
const got_1 = __importDefault(require("got"));
|
|
10
6
|
const utils_2 = require("./utils");
|
|
11
7
|
const repository_1 = require("@furystack/repository");
|
|
12
8
|
const helpers_1 = require("../helpers");
|
|
@@ -27,12 +23,13 @@ describe('createPatchEndpoint', () => {
|
|
|
27
23
|
await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').add(i, { id: 'mock', value: 'mock' });
|
|
28
24
|
const countBeforeDelete = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').count(i);
|
|
29
25
|
expect(countBeforeDelete).toBe(1);
|
|
30
|
-
const response = await (
|
|
26
|
+
const response = await fetch('http://127.0.0.1:1116/api/mock', {
|
|
31
27
|
method: 'PATCH',
|
|
32
28
|
body: JSON.stringify({ value: 'updated' }),
|
|
33
29
|
});
|
|
34
|
-
expect(response.
|
|
35
|
-
|
|
30
|
+
expect(response.status).toBe(200);
|
|
31
|
+
const body = await response.json();
|
|
32
|
+
expect(body).toEqual({});
|
|
36
33
|
const updated = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').get(i, 'mock');
|
|
37
34
|
expect(updated?.value).toBe('updated');
|
|
38
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-patch-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-patch-endpoint.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-patch-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-patch-endpoint.spec.ts"],"names":[],"mappings":";;AAAA,4CAA6C;AAC7C,8CAA4C;AAE5C,mEAA6D;AAC7D,mCAAiD;AACjD,sDAAqD;AACrD,wCAA2C;AAE3C,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAA,oBAAY,EAAC,CAAC,CAAC,CAAA;YACf,MAAM,IAAA,wBAAc,EAAwD;gBAC1E,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE;oBACH,KAAK,EAAE;wBACL,MAAM,EAAE,IAAA,2CAAmB,EAAC,EAAE,KAAK,EAAE,iBAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qBACpE;iBACF;aACF,CAAC,CAAA;YACF,MAAM,IAAA,0BAAa,EAAC,CAAC,EAAE,iBAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;YAE7E,MAAM,iBAAiB,GAAG,MAAM,IAAA,0BAAa,EAAC,CAAC,EAAE,iBAAS,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1E,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAEjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gCAAgC,EAAE;gBAC7D,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;aAC3C,CAAC,CAAA;YACF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACxB,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAa,EAAC,CAAC,EAAE,iBAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YACtE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const utils_1 = require("@furystack/utils");
|
|
7
4
|
const inject_1 = require("@furystack/inject");
|
|
8
5
|
const create_post_endpoint_1 = require("./create-post-endpoint");
|
|
9
|
-
const got_1 = __importDefault(require("got"));
|
|
10
6
|
const utils_2 = require("./utils");
|
|
11
7
|
const helpers_1 = require("../helpers");
|
|
12
8
|
const repository_1 = require("@furystack/repository");
|
|
@@ -25,12 +21,13 @@ describe('createPostEndpoint', () => {
|
|
|
25
21
|
},
|
|
26
22
|
});
|
|
27
23
|
const entityToPost = { id: 'mock', value: 'posted' };
|
|
28
|
-
const response = await (
|
|
24
|
+
const response = await fetch('http://127.0.0.1:1117/api/mock', {
|
|
29
25
|
method: 'POST',
|
|
30
26
|
body: JSON.stringify(entityToPost),
|
|
31
27
|
});
|
|
32
|
-
expect(response.
|
|
33
|
-
|
|
28
|
+
expect(response.status).toBe(201);
|
|
29
|
+
const body = await response.json();
|
|
30
|
+
expect(body).toEqual(entityToPost);
|
|
34
31
|
const posted = await (0, repository_1.getDataSetFor)(i, utils_2.MockClass, 'id').get(i, entityToPost.id);
|
|
35
32
|
expect(posted?.value).toBe('posted');
|
|
36
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-post-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-post-endpoint.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-post-endpoint.spec.js","sourceRoot":"","sources":["../../src/endpoint-generators/create-post-endpoint.spec.ts"],"names":[],"mappings":";;AAAA,4CAA6C;AAC7C,8CAA4C;AAE5C,iEAA2D;AAC3D,mCAAiD;AACjD,wCAA2C;AAC3C,sDAAqD;AAErD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAA,kBAAU,EAAC,IAAI,iBAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAA,oBAAY,EAAC,CAAC,CAAC,CAAA;YACf,MAAM,IAAA,wBAAc,EAAsD;gBACxE,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE;oBACH,IAAI,EAAE;wBACJ,MAAM,EAAE,IAAA,yCAAkB,EAAC,EAAE,KAAK,EAAE,iBAAS,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;qBACnE;iBACF;aACF,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;YACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gCAAgC,EAAE;gBAC7D,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACnC,CAAC,CAAA;YACF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YAClC,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC,CAAC,EAAE,iBAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;YAC9E,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const inject_1 = require("@furystack/inject");
|
|
7
4
|
require("./helpers");
|
|
@@ -9,7 +6,6 @@ const utils_1 = require("@furystack/utils");
|
|
|
9
6
|
const actions_1 = require("./actions");
|
|
10
7
|
const core_1 = require("@furystack/core");
|
|
11
8
|
const default_session_1 = require("./models/default-session");
|
|
12
|
-
const got_1 = __importDefault(require("got"));
|
|
13
9
|
const request_action_implementation_1 = require("./request-action-implementation");
|
|
14
10
|
const helpers_1 = require("./helpers");
|
|
15
11
|
class UserWithPassword extends core_1.User {
|
|
@@ -62,71 +58,85 @@ describe('@furystack/rest-service inregration tests', () => {
|
|
|
62
58
|
it('Should respond with 404 when a route is not found', async () => {
|
|
63
59
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
64
60
|
await prepareInjector(i);
|
|
65
|
-
await
|
|
61
|
+
const result = await fetch(utils_1.PathHelper.joinPaths(apiUrl, 'some-route-that-does-not-exists'));
|
|
62
|
+
expect(result.ok).toBe(false);
|
|
63
|
+
expect(result.status).toBe(404);
|
|
64
|
+
const responseText = await result.json();
|
|
65
|
+
expect(responseText).toEqual({ error: 'Content not found' });
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
68
|
it('Should respond with 401 for unauthorized request errors', async () => {
|
|
69
69
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
70
70
|
await prepareInjector(i);
|
|
71
|
-
await
|
|
71
|
+
const result = await fetch(utils_1.PathHelper.joinPaths(apiUrl, 'currentUser'));
|
|
72
|
+
expect(result.ok).toBe(false);
|
|
73
|
+
expect(result.status).toBe(401);
|
|
74
|
+
const responseText = await result.json();
|
|
75
|
+
expect(responseText).toEqual({ error: 'unauthorized' });
|
|
72
76
|
});
|
|
73
77
|
});
|
|
74
78
|
it('Should respond with 401 for unauthorized request errors', async () => {
|
|
75
79
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
76
80
|
await prepareInjector(i);
|
|
77
|
-
await
|
|
81
|
+
const result = await fetch(utils_1.PathHelper.joinPaths(apiUrl, 'currentUser'));
|
|
82
|
+
expect(result.ok).toBe(false);
|
|
83
|
+
expect(result.status).toBe(401);
|
|
84
|
+
const responseText = await result.json();
|
|
85
|
+
expect(responseText).toEqual({ error: 'unauthorized' });
|
|
78
86
|
});
|
|
79
87
|
});
|
|
80
88
|
it('Should respond with the correct result body', async () => {
|
|
81
89
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
82
90
|
await prepareInjector(i);
|
|
83
|
-
const response = await (
|
|
84
|
-
expect(response.
|
|
85
|
-
|
|
91
|
+
const response = await fetch(utils_1.PathHelper.joinPaths(apiUrl, 'isAuthenticated'));
|
|
92
|
+
expect(response.status).toBe(200);
|
|
93
|
+
const result = await response.json();
|
|
94
|
+
expect(result).toEqual({ isAuthenticated: false });
|
|
86
95
|
});
|
|
87
96
|
});
|
|
88
97
|
it('Should be able to read query parameters', async () => {
|
|
89
98
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
90
99
|
await prepareInjector(i);
|
|
91
|
-
const response = await (
|
|
92
|
-
expect(response.
|
|
93
|
-
|
|
100
|
+
const response = await fetch(utils_1.PathHelper.joinPaths(apiUrl, 'testQuery?param1=foo'));
|
|
101
|
+
expect(response.status).toBe(200);
|
|
102
|
+
const result = await response.json();
|
|
103
|
+
expect(result).toEqual({ param1Value: 'foo' });
|
|
94
104
|
});
|
|
95
105
|
});
|
|
96
106
|
it('Should be able to read url parameters', async () => {
|
|
97
107
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
98
108
|
await prepareInjector(i);
|
|
99
|
-
const response = await (
|
|
100
|
-
expect(response.
|
|
101
|
-
|
|
109
|
+
const response = await fetch(utils_1.PathHelper.joinPaths(apiUrl, 'testUrlParams/bar'));
|
|
110
|
+
expect(response.status).toBe(200);
|
|
111
|
+
const result = await response.json();
|
|
112
|
+
expect(result).toEqual({ urlParamValue: 'bar' });
|
|
102
113
|
});
|
|
103
114
|
});
|
|
104
115
|
it('Should be able to read post body', async () => {
|
|
105
116
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
106
117
|
await prepareInjector(i);
|
|
107
|
-
const response = await (
|
|
118
|
+
const response = await fetch(utils_1.PathHelper.joinPaths(apiUrl, 'testPostBody'), {
|
|
108
119
|
method: 'POST',
|
|
109
120
|
body: JSON.stringify({ value: 'baz' }),
|
|
110
|
-
retry: 0,
|
|
111
121
|
});
|
|
112
|
-
expect(response.
|
|
113
|
-
|
|
122
|
+
expect(response.status).toBe(200);
|
|
123
|
+
const result = await response.json();
|
|
124
|
+
expect(result).toEqual({ bodyValue: 'baz', body2Value: 'baz' });
|
|
114
125
|
});
|
|
115
126
|
});
|
|
116
127
|
it('Should respond with OK to OPTIONS requests', async () => {
|
|
117
128
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
118
129
|
await prepareInjector(i);
|
|
119
|
-
const response = await (
|
|
130
|
+
const response = await fetch(utils_1.PathHelper.joinPaths(apiUrl, 'testPostBody'), {
|
|
120
131
|
method: 'OPTIONS',
|
|
121
|
-
retry: 0,
|
|
122
132
|
});
|
|
123
|
-
expect(response.
|
|
133
|
+
expect(response.status).toBe(200);
|
|
124
134
|
});
|
|
125
135
|
});
|
|
126
136
|
it('Should reject requests outside of the API Root', async () => {
|
|
127
137
|
await (0, utils_1.usingAsync)(new inject_1.Injector(), async (i) => {
|
|
128
138
|
await prepareInjector(i);
|
|
129
|
-
await expect((
|
|
139
|
+
await expect(fetch(utils_1.PathHelper.joinPaths(`http://${hostName}:${port}`, 'not-my-api-root'))).rejects.toThrowError('fetch failed');
|
|
130
140
|
});
|
|
131
141
|
});
|
|
132
142
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest-service.integration.spec.js","sourceRoot":"","sources":["../src/rest-service.integration.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rest-service.integration.spec.js","sourceRoot":"","sources":["../src/rest-service.integration.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const inject_1 = require("@furystack/inject");
|
|
4
|
-
const
|
|
4
|
+
const rest_client_fetch_1 = require("@furystack/rest-client-fetch");
|
|
5
5
|
const utils_1 = require("@furystack/utils");
|
|
6
6
|
const request_action_implementation_1 = require("./request-action-implementation");
|
|
7
7
|
require("./helpers");
|
|
@@ -26,7 +26,7 @@ const createEchoApiServer = async () => {
|
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
});
|
|
29
|
-
const client = (0,
|
|
29
|
+
const client = (0, rest_client_fetch_1.createClient)({
|
|
30
30
|
endpointUrl: `http://localhost:${port}/api`,
|
|
31
31
|
});
|
|
32
32
|
return {
|
|
@@ -36,15 +36,15 @@ const createEchoApiServer = async () => {
|
|
|
36
36
|
client,
|
|
37
37
|
};
|
|
38
38
|
};
|
|
39
|
-
describe('REST Integration tests with
|
|
39
|
+
describe('REST Integration tests with FETCH client', () => {
|
|
40
40
|
it('Should execute a single parameterless GET query', async () => {
|
|
41
41
|
await (0, utils_1.usingAsync)(await createEchoApiServer(), async ({ client }) => {
|
|
42
42
|
const result = await client({
|
|
43
43
|
method: 'GET',
|
|
44
44
|
action: '/plain',
|
|
45
45
|
});
|
|
46
|
-
expect(result.response.
|
|
47
|
-
expect(result.
|
|
46
|
+
expect(result.response.status).toBe(200);
|
|
47
|
+
expect(result.result).toEqual({});
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
50
|
it('Should execute a request with headers', async () => {
|
|
@@ -57,8 +57,8 @@ describe('REST Integration tests with GOT client', () => {
|
|
|
57
57
|
value,
|
|
58
58
|
},
|
|
59
59
|
});
|
|
60
|
-
expect(result.response.
|
|
61
|
-
expect(result.
|
|
60
|
+
expect(result.response.status).toBe(200);
|
|
61
|
+
expect(result.result.headers.value).toEqual(value);
|
|
62
62
|
});
|
|
63
63
|
});
|
|
64
64
|
it('Should execute a request with query', async () => {
|
|
@@ -73,8 +73,8 @@ describe('REST Integration tests with GOT client', () => {
|
|
|
73
73
|
},
|
|
74
74
|
},
|
|
75
75
|
});
|
|
76
|
-
expect(result.response.
|
|
77
|
-
expect(result.
|
|
76
|
+
expect(result.response.status).toBe(200);
|
|
77
|
+
expect(result.result.query.someObject.foo).toEqual(value);
|
|
78
78
|
});
|
|
79
79
|
});
|
|
80
80
|
it('Should execute a request with URL parameters', async () => {
|
|
@@ -87,8 +87,8 @@ describe('REST Integration tests with GOT client', () => {
|
|
|
87
87
|
id: value,
|
|
88
88
|
},
|
|
89
89
|
});
|
|
90
|
-
expect(result.response.
|
|
91
|
-
expect(result.
|
|
90
|
+
expect(result.response.status).toBe(200);
|
|
91
|
+
expect(result.result.url.id).toEqual(value);
|
|
92
92
|
});
|
|
93
93
|
});
|
|
94
94
|
});
|