@nestia/e2e 0.1.0
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 +21 -0
- package/README.md +87 -0
- package/lib/ArrayUtil.d.ts +11 -0
- package/lib/ArrayUtil.js +216 -0
- package/lib/ArrayUtil.js.map +1 -0
- package/lib/DynamicExecutor.d.ts +124 -0
- package/lib/DynamicExecutor.js +358 -0
- package/lib/DynamicExecutor.js.map +1 -0
- package/lib/GaffComparator.d.ts +33 -0
- package/lib/GaffComparator.js +68 -0
- package/lib/GaffComparator.js.map +1 -0
- package/lib/RandomGenerator.d.ts +92 -0
- package/lib/RandomGenerator.js +186 -0
- package/lib/RandomGenerator.js.map +1 -0
- package/lib/StopWatch.d.ts +24 -0
- package/lib/StopWatch.js +92 -0
- package/lib/StopWatch.js.map +1 -0
- package/lib/TestValidator.d.ts +48 -0
- package/lib/TestValidator.js +178 -0
- package/lib/TestValidator.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +32 -0
- package/lib/index.js.map +1 -0
- package/lib/module.d.ts +6 -0
- package/lib/module.js +23 -0
- package/lib/module.js.map +1 -0
- package/package.json +49 -0
- package/src/ArrayUtil.ts +86 -0
- package/src/DynamicExecutor.ts +270 -0
- package/src/GaffComparator.ts +69 -0
- package/src/RandomGenerator.ts +178 -0
- package/src/StopWatch.ts +36 -0
- package/src/TestValidator.ts +142 -0
- package/src/index.ts +4 -0
- package/src/module.ts +6 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RandomGenerator = void 0;
|
|
4
|
+
var tstl_1 = require("tstl");
|
|
5
|
+
var ranges_1 = require("tstl/ranges");
|
|
6
|
+
/**
|
|
7
|
+
* Random data generator.
|
|
8
|
+
*
|
|
9
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
10
|
+
*/
|
|
11
|
+
var RandomGenerator;
|
|
12
|
+
(function (RandomGenerator) {
|
|
13
|
+
/* ----------------------------------------------------------------
|
|
14
|
+
IDENTIFICATIONS
|
|
15
|
+
---------------------------------------------------------------- */
|
|
16
|
+
var CHARACTERS = "abcdefghijklmnopqrstuvwxyz";
|
|
17
|
+
var LETTERS = "0123456789" + CHARACTERS;
|
|
18
|
+
/**
|
|
19
|
+
* Generate random alphabets
|
|
20
|
+
*
|
|
21
|
+
* @param length Length of alphabets
|
|
22
|
+
* @returns Generated alphabets
|
|
23
|
+
*/
|
|
24
|
+
function alphabets(length) {
|
|
25
|
+
return new Array(length)
|
|
26
|
+
.fill("")
|
|
27
|
+
.map(function () { return CHARACTERS[(0, tstl_1.randint)(0, CHARACTERS.length - 1)]; })
|
|
28
|
+
.join("");
|
|
29
|
+
}
|
|
30
|
+
RandomGenerator.alphabets = alphabets;
|
|
31
|
+
/**
|
|
32
|
+
* Generate random alpha-numeric characters.
|
|
33
|
+
*
|
|
34
|
+
* Generate random string constructed with only alphabets and numbers.
|
|
35
|
+
*
|
|
36
|
+
* @param length Length of characters
|
|
37
|
+
* @returns Generated string
|
|
38
|
+
*/
|
|
39
|
+
function alphaNumeric(length) {
|
|
40
|
+
return new Array(length)
|
|
41
|
+
.fill("")
|
|
42
|
+
.map(function () { return LETTERS[(0, tstl_1.randint)(0, LETTERS.length - 1)]; })
|
|
43
|
+
.join("");
|
|
44
|
+
}
|
|
45
|
+
RandomGenerator.alphaNumeric = alphaNumeric;
|
|
46
|
+
/**
|
|
47
|
+
* Generate random name.
|
|
48
|
+
*
|
|
49
|
+
* @param length Length of paragraph, default is 2 or 3
|
|
50
|
+
* @returns Generated name
|
|
51
|
+
*/
|
|
52
|
+
function name(length) {
|
|
53
|
+
if (length === void 0) { length = (0, tstl_1.randint)(2, 3); }
|
|
54
|
+
return RandomGenerator.paragraph(length)();
|
|
55
|
+
}
|
|
56
|
+
RandomGenerator.name = name;
|
|
57
|
+
/**
|
|
58
|
+
* Generate random paragraph.
|
|
59
|
+
*
|
|
60
|
+
* @param sentences Number of sentences
|
|
61
|
+
* @returns Paragraph generator
|
|
62
|
+
*/
|
|
63
|
+
RandomGenerator.paragraph = function (sentences) {
|
|
64
|
+
/**
|
|
65
|
+
* @param wordMin Minimum number of characters in a sentence
|
|
66
|
+
* @param wordMax Maximum number of characters in a sentence
|
|
67
|
+
* @returns Generated paragraph
|
|
68
|
+
*/
|
|
69
|
+
return function (wordMin, wordMax) {
|
|
70
|
+
if (wordMin === void 0) { wordMin = 3; }
|
|
71
|
+
if (wordMax === void 0) { wordMax = 7; }
|
|
72
|
+
return new Array(sentences)
|
|
73
|
+
.fill("")
|
|
74
|
+
.map(function () { return alphabets((0, tstl_1.randint)(wordMin, wordMax)); })
|
|
75
|
+
.join(" ");
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Generate random content.
|
|
80
|
+
*
|
|
81
|
+
* @param paragraphes Number of paragraphes
|
|
82
|
+
* @returns Currying function
|
|
83
|
+
*/
|
|
84
|
+
RandomGenerator.content = function (paragraphes) {
|
|
85
|
+
/**
|
|
86
|
+
* @param sentenceMin Minimum number of sentences in a paragraph
|
|
87
|
+
* @param sentenceMax Maximum number of sentences in a paragraph
|
|
88
|
+
* @returns Currying function
|
|
89
|
+
*/
|
|
90
|
+
return function (sentenceMin, sentenceMax) {
|
|
91
|
+
if (sentenceMin === void 0) { sentenceMin = 10; }
|
|
92
|
+
if (sentenceMax === void 0) { sentenceMax = 40; }
|
|
93
|
+
/**
|
|
94
|
+
* @param wordMin Minimum number of characters in a sentence
|
|
95
|
+
* @param wordMax Maximum number of characters in a sentence
|
|
96
|
+
* @returns Content generator
|
|
97
|
+
*/
|
|
98
|
+
return function (wordMin, wordMax) {
|
|
99
|
+
if (wordMin === void 0) { wordMin = 1; }
|
|
100
|
+
if (wordMax === void 0) { wordMax = 7; }
|
|
101
|
+
return new Array(paragraphes)
|
|
102
|
+
.fill("")
|
|
103
|
+
.map(function () {
|
|
104
|
+
return RandomGenerator.paragraph((0, tstl_1.randint)(sentenceMin, sentenceMax))(wordMin, wordMax);
|
|
105
|
+
})
|
|
106
|
+
.join("\n\n");
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Generate random substring.
|
|
112
|
+
*
|
|
113
|
+
* @param content Target content
|
|
114
|
+
* @returns Random substring
|
|
115
|
+
*/
|
|
116
|
+
function substring(content) {
|
|
117
|
+
var first = (0, tstl_1.randint)(0, content.length - 1);
|
|
118
|
+
var last = (0, tstl_1.randint)(first + 1, content.length);
|
|
119
|
+
return content.substring(first, last).trim();
|
|
120
|
+
}
|
|
121
|
+
RandomGenerator.substring = substring;
|
|
122
|
+
/**
|
|
123
|
+
* Generate random mobile number.
|
|
124
|
+
*
|
|
125
|
+
* @param prefix Prefix string, default is "010"
|
|
126
|
+
* @returns Random mobile number
|
|
127
|
+
*/
|
|
128
|
+
function mobile(prefix) {
|
|
129
|
+
if (prefix === void 0) { prefix = "010"; }
|
|
130
|
+
return "".concat(prefix).concat(digit(3, 4)).concat(digit(4, 4));
|
|
131
|
+
}
|
|
132
|
+
RandomGenerator.mobile = mobile;
|
|
133
|
+
/**
|
|
134
|
+
* Generate random digit.
|
|
135
|
+
*
|
|
136
|
+
* Generate random digit that filling front with zero characters
|
|
137
|
+
* when value is less than maximum cipher.
|
|
138
|
+
*
|
|
139
|
+
* @param minC Minimum cipher
|
|
140
|
+
* @param maxC Maximum cipher
|
|
141
|
+
* @returns
|
|
142
|
+
*/
|
|
143
|
+
function digit(minC, maxC) {
|
|
144
|
+
var val = (0, tstl_1.randint)(0, Math.pow(10.0, maxC) - 1);
|
|
145
|
+
var log10 = val ? Math.floor(Math.log10(val)) + 1 : 0;
|
|
146
|
+
var prefix = "0".repeat(Math.max(0, minC - log10));
|
|
147
|
+
return prefix + val.toString();
|
|
148
|
+
}
|
|
149
|
+
RandomGenerator.digit = digit;
|
|
150
|
+
/**
|
|
151
|
+
* Generate random date.
|
|
152
|
+
*
|
|
153
|
+
* @param from Start date
|
|
154
|
+
* @param range Range of random milliseconds
|
|
155
|
+
* @returns Random date
|
|
156
|
+
*/
|
|
157
|
+
function date(from, range) {
|
|
158
|
+
var time = from.getTime() + (0, tstl_1.randint)(0, range);
|
|
159
|
+
return new Date(time);
|
|
160
|
+
}
|
|
161
|
+
RandomGenerator.date = date;
|
|
162
|
+
/**
|
|
163
|
+
* Pick random elements from an array.
|
|
164
|
+
*
|
|
165
|
+
* @param array Target array
|
|
166
|
+
* @param count Number of count to pick
|
|
167
|
+
* @returns Sampled array
|
|
168
|
+
*/
|
|
169
|
+
function sample(array, count) {
|
|
170
|
+
var ret = [];
|
|
171
|
+
(0, ranges_1.sample)(array, (0, tstl_1.back_inserter)(ret), count);
|
|
172
|
+
return ret;
|
|
173
|
+
}
|
|
174
|
+
RandomGenerator.sample = sample;
|
|
175
|
+
/**
|
|
176
|
+
* Pick random element from an array.
|
|
177
|
+
*
|
|
178
|
+
* @param array Target array
|
|
179
|
+
* @returns picked element
|
|
180
|
+
*/
|
|
181
|
+
function pick(array) {
|
|
182
|
+
return array[(0, tstl_1.randint)(0, array.length - 1)];
|
|
183
|
+
}
|
|
184
|
+
RandomGenerator.pick = pick;
|
|
185
|
+
})(RandomGenerator = exports.RandomGenerator || (exports.RandomGenerator = {}));
|
|
186
|
+
//# sourceMappingURL=RandomGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RandomGenerator.js","sourceRoot":"","sources":["../src/RandomGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Elapsed time measurement utility.
|
|
3
|
+
*
|
|
4
|
+
* @author Sachon
|
|
5
|
+
*/
|
|
6
|
+
export declare namespace StopWatch {
|
|
7
|
+
/**
|
|
8
|
+
* Type of task.
|
|
9
|
+
*/
|
|
10
|
+
type Task = () => Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param task
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
function measure(task: Task): Promise<number>;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* @param title
|
|
20
|
+
* @param task
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
function trace(title: string, task: Task): Promise<number>;
|
|
24
|
+
}
|
package/lib/StopWatch.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.StopWatch = void 0;
|
|
40
|
+
/**
|
|
41
|
+
* Elapsed time measurement utility.
|
|
42
|
+
*
|
|
43
|
+
* @author Sachon
|
|
44
|
+
*/
|
|
45
|
+
var StopWatch;
|
|
46
|
+
(function (StopWatch) {
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @param task
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
function measure(task) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
+
var time;
|
|
55
|
+
return __generator(this, function (_a) {
|
|
56
|
+
switch (_a.label) {
|
|
57
|
+
case 0:
|
|
58
|
+
time = Date.now();
|
|
59
|
+
return [4 /*yield*/, task()];
|
|
60
|
+
case 1:
|
|
61
|
+
_a.sent();
|
|
62
|
+
return [2 /*return*/, Date.now() - time];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
StopWatch.measure = measure;
|
|
68
|
+
/**
|
|
69
|
+
*
|
|
70
|
+
* @param title
|
|
71
|
+
* @param task
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
function trace(title, task) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
76
|
+
var time;
|
|
77
|
+
return __generator(this, function (_a) {
|
|
78
|
+
switch (_a.label) {
|
|
79
|
+
case 0:
|
|
80
|
+
process.stdout.write(" - ".concat(title, ": "));
|
|
81
|
+
return [4 /*yield*/, measure(task)];
|
|
82
|
+
case 1:
|
|
83
|
+
time = _a.sent();
|
|
84
|
+
console.log("".concat(time.toLocaleString(), " ms"));
|
|
85
|
+
return [2 /*return*/, time];
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
StopWatch.trace = trace;
|
|
91
|
+
})(StopWatch = exports.StopWatch || (exports.StopWatch = {}));
|
|
92
|
+
//# sourceMappingURL=StopWatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StopWatch.js","sourceRoot":"","sources":["../src/StopWatch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,IAAiB,SAAS,CA8BzB;AA9BD,WAAiB,SAAS;IAMtB;;;;OAIG;IACH,SAAsB,OAAO,CAAC,IAAU;;;;;;wBAC9B,IAAI,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;wBAChC,qBAAM,IAAI,EAAE,EAAA;;wBAAZ,SAAY,CAAC;wBACb,sBAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAC;;;;KAC5B;IAJqB,iBAAO,UAI5B,CAAA;IAED;;;;;OAKG;IACH,SAAsB,KAAK,CAAC,KAAa,EAAE,IAAU;;;;;;wBACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAO,KAAK,OAAI,CAAC,CAAC;wBAClB,qBAAM,OAAO,CAAC,IAAI,CAAC,EAAA;;wBAAlC,IAAI,GAAW,SAAmB;wBAExC,OAAO,CAAC,GAAG,CAAC,UAAG,IAAI,CAAC,cAAc,EAAE,QAAK,CAAC,CAAC;wBAC3C,sBAAO,IAAI,EAAC;;;;KACf;IANqB,eAAK,QAM1B,CAAA;AACL,CAAC,EA9BgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QA8BzB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test validator.
|
|
3
|
+
*
|
|
4
|
+
* `TestValidator` is a collection gathering E2E validation functions.
|
|
5
|
+
*
|
|
6
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
7
|
+
*/
|
|
8
|
+
export declare namespace TestValidator {
|
|
9
|
+
/**
|
|
10
|
+
* Test whether error occurs.
|
|
11
|
+
*
|
|
12
|
+
* If error occurs, nothing would be happened.
|
|
13
|
+
*
|
|
14
|
+
* However, no error exists, then exception would be thrown.
|
|
15
|
+
*
|
|
16
|
+
* @param title Title of exception because of no error exists
|
|
17
|
+
*/
|
|
18
|
+
const error: (title: string) => (task: () => any | Promise<any>) => Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Validate index API.
|
|
21
|
+
*
|
|
22
|
+
* Test whether two indexed values are equal.
|
|
23
|
+
*
|
|
24
|
+
* If two values are different, then exception would be thrown.
|
|
25
|
+
*
|
|
26
|
+
* @param title Title of error message when different
|
|
27
|
+
*/
|
|
28
|
+
const index: (title: string) => <Solution extends IEntity<any>>(expected: Solution[]) => <Summary extends IEntity<any>>(gotten: Summary[], trace?: boolean) => void;
|
|
29
|
+
/**
|
|
30
|
+
* Validate sorting options.
|
|
31
|
+
*
|
|
32
|
+
* Test a pagination API supporting sorting options.
|
|
33
|
+
*
|
|
34
|
+
* You can validate detailed sorting options both asceding and descending orders
|
|
35
|
+
* with multiple fields. However, as it forms a complicate currying function,
|
|
36
|
+
* I recomend you to see below example code before using.
|
|
37
|
+
*
|
|
38
|
+
* @param title Title of error messaeg when sorting is invalid
|
|
39
|
+
*
|
|
40
|
+
* @example https://github.com/samchon/nestia-template/blob/master/src/test/features/api/bbs/test_api_bbs_article_index_sort.ts
|
|
41
|
+
*/
|
|
42
|
+
const sort: (title: string) => <T extends object, Fields extends string, Sortable_1 extends (`-${Fields}` | `+${Fields}`)[]>(getter: (sortable: Sortable_1) => Promise<T[]>) => (...fields: Fields[]) => (comp: (x: T, y: T) => number, filter?: ((elem: T) => boolean) | undefined) => (direction: "+" | "-", trace?: boolean) => Promise<void>;
|
|
43
|
+
type Sortable<Literal extends string> = Array<`-${Literal}` | `+${Literal}`>;
|
|
44
|
+
}
|
|
45
|
+
interface IEntity<Type extends string | number | bigint> {
|
|
46
|
+
id: Type;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.TestValidator = void 0;
|
|
40
|
+
var ranges_1 = require("tstl/ranges");
|
|
41
|
+
/**
|
|
42
|
+
* Test validator.
|
|
43
|
+
*
|
|
44
|
+
* `TestValidator` is a collection gathering E2E validation functions.
|
|
45
|
+
*
|
|
46
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
47
|
+
*/
|
|
48
|
+
var TestValidator;
|
|
49
|
+
(function (TestValidator) {
|
|
50
|
+
var _this = this;
|
|
51
|
+
/**
|
|
52
|
+
* Test whether error occurs.
|
|
53
|
+
*
|
|
54
|
+
* If error occurs, nothing would be happened.
|
|
55
|
+
*
|
|
56
|
+
* However, no error exists, then exception would be thrown.
|
|
57
|
+
*
|
|
58
|
+
* @param title Title of exception because of no error exists
|
|
59
|
+
*/
|
|
60
|
+
TestValidator.error = function (title) {
|
|
61
|
+
return function (task) { return __awaiter(_this, void 0, void 0, function () {
|
|
62
|
+
var _a;
|
|
63
|
+
return __generator(this, function (_b) {
|
|
64
|
+
switch (_b.label) {
|
|
65
|
+
case 0:
|
|
66
|
+
_b.trys.push([0, 2, , 3]);
|
|
67
|
+
return [4 /*yield*/, task()];
|
|
68
|
+
case 1:
|
|
69
|
+
_b.sent();
|
|
70
|
+
return [3 /*break*/, 3];
|
|
71
|
+
case 2:
|
|
72
|
+
_a = _b.sent();
|
|
73
|
+
return [2 /*return*/];
|
|
74
|
+
case 3: throw new Error("Bug on ".concat(title, ": exception must be thrown."));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}); };
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Validate index API.
|
|
81
|
+
*
|
|
82
|
+
* Test whether two indexed values are equal.
|
|
83
|
+
*
|
|
84
|
+
* If two values are different, then exception would be thrown.
|
|
85
|
+
*
|
|
86
|
+
* @param title Title of error message when different
|
|
87
|
+
*/
|
|
88
|
+
TestValidator.index = function (title) {
|
|
89
|
+
return function (expected) {
|
|
90
|
+
return function (gotten, trace) {
|
|
91
|
+
if (trace === void 0) { trace = true; }
|
|
92
|
+
var length = Math.min(expected.length, gotten.length);
|
|
93
|
+
expected = expected.slice(0, length);
|
|
94
|
+
gotten = gotten.slice(0, length);
|
|
95
|
+
var xIds = get_ids(expected).slice(0, length);
|
|
96
|
+
var yIds = get_ids(gotten)
|
|
97
|
+
.filter(function (id) { return id >= xIds[0]; })
|
|
98
|
+
.slice(0, length);
|
|
99
|
+
var equals = xIds.every(function (x, i) { return x === yIds[i]; });
|
|
100
|
+
if (equals === true)
|
|
101
|
+
return;
|
|
102
|
+
else if (trace === true)
|
|
103
|
+
console.log({
|
|
104
|
+
expected: xIds,
|
|
105
|
+
gotten: yIds,
|
|
106
|
+
});
|
|
107
|
+
throw new Error("Bug on ".concat(title, ": result of the index is different with manual aggregation."));
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Validate sorting options.
|
|
113
|
+
*
|
|
114
|
+
* Test a pagination API supporting sorting options.
|
|
115
|
+
*
|
|
116
|
+
* You can validate detailed sorting options both asceding and descending orders
|
|
117
|
+
* with multiple fields. However, as it forms a complicate currying function,
|
|
118
|
+
* I recomend you to see below example code before using.
|
|
119
|
+
*
|
|
120
|
+
* @param title Title of error messaeg when sorting is invalid
|
|
121
|
+
*
|
|
122
|
+
* @example https://github.com/samchon/nestia-template/blob/master/src/test/features/api/bbs/test_api_bbs_article_index_sort.ts
|
|
123
|
+
*/
|
|
124
|
+
TestValidator.sort = function (title) {
|
|
125
|
+
/**
|
|
126
|
+
* @param getter A pagination API function to be called
|
|
127
|
+
*/
|
|
128
|
+
return function (getter) {
|
|
129
|
+
/**
|
|
130
|
+
* @param fields List of fields to be sorted
|
|
131
|
+
*/
|
|
132
|
+
return function () {
|
|
133
|
+
var fields = [];
|
|
134
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
135
|
+
fields[_i] = arguments[_i];
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* @param comp Comparator function for validation
|
|
139
|
+
* @param filter Filter function for data if required
|
|
140
|
+
*/
|
|
141
|
+
return function (comp, filter) {
|
|
142
|
+
/**
|
|
143
|
+
* @param direction "+" means ascending order, and "-" means descending order
|
|
144
|
+
*/
|
|
145
|
+
return function (direction, trace) {
|
|
146
|
+
if (trace === void 0) { trace = true; }
|
|
147
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
148
|
+
var data, reversed;
|
|
149
|
+
return __generator(this, function (_a) {
|
|
150
|
+
switch (_a.label) {
|
|
151
|
+
case 0: return [4 /*yield*/, getter(fields.map(function (field) { return "".concat(direction).concat(field); }))];
|
|
152
|
+
case 1:
|
|
153
|
+
data = _a.sent();
|
|
154
|
+
if (filter)
|
|
155
|
+
data = data.filter(filter);
|
|
156
|
+
reversed = direction === "+" ? comp : function (x, y) { return comp(y, x); };
|
|
157
|
+
if ((0, ranges_1.is_sorted)(data, function (x, y) { return reversed(x, y) < 0; }) === false) {
|
|
158
|
+
if (fields.length === 1 &&
|
|
159
|
+
data.length &&
|
|
160
|
+
data[0][fields[0]] !== undefined &&
|
|
161
|
+
trace)
|
|
162
|
+
console.log(data.map(function (elem) { return elem[fields[0]]; }));
|
|
163
|
+
throw new Error("Bug on ".concat(title, ": wrong sorting on ").concat(direction, "(").concat(fields.join(", "), ")."));
|
|
164
|
+
}
|
|
165
|
+
return [2 /*return*/];
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
})(TestValidator = exports.TestValidator || (exports.TestValidator = {}));
|
|
175
|
+
function get_ids(entities) {
|
|
176
|
+
return entities.map(function (entity) { return entity.id; }).sort(function (x, y) { return (x < y ? -1 : 1); });
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=TestValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestValidator.js","sourceRoot":"","sources":["../src/TestValidator.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
var e2e = __importStar(require("./module"));
|
|
30
|
+
exports.default = e2e;
|
|
31
|
+
__exportStar(require("./module"), exports);
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAgC;AAEhC,kBAAe,GAAG,CAAC;AACnB,2CAAyB"}
|
package/lib/module.d.ts
ADDED
package/lib/module.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./ArrayUtil"), exports);
|
|
18
|
+
__exportStar(require("./DynamicExecutor"), exports);
|
|
19
|
+
__exportStar(require("./GaffComparator"), exports);
|
|
20
|
+
__exportStar(require("./RandomGenerator"), exports);
|
|
21
|
+
__exportStar(require("./StopWatch"), exports);
|
|
22
|
+
__exportStar(require("./TestValidator"), exports);
|
|
23
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,oDAAkC;AAClC,mDAAiC;AACjC,oDAAkC;AAClC,8CAA4B;AAC5B,kDAAgC"}
|