zation-assured 0.5.1 → 3.0.0-dev.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.
- package/LICENSE +1 -1
- package/README.md +55 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -9
- package/dist/lib/api/assert.d.ts +16 -9
- package/dist/lib/api/assert.js +16 -12
- package/dist/lib/api/testHelper.d.ts +0 -8
- package/dist/lib/api/testHelper.js +6 -83
- package/dist/lib/api/when.d.ts +41 -45
- package/dist/lib/api/when.js +42 -55
- package/dist/lib/helper/asserter/abstractActionAsserter.d.ts +68 -0
- package/dist/lib/helper/asserter/{rootSendAsserter.js → abstractActionAsserter.js} +23 -67
- package/dist/lib/helper/asserter/assertStarter.d.ts +5 -0
- package/dist/lib/helper/asserter/assertStarter.js +16 -0
- package/dist/lib/helper/asserter/channel/abstractChannelAsserter.d.ts +24 -33
- package/dist/lib/helper/asserter/channel/abstractChannelAsserter.js +48 -89
- package/dist/lib/helper/asserter/channel/channelAsserter.d.ts +3 -3
- package/dist/lib/helper/asserter/channel/channelAsserter.js +2 -2
- package/dist/lib/helper/asserter/channel/standaloneChannelAsserter.d.ts +5 -5
- package/dist/lib/helper/asserter/channel/standaloneChannelAsserter.js +6 -6
- package/dist/lib/helper/asserter/client/abstractClientAsserter.d.ts +29 -47
- package/dist/lib/helper/asserter/client/abstractClientAsserter.js +91 -193
- package/dist/lib/helper/asserter/client/clientAsserter.d.ts +3 -3
- package/dist/lib/helper/asserter/client/clientAsserter.js +2 -2
- package/dist/lib/helper/asserter/client/standaloneClientAsserter.d.ts +5 -5
- package/dist/lib/helper/asserter/client/standaloneClientAsserter.js +6 -6
- package/dist/lib/helper/asserter/controller/integratedResponseAsserter.d.ts +52 -0
- package/dist/lib/helper/asserter/controller/integratedResponseAsserter.js +112 -0
- package/dist/lib/helper/asserter/controller/standaloneResponseAsserter.d.ts +49 -0
- package/dist/lib/helper/asserter/controller/standaloneResponseAsserter.js +108 -0
- package/dist/lib/helper/asserter/databox/abstractDataboxAsserter.d.ts +33 -40
- package/dist/lib/helper/asserter/databox/abstractDataboxAsserter.js +48 -84
- package/dist/lib/helper/asserter/databox/databoxAsserter.d.ts +3 -3
- package/dist/lib/helper/asserter/databox/databoxAsserter.js +2 -2
- package/dist/lib/helper/asserter/databox/standaloneDataboxAsserter.d.ts +6 -5
- package/dist/lib/helper/asserter/databox/standaloneDataboxAsserter.js +6 -6
- package/dist/lib/helper/asserter/event/abstractEventAsserter.d.ts +12 -4
- package/dist/lib/helper/asserter/event/abstractEventAsserter.js +25 -10
- package/dist/lib/helper/asserter/event/codeMetadataEventAsserter.d.ts +21 -0
- package/dist/lib/helper/asserter/event/codeMetadataEventAsserter.js +47 -0
- package/dist/lib/helper/asserter/event/dataEventAsserter.d.ts +13 -3
- package/dist/lib/helper/asserter/event/dataEventAsserter.js +22 -4
- package/dist/lib/helper/asserter/receiver/integratedTransmitAsserter.d.ts +9 -0
- package/dist/lib/helper/asserter/receiver/{transmitAsserter.js → integratedTransmitAsserter.js} +9 -9
- package/dist/lib/helper/asserter/value/abstractValueAsserter.d.ts +10 -12
- package/dist/lib/helper/asserter/value/abstractValueAsserter.js +46 -50
- package/dist/lib/helper/asserter/value/standaloneValueAsserter.d.ts +3 -3
- package/dist/lib/helper/asserter/value/standaloneValueAsserter.js +6 -6
- package/dist/lib/helper/asserter/value/valueAsserter.d.ts +4 -4
- package/dist/lib/helper/asserter/value/valueAsserter.js +4 -4
- package/dist/lib/helper/backError/backErrorsFilterBuilder.d.ts +12 -0
- package/dist/lib/helper/backError/backErrorsFilterBuilder.js +29 -0
- package/dist/lib/helper/console/logger.js +2 -2
- package/dist/lib/helper/definitions/optionTypes.d.ts +8 -0
- package/dist/lib/helper/definitions/optionTypes.js +7 -0
- package/dist/lib/helper/test/test.d.ts +2 -2
- package/dist/lib/helper/test/test.js +8 -6
- package/dist/lib/helper/timeout/timeoutAssert.js +2 -2
- package/dist/lib/helper/utils/actionUtils.d.ts +5 -18
- package/dist/lib/helper/utils/actionUtils.js +14 -43
- package/dist/lib/helper/utils/types.d.ts +20 -0
- package/dist/lib/helper/utils/types.js +7 -0
- package/package.json +8 -10
- package/dist/lib/api/before.d.ts +0 -3
- package/dist/lib/api/before.js +0 -20
- package/dist/lib/api/client.d.ts +0 -3
- package/dist/lib/api/client.js +0 -11
- package/dist/lib/api/describe.d.ts +0 -1
- package/dist/lib/api/describe.js +0 -6
- package/dist/lib/api/instanceManager.d.ts +0 -8
- package/dist/lib/api/instanceManager.js +0 -48
- package/dist/lib/api/testArea.d.ts +0 -3
- package/dist/lib/api/testArea.js +0 -41
- package/dist/lib/api/testServerManager.d.ts +0 -19
- package/dist/lib/api/testServerManager.js +0 -100
- package/dist/lib/helper/asserter/abstractClientAsserter.d.ts +0 -102
- package/dist/lib/helper/asserter/abstractClientAsserter.js +0 -293
- package/dist/lib/helper/asserter/anyAsserter.d.ts +0 -62
- package/dist/lib/helper/asserter/anyAsserter.js +0 -130
- package/dist/lib/helper/asserter/channelEventAsserter.d.ts +0 -34
- package/dist/lib/helper/asserter/channelEventAsserter.js +0 -84
- package/dist/lib/helper/asserter/channelPubAsserter.d.ts +0 -53
- package/dist/lib/helper/asserter/channelPubAsserter.js +0 -126
- package/dist/lib/helper/asserter/clientAsserter.d.ts +0 -13
- package/dist/lib/helper/asserter/clientAsserter.js +0 -26
- package/dist/lib/helper/asserter/controller/responseAsserter.d.ts +0 -76
- package/dist/lib/helper/asserter/controller/responseAsserter.js +0 -154
- package/dist/lib/helper/asserter/dataEventAsserter.d.ts +0 -40
- package/dist/lib/helper/asserter/dataEventAsserter.js +0 -113
- package/dist/lib/helper/asserter/event/abstractDataEventAsserter.d.ts +0 -13
- package/dist/lib/helper/asserter/event/abstractDataEventAsserter.js +0 -36
- package/dist/lib/helper/asserter/event/codeDataEventAsserter.d.ts +0 -14
- package/dist/lib/helper/asserter/event/codeDataEventAsserter.js +0 -40
- package/dist/lib/helper/asserter/eventAsserter.d.ts +0 -41
- package/dist/lib/helper/asserter/eventAsserter.js +0 -115
- package/dist/lib/helper/asserter/objectAsserter.d.ts +0 -55
- package/dist/lib/helper/asserter/objectAsserter.js +0 -113
- package/dist/lib/helper/asserter/receiver/transmitAsserter.d.ts +0 -9
- package/dist/lib/helper/asserter/responseAsserter.d.ts +0 -129
- package/dist/lib/helper/asserter/responseAsserter.js +0 -260
- package/dist/lib/helper/asserter/rootSendAsserter.d.ts +0 -89
- package/dist/lib/helper/asserter/standaloneClientAsserter.d.ts +0 -11
- package/dist/lib/helper/asserter/standaloneClientAsserter.js +0 -38
- package/dist/lib/helper/assured/clientAssured.d.ts +0 -2
- package/dist/lib/helper/assured/clientAssured.js +0 -11
- package/dist/lib/helper/assured/responseAssured.d.ts +0 -17
- package/dist/lib/helper/assured/responseAssured.js +0 -72
- package/dist/lib/helper/backError/backErrorFilterBuilder.d.ts +0 -13
- package/dist/lib/helper/backError/backErrorFilterBuilder.js +0 -35
- package/dist/lib/helper/builder/controller/abstractRequestBuilder.d.ts +0 -53
- package/dist/lib/helper/builder/controller/abstractRequestBuilder.js +0 -69
- package/dist/lib/helper/builder/controller/authRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/builder/controller/authRequestBuilder.js +0 -30
- package/dist/lib/helper/builder/controller/standardRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/builder/controller/standardRequestBuilder.js +0 -30
- package/dist/lib/helper/builder/controller/validationCheckRequestBuilder.d.ts +0 -21
- package/dist/lib/helper/builder/controller/validationCheckRequestBuilder.js +0 -40
- package/dist/lib/helper/builder/receiver/packageBuilder.d.ts +0 -45
- package/dist/lib/helper/builder/receiver/packageBuilder.js +0 -67
- package/dist/lib/helper/controller/request/abstractRequestBuilder.d.ts +0 -53
- package/dist/lib/helper/controller/request/abstractRequestBuilder.js +0 -68
- package/dist/lib/helper/controller/request/authRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/controller/request/authRequestBuilder.js +0 -29
- package/dist/lib/helper/controller/request/standardRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/controller/request/standardRequestBuilder.js +0 -29
- package/dist/lib/helper/controller/request/validationCheckRequestBuilder.d.ts +0 -21
- package/dist/lib/helper/controller/request/validationCheckRequestBuilder.js +0 -39
- package/dist/lib/helper/data/test.d.ts +0 -13
- package/dist/lib/helper/data/test.js +0 -89
- package/dist/lib/helper/do/actionUtils.d.ts +0 -24
- package/dist/lib/helper/do/actionUtils.js +0 -70
- package/dist/lib/helper/do/doUtils.d.ts +0 -24
- package/dist/lib/helper/do/doUtils.js +0 -80
- package/dist/lib/helper/error/backErrorFilterBuilder.d.ts +0 -13
- package/dist/lib/helper/error/backErrorFilterBuilder.js +0 -34
- package/dist/lib/helper/error/taskErrorFilterBuilder.d.ts +0 -13
- package/dist/lib/helper/error/taskErrorFilterBuilder.js +0 -34
- package/dist/lib/helper/request/abstractRequestBuilder.d.ts +0 -53
- package/dist/lib/helper/request/abstractRequestBuilder.js +0 -68
- package/dist/lib/helper/request/authRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/request/authRequestBuilder.js +0 -29
- package/dist/lib/helper/request/requestBuilder.d.ts +0 -46
- package/dist/lib/helper/request/requestBuilder.js +0 -76
- package/dist/lib/helper/request/standardRequestBuilder.d.ts +0 -15
- package/dist/lib/helper/request/standardRequestBuilder.js +0 -29
- package/dist/lib/helper/request/validationCheckRequestBuilder.d.ts +0 -21
- package/dist/lib/helper/request/validationCheckRequestBuilder.js +0 -39
- package/dist/lib/helper/request/validationRequestBuilder.d.ts +0 -35
- package/dist/lib/helper/request/validationRequestBuilder.js +0 -61
- package/dist/lib/helper/utils/clientUtils.d.ts +0 -4
- package/dist/lib/helper/utils/clientUtils.js +0 -29
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
Author: Luca Scaringella
|
|
3
|
+
Author: Ing. Luca Gian Scaringella
|
|
4
4
|
GitHub: LucaCode
|
|
5
|
-
|
|
5
|
+
Copyright(c) Ing. Luca Gian Scaringella
|
|
6
6
|
*/
|
|
7
7
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
8
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
@@ -19,13 +19,13 @@ const abstractClientAsserter_1 = require("./abstractClientAsserter");
|
|
|
19
19
|
const test_1 = require("../../test/test");
|
|
20
20
|
const chai_1 = require("chai");
|
|
21
21
|
class StandaloneClientAsserter extends abstractClientAsserter_1.AbstractClientAsserter {
|
|
22
|
-
constructor(client,
|
|
23
|
-
super(Array.isArray(client) ? client : [client], new test_1.Test(
|
|
22
|
+
constructor(client, description) {
|
|
23
|
+
super(Array.isArray(client) ? client : [client], new test_1.Test(description));
|
|
24
24
|
}
|
|
25
25
|
// noinspection JSUnusedGlobalSymbols
|
|
26
26
|
/**
|
|
27
27
|
* @description
|
|
28
|
-
*
|
|
28
|
+
* Connects all clients (before the test).
|
|
29
29
|
*/
|
|
30
30
|
connect() {
|
|
31
31
|
this._test.beforeTest(() => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -34,7 +34,7 @@ class StandaloneClientAsserter extends abstractClientAsserter_1.AbstractClientAs
|
|
|
34
34
|
yield client.connect();
|
|
35
35
|
}
|
|
36
36
|
catch (err) {
|
|
37
|
-
chai_1.assert.fail(`Cannot connect the client ${index}. Error -> ` + err
|
|
37
|
+
chai_1.assert.fail(`Cannot connect the client ${index}. Error -> ` + err);
|
|
38
38
|
}
|
|
39
39
|
})));
|
|
40
40
|
}));
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Client, Response, BackErrorFilter } from "zation-client";
|
|
2
|
+
import { Test } from "../../test/test";
|
|
3
|
+
import { ValueAsserter } from "../value/valueAsserter";
|
|
4
|
+
import { BackErrorsFilterBuilder } from "../../backError/backErrorsFilterBuilder";
|
|
5
|
+
import { AbstractActionAsserter } from "../abstractActionAsserter";
|
|
6
|
+
import { ResponseData } from "../../utils/types";
|
|
7
|
+
export declare class IntegratedResponseAsserter<R extends Response<any>, C extends Client<any, any>> extends AbstractActionAsserter<IntegratedResponseAsserter<R, C>, C> {
|
|
8
|
+
private readonly sendRequest;
|
|
9
|
+
private readonly responseAsserters;
|
|
10
|
+
constructor(sendRequest: () => Promise<R>, test: Test, client: C);
|
|
11
|
+
protected _executeAction(): Promise<void>;
|
|
12
|
+
private _respInfo;
|
|
13
|
+
/**
|
|
14
|
+
* @description
|
|
15
|
+
* Asserts that the response is successful.
|
|
16
|
+
*/
|
|
17
|
+
isSuccessful(): IntegratedResponseAsserter<R, C>;
|
|
18
|
+
/**
|
|
19
|
+
* @description
|
|
20
|
+
* Asserts that the response is not successful.
|
|
21
|
+
*/
|
|
22
|
+
isNotSuccessful(): IntegratedResponseAsserter<R, C>;
|
|
23
|
+
/**
|
|
24
|
+
* @description
|
|
25
|
+
* Asserts that the response has a result.
|
|
26
|
+
*/
|
|
27
|
+
hasResult(): IntegratedResponseAsserter<R, C>;
|
|
28
|
+
/**
|
|
29
|
+
* @description
|
|
30
|
+
* Asserts the result of the response.
|
|
31
|
+
*/
|
|
32
|
+
result(): ValueAsserter<ResponseData<R>, IntegratedResponseAsserter<R, C>>;
|
|
33
|
+
/**
|
|
34
|
+
* @description
|
|
35
|
+
* Asserts that the response has specific errors with a BackErrorFilterBuilder.
|
|
36
|
+
*/
|
|
37
|
+
hasError(): BackErrorsFilterBuilder<IntegratedResponseAsserter<R, C>>;
|
|
38
|
+
/**
|
|
39
|
+
* @description
|
|
40
|
+
* Asserts that the response has specific errors with a raw filter.
|
|
41
|
+
* @param filter
|
|
42
|
+
* Forint filter to filter for specific errors.
|
|
43
|
+
*/
|
|
44
|
+
hasError(filter: BackErrorFilter): IntegratedResponseAsserter<R, C>;
|
|
45
|
+
/**
|
|
46
|
+
* @description
|
|
47
|
+
* Creates a custom assertion.
|
|
48
|
+
* @param assert
|
|
49
|
+
*/
|
|
50
|
+
assert(assert: (resp: R) => void | Promise<void>): IntegratedResponseAsserter<R, C>;
|
|
51
|
+
protected self(): IntegratedResponseAsserter<R, C>;
|
|
52
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Author: Ing. Luca Gian Scaringella
|
|
4
|
+
GitHub: LucaCode
|
|
5
|
+
Copyright(c) Ing. Luca Gian Scaringella
|
|
6
|
+
*/
|
|
7
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.IntegratedResponseAsserter = void 0;
|
|
18
|
+
const valueAsserter_1 = require("../value/valueAsserter");
|
|
19
|
+
const backErrorsFilterBuilder_1 = require("../../backError/backErrorsFilterBuilder");
|
|
20
|
+
const abstractActionAsserter_1 = require("../abstractActionAsserter");
|
|
21
|
+
const assert = require('assert');
|
|
22
|
+
class IntegratedResponseAsserter extends abstractActionAsserter_1.AbstractActionAsserter {
|
|
23
|
+
constructor(sendRequest, test, client) {
|
|
24
|
+
super(test, client);
|
|
25
|
+
this.sendRequest = sendRequest;
|
|
26
|
+
this.responseAsserters = [];
|
|
27
|
+
}
|
|
28
|
+
_executeAction() {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const resp = yield this.sendRequest();
|
|
31
|
+
for (let i = 0; i < this.responseAsserters.length; i++)
|
|
32
|
+
yield this.responseAsserters[i](resp);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
// noinspection JSMethodCanBeStatic
|
|
36
|
+
_respInfo(res) {
|
|
37
|
+
return '\n ' + res.toString();
|
|
38
|
+
}
|
|
39
|
+
// noinspection JSUnusedGlobalSymbols
|
|
40
|
+
/**
|
|
41
|
+
* @description
|
|
42
|
+
* Asserts that the response is successful.
|
|
43
|
+
*/
|
|
44
|
+
isSuccessful() {
|
|
45
|
+
this.responseAsserters.push(resp => {
|
|
46
|
+
assert(resp.successful, 'Response should be successful.' + this._respInfo(resp));
|
|
47
|
+
});
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
// noinspection JSUnusedGlobalSymbols
|
|
51
|
+
/**
|
|
52
|
+
* @description
|
|
53
|
+
* Asserts that the response is not successful.
|
|
54
|
+
*/
|
|
55
|
+
isNotSuccessful() {
|
|
56
|
+
this.responseAsserters.push(resp => {
|
|
57
|
+
assert(!resp.successful, 'Response should be not successful.' + this._respInfo(resp));
|
|
58
|
+
});
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
// noinspection JSUnusedGlobalSymbols
|
|
62
|
+
/**
|
|
63
|
+
* @description
|
|
64
|
+
* Asserts that the response has a result.
|
|
65
|
+
*/
|
|
66
|
+
hasResult() {
|
|
67
|
+
this.responseAsserters.push(resp => {
|
|
68
|
+
assert(resp.result != null, `Response should have a result.`
|
|
69
|
+
+ this._respInfo(resp));
|
|
70
|
+
});
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
// noinspection JSUnusedGlobalSymbols
|
|
74
|
+
/**
|
|
75
|
+
* @description
|
|
76
|
+
* Asserts the result of the response.
|
|
77
|
+
*/
|
|
78
|
+
result() {
|
|
79
|
+
return new valueAsserter_1.ValueAsserter(this, (test) => {
|
|
80
|
+
this.responseAsserters.push(resp => {
|
|
81
|
+
test(resp.result, 'response data');
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
hasError(filter) {
|
|
86
|
+
if (filter !== undefined) {
|
|
87
|
+
this.responseAsserters.push((resp) => {
|
|
88
|
+
assert(resp.filter(filter).length > 0, `Response should have at least one back error that matches the filter: ${JSON.stringify(filter)}.`
|
|
89
|
+
+ this._respInfo(resp));
|
|
90
|
+
});
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
else
|
|
94
|
+
return new backErrorsFilterBuilder_1.BackErrorsFilterBuilder(this, (filter) => {
|
|
95
|
+
this.hasError(filter);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
// noinspection JSUnusedGlobalSymbols
|
|
99
|
+
/**
|
|
100
|
+
* @description
|
|
101
|
+
* Creates a custom assertion.
|
|
102
|
+
* @param assert
|
|
103
|
+
*/
|
|
104
|
+
assert(assert) {
|
|
105
|
+
this.responseAsserters.push(resp => assert(resp));
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
self() {
|
|
109
|
+
return this;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.IntegratedResponseAsserter = IntegratedResponseAsserter;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { BackErrorFilter, Response } from "zation-client";
|
|
2
|
+
import { ValueAsserter } from "../value/valueAsserter";
|
|
3
|
+
import { BackErrorsFilterBuilder } from "../../backError/backErrorsFilterBuilder";
|
|
4
|
+
import { ResponseData } from "../../utils/types";
|
|
5
|
+
export default class StandaloneResponseAsserter<R extends Response<any>> {
|
|
6
|
+
private readonly test;
|
|
7
|
+
private readonly responses;
|
|
8
|
+
constructor(response: R | R[], description?: string);
|
|
9
|
+
protected _forEachResponse(func: (response: R, i: number) => Promise<void> | void): Promise<void>;
|
|
10
|
+
private _respInfo;
|
|
11
|
+
/**
|
|
12
|
+
* @description
|
|
13
|
+
* Asserts that the response is successful.
|
|
14
|
+
*/
|
|
15
|
+
isSuccessful(): StandaloneResponseAsserter<R>;
|
|
16
|
+
/**
|
|
17
|
+
* @description
|
|
18
|
+
* Asserts that the response is not successful.
|
|
19
|
+
*/
|
|
20
|
+
isNotSuccessful(): StandaloneResponseAsserter<R>;
|
|
21
|
+
/**
|
|
22
|
+
* @description
|
|
23
|
+
* Asserts that the response has a result.
|
|
24
|
+
*/
|
|
25
|
+
hasResult(): StandaloneResponseAsserter<R>;
|
|
26
|
+
/**
|
|
27
|
+
* @description
|
|
28
|
+
* Asserts the result of the response.
|
|
29
|
+
*/
|
|
30
|
+
result(): ValueAsserter<ResponseData<R>, StandaloneResponseAsserter<R>>;
|
|
31
|
+
/**
|
|
32
|
+
* @description
|
|
33
|
+
* Asserts that the response has specific errors with a BackErrorFilterBuilder.
|
|
34
|
+
*/
|
|
35
|
+
hasError(): BackErrorsFilterBuilder<StandaloneResponseAsserter<R>>;
|
|
36
|
+
/**
|
|
37
|
+
* @description
|
|
38
|
+
* Asserts that the response has specific errors with a raw filter.
|
|
39
|
+
* @param filter
|
|
40
|
+
* Forint filter to filter for specific errors.
|
|
41
|
+
*/
|
|
42
|
+
hasError(filter: BackErrorFilter): StandaloneResponseAsserter<R>;
|
|
43
|
+
/**
|
|
44
|
+
* @description
|
|
45
|
+
* Creates a custom assertion.
|
|
46
|
+
* @param assert
|
|
47
|
+
*/
|
|
48
|
+
assert(assert: (resp: R) => void | Promise<void>): StandaloneResponseAsserter<R>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Author: Ing. Luca Gian Scaringella
|
|
4
|
+
GitHub: LucaCode
|
|
5
|
+
Copyright(c) Ing. Luca Gian Scaringella
|
|
6
|
+
*/
|
|
7
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
11
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
12
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
13
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const test_1 = require("../../test/test");
|
|
18
|
+
const valueAsserter_1 = require("../value/valueAsserter");
|
|
19
|
+
const backErrorsFilterBuilder_1 = require("../../backError/backErrorsFilterBuilder");
|
|
20
|
+
const assert = require('assert');
|
|
21
|
+
class StandaloneResponseAsserter {
|
|
22
|
+
constructor(response, description) {
|
|
23
|
+
this.test = new test_1.Test(description);
|
|
24
|
+
this.responses = Array.isArray(response) ? response : [response];
|
|
25
|
+
}
|
|
26
|
+
_forEachResponse(func) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
yield Promise.all(this.responses
|
|
29
|
+
.map((resp, i) => func(resp, i)));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// noinspection JSMethodCanBeStatic
|
|
33
|
+
_respInfo(res) {
|
|
34
|
+
return '\n ' + res.toString();
|
|
35
|
+
}
|
|
36
|
+
// noinspection JSUnusedGlobalSymbols
|
|
37
|
+
/**
|
|
38
|
+
* @description
|
|
39
|
+
* Asserts that the response is successful.
|
|
40
|
+
*/
|
|
41
|
+
isSuccessful() {
|
|
42
|
+
this.test.test(() => this._forEachResponse((resp, i) => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
assert(resp.successful, `Response: ${i} should be successful.` + this._respInfo(resp));
|
|
44
|
+
})));
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
// noinspection JSUnusedGlobalSymbols
|
|
48
|
+
/**
|
|
49
|
+
* @description
|
|
50
|
+
* Asserts that the response is not successful.
|
|
51
|
+
*/
|
|
52
|
+
isNotSuccessful() {
|
|
53
|
+
this.test.test(() => this._forEachResponse((resp, i) => __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
assert(!resp.successful, `Response: ${i} should be not successful.` + this._respInfo(resp));
|
|
55
|
+
})));
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
// noinspection JSUnusedGlobalSymbols
|
|
59
|
+
/**
|
|
60
|
+
* @description
|
|
61
|
+
* Asserts that the response has a result.
|
|
62
|
+
*/
|
|
63
|
+
hasResult() {
|
|
64
|
+
this.test.test(() => this._forEachResponse((resp, i) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
assert(resp.result != null, `Response: ${i} should have a result.`
|
|
66
|
+
+ this._respInfo(resp));
|
|
67
|
+
})));
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
// noinspection JSUnusedGlobalSymbols
|
|
71
|
+
/**
|
|
72
|
+
* @description
|
|
73
|
+
* Asserts the result of the response.
|
|
74
|
+
*/
|
|
75
|
+
result() {
|
|
76
|
+
return new valueAsserter_1.ValueAsserter(this, (test) => {
|
|
77
|
+
this.test.test(() => this._forEachResponse((resp, i) => __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
test(resp.result, `response: ${i} result`);
|
|
79
|
+
})));
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
hasError(filter) {
|
|
83
|
+
if (filter !== undefined) {
|
|
84
|
+
this.test.test(() => this._forEachResponse((resp, i) => __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
assert(resp.filter(filter).length > 0, `Response: ${i} should have at least one back error that matches the filter: ${JSON.stringify(filter)}.`
|
|
86
|
+
+ this._respInfo(resp));
|
|
87
|
+
})));
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
else
|
|
91
|
+
return new backErrorsFilterBuilder_1.BackErrorsFilterBuilder(this, (filter) => {
|
|
92
|
+
this.hasError(filter);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
// noinspection JSUnusedGlobalSymbols
|
|
96
|
+
/**
|
|
97
|
+
* @description
|
|
98
|
+
* Creates a custom assertion.
|
|
99
|
+
* @param assert
|
|
100
|
+
*/
|
|
101
|
+
assert(assert) {
|
|
102
|
+
this.test.test(() => this._forEachResponse((resp) => __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
yield assert(resp);
|
|
104
|
+
})));
|
|
105
|
+
return this;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.default = StandaloneResponseAsserter;
|
|
@@ -1,79 +1,72 @@
|
|
|
1
1
|
import { Test } from "../../test/test";
|
|
2
|
-
import { Databox, DataEventReason } from 'zation-client';
|
|
2
|
+
import { Databox, DataEventReason, DbStorage } from 'zation-client';
|
|
3
3
|
import { DataEventAsserter } from "../event/dataEventAsserter";
|
|
4
4
|
import { ValueAsserter } from "../value/valueAsserter";
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import { CodeMetadataEventAsserter } from "../event/codeMetadataEventAsserter";
|
|
6
|
+
import { ForintQuery } from "forint";
|
|
7
|
+
import { DataboxData, DataboxFetchData, DataboxMember } from "../../utils/types";
|
|
8
|
+
import { DeepReadonly } from "../../utils/types";
|
|
9
|
+
export declare abstract class AbstractDataboxAsserter<T, D extends Databox<any, any, any, any>> {
|
|
7
10
|
protected _test: Test;
|
|
8
|
-
protected databoxes:
|
|
11
|
+
protected databoxes: D[];
|
|
9
12
|
protected abstract self(): T;
|
|
10
|
-
protected constructor(databoxes:
|
|
11
|
-
protected _forEachDatabox(func: (databox:
|
|
13
|
+
protected constructor(databoxes: D[], test: Test);
|
|
14
|
+
protected _forEachDatabox(func: (databox: D, i: number) => Promise<void> | void): Promise<void>;
|
|
12
15
|
/**
|
|
13
16
|
* @description
|
|
14
|
-
*
|
|
17
|
+
* Asserts that the databox is connected.
|
|
15
18
|
* @param timeout
|
|
16
|
-
*
|
|
19
|
+
* Sets a time limit in that the assertion must be successful.
|
|
17
20
|
*/
|
|
18
21
|
isConnected(timeout?: number): T;
|
|
19
22
|
/**
|
|
20
23
|
* @description
|
|
21
|
-
*
|
|
24
|
+
* Asserts that the databox is disconnected.
|
|
22
25
|
* @param timeout
|
|
23
|
-
*
|
|
26
|
+
* Sets a time limit in that the assertion must be successful.
|
|
24
27
|
*/
|
|
25
28
|
isDisconnected(timeout?: number): T;
|
|
26
29
|
/**
|
|
27
|
-
*
|
|
30
|
+
* Asserts the current data of the databox.
|
|
28
31
|
*/
|
|
29
|
-
data(): ValueAsserter<T>;
|
|
32
|
+
data(): ValueAsserter<DeepReadonly<DataboxData<D>>, T>;
|
|
30
33
|
/**
|
|
31
|
-
*
|
|
34
|
+
* Asserts the current member of the databox.
|
|
32
35
|
*/
|
|
33
|
-
member(): ValueAsserter<T>;
|
|
36
|
+
member(): ValueAsserter<DataboxMember<D>, T>;
|
|
34
37
|
/**
|
|
35
38
|
* Fetches data multiple times on each databox.
|
|
36
39
|
*/
|
|
37
|
-
fetch(times?: number, fetchData?:
|
|
40
|
+
fetch(times?: number, fetchData?: DataboxFetchData<D>): T;
|
|
38
41
|
/**
|
|
39
42
|
* @description
|
|
40
|
-
*
|
|
41
|
-
*
|
|
43
|
+
* Runs a extra test action and asserts that no error will be thrown.
|
|
44
|
+
* AssertionErrors will be rethrown, and all other errors will fail
|
|
45
|
+
* the test with the provided message or the concrete error.
|
|
42
46
|
* @param action
|
|
43
|
-
* @param
|
|
47
|
+
* @param failMsg If not provided, the concrete error is used.
|
|
44
48
|
*/
|
|
45
|
-
action(action: (databox:
|
|
49
|
+
action(action: (databox: D, index: number) => void | Promise<void>, failMsg?: string): T;
|
|
46
50
|
/**
|
|
47
51
|
* @description
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* When no error is thrown, or the error does not match with the given classes
|
|
51
|
-
* (only if at least one class is given), it lets the test fail with the provided message.
|
|
52
|
-
* @param action
|
|
53
|
-
* @param message
|
|
54
|
-
* @param validErrorClasses
|
|
55
|
-
*/
|
|
56
|
-
actionShouldThrow(action: (databox: Databox, index: number) => void | Promise<void>, message: string, ...validErrorClasses: any[]): T;
|
|
57
|
-
/**
|
|
58
|
-
* @description
|
|
59
|
-
* Assert that the databox should trigger an DataChange event.
|
|
60
|
-
* It is also possible to assert only in case of specific data event reasons.
|
|
52
|
+
* Asserts that the databox should trigger an data change event.
|
|
53
|
+
* It is also possible to filter for specific data event reasons with a forint query.
|
|
61
54
|
*/
|
|
62
|
-
dataChangeTriggers(
|
|
55
|
+
dataChangeTriggers(reasonFilter?: ForintQuery<DataEventReason>): DataEventAsserter<T, [DeepReadonly<DataboxData<D>>, DataEventReason, DbStorage<DataboxData<D>>], 0>;
|
|
63
56
|
/**
|
|
64
57
|
* @description
|
|
65
|
-
*
|
|
66
|
-
* It is also possible to
|
|
58
|
+
* Asserts that the databox should trigger an data touch event.
|
|
59
|
+
* It is also possible to filter for specific data event reasons with a forint query.
|
|
67
60
|
*/
|
|
68
|
-
dataTouchTriggers(
|
|
61
|
+
dataTouchTriggers(reasonFilter?: ForintQuery<DataEventReason>): DataEventAsserter<T, [DeepReadonly<DataboxData<D>>, DataEventReason, DbStorage<DataboxData<D>>], 0>;
|
|
69
62
|
/**
|
|
70
63
|
* @description
|
|
71
|
-
*
|
|
64
|
+
* Asserts that the databox should trigger an close event.
|
|
72
65
|
*/
|
|
73
|
-
closeTriggers():
|
|
66
|
+
closeTriggers(): CodeMetadataEventAsserter<T, [number | string | undefined, any], 0, 1>;
|
|
74
67
|
/**
|
|
75
68
|
* @description
|
|
76
|
-
*
|
|
69
|
+
* Asserts that the databox should trigger an kick out event.
|
|
77
70
|
*/
|
|
78
|
-
kickOutTriggers():
|
|
71
|
+
kickOutTriggers(): CodeMetadataEventAsserter<T, [number | string | undefined, any], 0, 1>;
|
|
79
72
|
}
|