ondc-code-generator 0.0.3 → 0.0.4
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/constants/operations.d.ts +6 -0
- package/dist/constants/syntax.d.ts +15 -0
- package/dist/generator/config-compiler.d.ts +23 -0
- package/dist/generator/generators/classes/abstract-generator.d.ts +11 -0
- package/dist/generator/generators/documentation/markdown-message-generator.d.ts +2 -0
- package/dist/generator/generators/documentation/md-generator.d.ts +9 -0
- package/dist/generator/generators/typescript/templates/json-path-utils.d.ts +5 -0
- package/dist/generator/generators/typescript/templates/validation-utils.d.ts +21 -0
- package/dist/generator/generators/typescript/ts-ast.d.ts +1 -0
- package/dist/generator/generators/typescript/ts-generator.d.ts +17 -0
- package/dist/generator/validators/abstract-validator.d.ts +17 -0
- package/dist/generator/validators/config-validator.d.ts +11 -0
- package/dist/generator/validators/session-data-config/session-data-validator.d.ts +9 -0
- package/dist/generator/validators/tests-config/sub-validations.d.ts +38 -0
- package/dist/generator/validators/tests-config/test-list-validator.d.ts +10 -0
- package/dist/generator/validators/tests-config/test-validator.d.ts +7 -0
- package/dist/index.d.ts +2 -0
- package/dist/services/return-complier/ast-functions/compile-to-markdown.d.ts +2 -0
- package/dist/services/return-complier/ast-functions/semantic-validations.d.ts +2 -0
- package/dist/services/return-complier/ast.d.ts +42 -0
- package/dist/services/return-complier/combined.d.ts +2 -0
- package/dist/services/return-complier/parser.d.ts +14 -0
- package/dist/services/return-complier/tokens.d.ts +22 -0
- package/dist/services/schema-service.d.ts +6 -0
- package/dist/types/build.d.ts +48 -0
- package/dist/types/compiler-types.d.ts +3 -0
- package/dist/types/config-types.d.ts +21 -0
- package/dist/types/error-codes.d.ts +6 -0
- package/dist/types/general-types.d.ts +2 -0
- package/dist/utils/config-utils/json-schema-utils.d.ts +7 -0
- package/dist/utils/config-utils/yaml.d.ts +1 -0
- package/dist/utils/fs-utils.d.ts +3 -0
- package/dist/utils/general-utils/string-utils.d.ts +27 -0
- package/dist/utils/general-utils/test-object-utils.d.ts +2 -0
- package/dist/utils/general-utils/validation-utils.d.ts +5 -0
- package/dist/utils/json-path-utils/extract-string-paths.d.ts +8 -0
- package/dist/utils/json-path-utils/paths.d.ts +9 -0
- package/dist/utils/logger.d.ts +3 -0
- package/package.json +1 -2
- package/generated/L1-validations/api-tests/cancel.ts +0 -569
- package/generated/L1-validations/api-tests/confirm.ts +0 -1162
- package/generated/L1-validations/api-tests/init.ts +0 -1063
- package/generated/L1-validations/api-tests/on_cancel.ts +0 -2069
- package/generated/L1-validations/api-tests/on_confirm.ts +0 -2219
- package/generated/L1-validations/api-tests/on_init.ts +0 -1949
- package/generated/L1-validations/api-tests/on_search.ts +0 -1574
- package/generated/L1-validations/api-tests/on_select.ts +0 -1723
- package/generated/L1-validations/api-tests/on_status.ts +0 -2221
- package/generated/L1-validations/api-tests/on_update.ts +0 -1969
- package/generated/L1-validations/api-tests/search.ts +0 -695
- package/generated/L1-validations/api-tests/select.ts +0 -994
- package/generated/L1-validations/api-tests/status.ts +0 -443
- package/generated/L1-validations/api-tests/update.ts +0 -898
- package/generated/L1-validations/error.ts +0 -64
- package/generated/L1-validations/index.ts +0 -138
- package/generated/L1-validations/page/index.html +0 -2118
- package/generated/L1-validations/page/style.css +0 -225
- package/generated/L1-validations/readme.md +0 -1779
- package/generated/L1-validations/types/test-config.ts +0 -27
- package/generated/L1-validations/utils/json-path-utils.ts +0 -17
- package/generated/L1-validations/utils/validation-utils.ts +0 -116
- package/generated-structure/api-tests/search.ts +0 -24
- package/generated-structure/types/test-config.ts +0 -21
- package/samples/build.yaml +0 -24799
- package/samples/output.md +0 -91
- package/samples/output.ts +0 -27
- package/samples/selections.json +0 -216
- package/samples/validation-config.json +0 -3422
- package/samples/x-validations.yaml +0 -2893
- /package/{generated-structure/error.ts → dist/example.d.ts} +0 -0
- /package/{generated-structure/index.ts → dist/generator/generators/python/py-generator.d.ts} +0 -0
|
@@ -1,2219 +0,0 @@
|
|
|
1
|
-
import payloadUtils from "../utils/json-path-utils";
|
|
2
|
-
import validations from "../utils/validation-utils";
|
|
3
|
-
import {
|
|
4
|
-
testFunctionArray,
|
|
5
|
-
validationInput,
|
|
6
|
-
validationOutput,
|
|
7
|
-
} from "../types/test-config";
|
|
8
|
-
|
|
9
|
-
export default function on_confirm(input: validationInput): validationOutput {
|
|
10
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
11
|
-
let subResults: validationOutput = [];
|
|
12
|
-
let valid = true;
|
|
13
|
-
for (const testObj of scope) {
|
|
14
|
-
testObj._EXTERNAL = input.externalData;
|
|
15
|
-
|
|
16
|
-
function Attri_Required_1_CONTEXT_TIMESTAMP(
|
|
17
|
-
input: validationInput,
|
|
18
|
-
): validationOutput {
|
|
19
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
20
|
-
let subResults: validationOutput = [];
|
|
21
|
-
let valid = true;
|
|
22
|
-
for (const testObj of scope) {
|
|
23
|
-
testObj._EXTERNAL = input.externalData;
|
|
24
|
-
const attr = payloadUtils.getJsonPath(
|
|
25
|
-
testObj,
|
|
26
|
-
"$.context.timestamp",
|
|
27
|
-
);
|
|
28
|
-
|
|
29
|
-
const validate = validations.arePresent(attr);
|
|
30
|
-
|
|
31
|
-
if (!validate) {
|
|
32
|
-
return [
|
|
33
|
-
{
|
|
34
|
-
valid: false,
|
|
35
|
-
code: 30000,
|
|
36
|
-
description: `- **condition Attri_Required_1_CONTEXT_TIMESTAMP**: $.context.timestamp must be present in the payload`,
|
|
37
|
-
},
|
|
38
|
-
];
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
delete testObj._EXTERNAL;
|
|
42
|
-
}
|
|
43
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
44
|
-
}
|
|
45
|
-
function Attri_Required_2_CONTEXT_BAP_ID(
|
|
46
|
-
input: validationInput,
|
|
47
|
-
): validationOutput {
|
|
48
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
49
|
-
let subResults: validationOutput = [];
|
|
50
|
-
let valid = true;
|
|
51
|
-
for (const testObj of scope) {
|
|
52
|
-
testObj._EXTERNAL = input.externalData;
|
|
53
|
-
const attr = payloadUtils.getJsonPath(
|
|
54
|
-
testObj,
|
|
55
|
-
"$.context.bap_id",
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
const validate = validations.arePresent(attr);
|
|
59
|
-
|
|
60
|
-
if (!validate) {
|
|
61
|
-
return [
|
|
62
|
-
{
|
|
63
|
-
valid: false,
|
|
64
|
-
code: 30000,
|
|
65
|
-
description: `- **condition Attri_Required_2_CONTEXT_BAP_ID**: $.context.bap_id must be present in the payload`,
|
|
66
|
-
},
|
|
67
|
-
];
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
delete testObj._EXTERNAL;
|
|
71
|
-
}
|
|
72
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
73
|
-
}
|
|
74
|
-
function Attri_Required_3_CONTEXT_TRANSACTION_ID(
|
|
75
|
-
input: validationInput,
|
|
76
|
-
): validationOutput {
|
|
77
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
78
|
-
let subResults: validationOutput = [];
|
|
79
|
-
let valid = true;
|
|
80
|
-
for (const testObj of scope) {
|
|
81
|
-
testObj._EXTERNAL = input.externalData;
|
|
82
|
-
const attr = payloadUtils.getJsonPath(
|
|
83
|
-
testObj,
|
|
84
|
-
"$.context.transaction_id",
|
|
85
|
-
);
|
|
86
|
-
|
|
87
|
-
const validate = validations.arePresent(attr);
|
|
88
|
-
|
|
89
|
-
if (!validate) {
|
|
90
|
-
return [
|
|
91
|
-
{
|
|
92
|
-
valid: false,
|
|
93
|
-
code: 30000,
|
|
94
|
-
description: `- **condition Attri_Required_3_CONTEXT_TRANSACTION_ID**: $.context.transaction_id must be present in the payload`,
|
|
95
|
-
},
|
|
96
|
-
];
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
delete testObj._EXTERNAL;
|
|
100
|
-
}
|
|
101
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
102
|
-
}
|
|
103
|
-
function Attri_Required_4_CONTEXT_MESSAGE_ID(
|
|
104
|
-
input: validationInput,
|
|
105
|
-
): validationOutput {
|
|
106
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
107
|
-
let subResults: validationOutput = [];
|
|
108
|
-
let valid = true;
|
|
109
|
-
for (const testObj of scope) {
|
|
110
|
-
testObj._EXTERNAL = input.externalData;
|
|
111
|
-
const attr = payloadUtils.getJsonPath(
|
|
112
|
-
testObj,
|
|
113
|
-
"$.context.message_id",
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
const validate = validations.arePresent(attr);
|
|
117
|
-
|
|
118
|
-
if (!validate) {
|
|
119
|
-
return [
|
|
120
|
-
{
|
|
121
|
-
valid: false,
|
|
122
|
-
code: 30000,
|
|
123
|
-
description: `- **condition Attri_Required_4_CONTEXT_MESSAGE_ID**: $.context.message_id must be present in the payload`,
|
|
124
|
-
},
|
|
125
|
-
];
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
delete testObj._EXTERNAL;
|
|
129
|
-
}
|
|
130
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
131
|
-
}
|
|
132
|
-
function Attri_Required_5_CONTEXT_VERSION(
|
|
133
|
-
input: validationInput,
|
|
134
|
-
): validationOutput {
|
|
135
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
136
|
-
let subResults: validationOutput = [];
|
|
137
|
-
let valid = true;
|
|
138
|
-
for (const testObj of scope) {
|
|
139
|
-
testObj._EXTERNAL = input.externalData;
|
|
140
|
-
const attr = payloadUtils.getJsonPath(
|
|
141
|
-
testObj,
|
|
142
|
-
"$.context.version",
|
|
143
|
-
);
|
|
144
|
-
|
|
145
|
-
const validate = validations.arePresent(attr);
|
|
146
|
-
|
|
147
|
-
if (!validate) {
|
|
148
|
-
return [
|
|
149
|
-
{
|
|
150
|
-
valid: false,
|
|
151
|
-
code: 30000,
|
|
152
|
-
description: `- **condition Attri_Required_5_CONTEXT_VERSION**: $.context.version must be present in the payload`,
|
|
153
|
-
},
|
|
154
|
-
];
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
delete testObj._EXTERNAL;
|
|
158
|
-
}
|
|
159
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
160
|
-
}
|
|
161
|
-
function Attri_Required_6_CONTEXT_BAP_URI(
|
|
162
|
-
input: validationInput,
|
|
163
|
-
): validationOutput {
|
|
164
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
165
|
-
let subResults: validationOutput = [];
|
|
166
|
-
let valid = true;
|
|
167
|
-
for (const testObj of scope) {
|
|
168
|
-
testObj._EXTERNAL = input.externalData;
|
|
169
|
-
const attr = payloadUtils.getJsonPath(
|
|
170
|
-
testObj,
|
|
171
|
-
"$.context.bap_uri",
|
|
172
|
-
);
|
|
173
|
-
|
|
174
|
-
const validate = validations.arePresent(attr);
|
|
175
|
-
|
|
176
|
-
if (!validate) {
|
|
177
|
-
return [
|
|
178
|
-
{
|
|
179
|
-
valid: false,
|
|
180
|
-
code: 30000,
|
|
181
|
-
description: `- **condition Attri_Required_6_CONTEXT_BAP_URI**: $.context.bap_uri must be present in the payload`,
|
|
182
|
-
},
|
|
183
|
-
];
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
delete testObj._EXTERNAL;
|
|
187
|
-
}
|
|
188
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
189
|
-
}
|
|
190
|
-
function Attri_Required_7_CONTEXT_TTL(
|
|
191
|
-
input: validationInput,
|
|
192
|
-
): validationOutput {
|
|
193
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
194
|
-
let subResults: validationOutput = [];
|
|
195
|
-
let valid = true;
|
|
196
|
-
for (const testObj of scope) {
|
|
197
|
-
testObj._EXTERNAL = input.externalData;
|
|
198
|
-
const attr = payloadUtils.getJsonPath(testObj, "$.context.ttl");
|
|
199
|
-
|
|
200
|
-
const validate = validations.arePresent(attr);
|
|
201
|
-
|
|
202
|
-
if (!validate) {
|
|
203
|
-
return [
|
|
204
|
-
{
|
|
205
|
-
valid: false,
|
|
206
|
-
code: 30000,
|
|
207
|
-
description: `- **condition Attri_Required_7_CONTEXT_TTL**: $.context.ttl must be present in the payload`,
|
|
208
|
-
},
|
|
209
|
-
];
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
delete testObj._EXTERNAL;
|
|
213
|
-
}
|
|
214
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
215
|
-
}
|
|
216
|
-
function Attri_Required_8_CONTEXT_BPP_ID(
|
|
217
|
-
input: validationInput,
|
|
218
|
-
): validationOutput {
|
|
219
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
220
|
-
let subResults: validationOutput = [];
|
|
221
|
-
let valid = true;
|
|
222
|
-
for (const testObj of scope) {
|
|
223
|
-
testObj._EXTERNAL = input.externalData;
|
|
224
|
-
const attr = payloadUtils.getJsonPath(
|
|
225
|
-
testObj,
|
|
226
|
-
"$.context.bpp_id",
|
|
227
|
-
);
|
|
228
|
-
|
|
229
|
-
const validate = validations.arePresent(attr);
|
|
230
|
-
|
|
231
|
-
if (!validate) {
|
|
232
|
-
return [
|
|
233
|
-
{
|
|
234
|
-
valid: false,
|
|
235
|
-
code: 30000,
|
|
236
|
-
description: `- **condition Attri_Required_8_CONTEXT_BPP_ID**: $.context.bpp_id must be present in the payload`,
|
|
237
|
-
},
|
|
238
|
-
];
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
delete testObj._EXTERNAL;
|
|
242
|
-
}
|
|
243
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
244
|
-
}
|
|
245
|
-
function Attri_Required_9_CONTEXT_BPP_URI(
|
|
246
|
-
input: validationInput,
|
|
247
|
-
): validationOutput {
|
|
248
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
249
|
-
let subResults: validationOutput = [];
|
|
250
|
-
let valid = true;
|
|
251
|
-
for (const testObj of scope) {
|
|
252
|
-
testObj._EXTERNAL = input.externalData;
|
|
253
|
-
const attr = payloadUtils.getJsonPath(
|
|
254
|
-
testObj,
|
|
255
|
-
"$.context.bpp_uri",
|
|
256
|
-
);
|
|
257
|
-
|
|
258
|
-
const validate = validations.arePresent(attr);
|
|
259
|
-
|
|
260
|
-
if (!validate) {
|
|
261
|
-
return [
|
|
262
|
-
{
|
|
263
|
-
valid: false,
|
|
264
|
-
code: 30000,
|
|
265
|
-
description: `- **condition Attri_Required_9_CONTEXT_BPP_URI**: $.context.bpp_uri must be present in the payload`,
|
|
266
|
-
},
|
|
267
|
-
];
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
delete testObj._EXTERNAL;
|
|
271
|
-
}
|
|
272
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
273
|
-
}
|
|
274
|
-
function Enum_Required_43_CONTEXT_ACTION(
|
|
275
|
-
input: validationInput,
|
|
276
|
-
): validationOutput {
|
|
277
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
278
|
-
let subResults: validationOutput = [];
|
|
279
|
-
let valid = true;
|
|
280
|
-
for (const testObj of scope) {
|
|
281
|
-
testObj._EXTERNAL = input.externalData;
|
|
282
|
-
const enumList = ["on_confirm"];
|
|
283
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
284
|
-
testObj,
|
|
285
|
-
"$.context.action",
|
|
286
|
-
);
|
|
287
|
-
|
|
288
|
-
const validate =
|
|
289
|
-
validations.allIn(enumPath, enumList) &&
|
|
290
|
-
validations.arePresent(enumPath);
|
|
291
|
-
|
|
292
|
-
if (!validate) {
|
|
293
|
-
return [
|
|
294
|
-
{
|
|
295
|
-
valid: false,
|
|
296
|
-
code: 30000,
|
|
297
|
-
description: `- **condition Enum_Required_43_CONTEXT_ACTION**: all of the following sub conditions must be met:
|
|
298
|
-
|
|
299
|
-
- **condition Enum_Required_43_CONTEXT_ACTION.1**: every element of $.context.action must be in ["on_confirm"]
|
|
300
|
-
- **condition Enum_Required_43_CONTEXT_ACTION.2**: $.context.action must be present in the payload`,
|
|
301
|
-
},
|
|
302
|
-
];
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
delete testObj._EXTERNAL;
|
|
306
|
-
}
|
|
307
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
308
|
-
}
|
|
309
|
-
function Enum_Required_44_COUNTRY_CODE(
|
|
310
|
-
input: validationInput,
|
|
311
|
-
): validationOutput {
|
|
312
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
313
|
-
let subResults: validationOutput = [];
|
|
314
|
-
let valid = true;
|
|
315
|
-
for (const testObj of scope) {
|
|
316
|
-
testObj._EXTERNAL = input.externalData;
|
|
317
|
-
const enumList = ["IND"];
|
|
318
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
319
|
-
testObj,
|
|
320
|
-
"$.context.location.country.code",
|
|
321
|
-
);
|
|
322
|
-
|
|
323
|
-
const validate =
|
|
324
|
-
validations.allIn(enumPath, enumList) &&
|
|
325
|
-
validations.arePresent(enumPath);
|
|
326
|
-
|
|
327
|
-
if (!validate) {
|
|
328
|
-
return [
|
|
329
|
-
{
|
|
330
|
-
valid: false,
|
|
331
|
-
code: 30000,
|
|
332
|
-
description: `- **condition Enum_Required_44_COUNTRY_CODE**: all of the following sub conditions must be met:
|
|
333
|
-
|
|
334
|
-
- **condition Enum_Required_44_COUNTRY_CODE.1**: every element of $.context.location.country.code must be in ["IND"]
|
|
335
|
-
- **condition Enum_Required_44_COUNTRY_CODE.2**: $.context.location.country.code must be present in the payload`,
|
|
336
|
-
},
|
|
337
|
-
];
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
delete testObj._EXTERNAL;
|
|
341
|
-
}
|
|
342
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
343
|
-
}
|
|
344
|
-
function Enum_Required_45_CITY_CODE(
|
|
345
|
-
input: validationInput,
|
|
346
|
-
): validationOutput {
|
|
347
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
348
|
-
let subResults: validationOutput = [];
|
|
349
|
-
let valid = true;
|
|
350
|
-
for (const testObj of scope) {
|
|
351
|
-
testObj._EXTERNAL = input.externalData;
|
|
352
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
353
|
-
testObj,
|
|
354
|
-
"$.context.location.city.code",
|
|
355
|
-
);
|
|
356
|
-
|
|
357
|
-
const validate = validations.arePresent(enumPath);
|
|
358
|
-
|
|
359
|
-
if (!validate) {
|
|
360
|
-
return [
|
|
361
|
-
{
|
|
362
|
-
valid: false,
|
|
363
|
-
code: 30000,
|
|
364
|
-
description: `- **condition Enum_Required_45_CITY_CODE**: $.context.location.city.code must be present in the payload`,
|
|
365
|
-
},
|
|
366
|
-
];
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
delete testObj._EXTERNAL;
|
|
370
|
-
}
|
|
371
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
372
|
-
}
|
|
373
|
-
function Enum_Required_46_CONTEXT_DOMAIN(
|
|
374
|
-
input: validationInput,
|
|
375
|
-
): validationOutput {
|
|
376
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
377
|
-
let subResults: validationOutput = [];
|
|
378
|
-
let valid = true;
|
|
379
|
-
for (const testObj of scope) {
|
|
380
|
-
testObj._EXTERNAL = input.externalData;
|
|
381
|
-
const enumList = ["ONDC:TRV11"];
|
|
382
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
383
|
-
testObj,
|
|
384
|
-
"$.context.domain",
|
|
385
|
-
);
|
|
386
|
-
|
|
387
|
-
const validate =
|
|
388
|
-
validations.allIn(enumPath, enumList) &&
|
|
389
|
-
validations.arePresent(enumPath);
|
|
390
|
-
|
|
391
|
-
if (!validate) {
|
|
392
|
-
return [
|
|
393
|
-
{
|
|
394
|
-
valid: false,
|
|
395
|
-
code: 30000,
|
|
396
|
-
description: `- **condition Enum_Required_46_CONTEXT_DOMAIN**: all of the following sub conditions must be met:
|
|
397
|
-
|
|
398
|
-
- **condition Enum_Required_46_CONTEXT_DOMAIN.1**: every element of $.context.domain must be in ["ONDC:TRV11"]
|
|
399
|
-
- **condition Enum_Required_46_CONTEXT_DOMAIN.2**: $.context.domain must be present in the payload`,
|
|
400
|
-
},
|
|
401
|
-
];
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
delete testObj._EXTERNAL;
|
|
405
|
-
}
|
|
406
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
407
|
-
}
|
|
408
|
-
function on_confirm_Message_TESTS(
|
|
409
|
-
input: validationInput,
|
|
410
|
-
): validationOutput {
|
|
411
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
412
|
-
let subResults: validationOutput = [];
|
|
413
|
-
let valid = true;
|
|
414
|
-
for (const testObj of scope) {
|
|
415
|
-
testObj._EXTERNAL = input.externalData;
|
|
416
|
-
const errorBlock = payloadUtils.getJsonPath(
|
|
417
|
-
testObj,
|
|
418
|
-
"$.error.code",
|
|
419
|
-
);
|
|
420
|
-
|
|
421
|
-
const skipCheck = validations.arePresent(errorBlock);
|
|
422
|
-
if (skipCheck) continue;
|
|
423
|
-
|
|
424
|
-
function Attri_Required_10_ORDER_ID(
|
|
425
|
-
input: validationInput,
|
|
426
|
-
): validationOutput {
|
|
427
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
428
|
-
let subResults: validationOutput = [];
|
|
429
|
-
let valid = true;
|
|
430
|
-
for (const testObj of scope) {
|
|
431
|
-
testObj._EXTERNAL = input.externalData;
|
|
432
|
-
const attr = payloadUtils.getJsonPath(
|
|
433
|
-
testObj,
|
|
434
|
-
"$.message.order.id",
|
|
435
|
-
);
|
|
436
|
-
|
|
437
|
-
const validate = validations.arePresent(attr);
|
|
438
|
-
|
|
439
|
-
if (!validate) {
|
|
440
|
-
return [
|
|
441
|
-
{
|
|
442
|
-
valid: false,
|
|
443
|
-
code: 30000,
|
|
444
|
-
description: `- **condition Attri_Required_10_ORDER_ID**: $.message.order.id must be present in the payload`,
|
|
445
|
-
},
|
|
446
|
-
];
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
delete testObj._EXTERNAL;
|
|
450
|
-
}
|
|
451
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
452
|
-
}
|
|
453
|
-
function Attri_Required_11_ITEMS_ID(
|
|
454
|
-
input: validationInput,
|
|
455
|
-
): validationOutput {
|
|
456
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
457
|
-
let subResults: validationOutput = [];
|
|
458
|
-
let valid = true;
|
|
459
|
-
for (const testObj of scope) {
|
|
460
|
-
testObj._EXTERNAL = input.externalData;
|
|
461
|
-
const attr = payloadUtils.getJsonPath(
|
|
462
|
-
testObj,
|
|
463
|
-
"$.message.order.items[*].id",
|
|
464
|
-
);
|
|
465
|
-
|
|
466
|
-
const validate = validations.arePresent(attr);
|
|
467
|
-
|
|
468
|
-
if (!validate) {
|
|
469
|
-
return [
|
|
470
|
-
{
|
|
471
|
-
valid: false,
|
|
472
|
-
code: 30000,
|
|
473
|
-
description: `- **condition Attri_Required_11_ITEMS_ID**: $.message.order.items[*].id must be present in the payload`,
|
|
474
|
-
},
|
|
475
|
-
];
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
delete testObj._EXTERNAL;
|
|
479
|
-
}
|
|
480
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
481
|
-
}
|
|
482
|
-
function Attri_Required_12_DESCRIPTOR_NAME(
|
|
483
|
-
input: validationInput,
|
|
484
|
-
): validationOutput {
|
|
485
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
486
|
-
let subResults: validationOutput = [];
|
|
487
|
-
let valid = true;
|
|
488
|
-
for (const testObj of scope) {
|
|
489
|
-
testObj._EXTERNAL = input.externalData;
|
|
490
|
-
const attr = payloadUtils.getJsonPath(
|
|
491
|
-
testObj,
|
|
492
|
-
"$.message.order.items[*].descriptor.name",
|
|
493
|
-
);
|
|
494
|
-
|
|
495
|
-
const validate = validations.arePresent(attr);
|
|
496
|
-
|
|
497
|
-
if (!validate) {
|
|
498
|
-
return [
|
|
499
|
-
{
|
|
500
|
-
valid: false,
|
|
501
|
-
code: 30000,
|
|
502
|
-
description: `- **condition Attri_Required_12_DESCRIPTOR_NAME**: $.message.order.items[*].descriptor.name must be present in the payload`,
|
|
503
|
-
},
|
|
504
|
-
];
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
delete testObj._EXTERNAL;
|
|
508
|
-
}
|
|
509
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
510
|
-
}
|
|
511
|
-
function Attri_Required_13_PRICE_CURRENCY(
|
|
512
|
-
input: validationInput,
|
|
513
|
-
): validationOutput {
|
|
514
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
515
|
-
let subResults: validationOutput = [];
|
|
516
|
-
let valid = true;
|
|
517
|
-
for (const testObj of scope) {
|
|
518
|
-
testObj._EXTERNAL = input.externalData;
|
|
519
|
-
const attr = payloadUtils.getJsonPath(
|
|
520
|
-
testObj,
|
|
521
|
-
"$.message.order.items[*].price.currency",
|
|
522
|
-
);
|
|
523
|
-
|
|
524
|
-
const validate = validations.arePresent(attr);
|
|
525
|
-
|
|
526
|
-
if (!validate) {
|
|
527
|
-
return [
|
|
528
|
-
{
|
|
529
|
-
valid: false,
|
|
530
|
-
code: 30000,
|
|
531
|
-
description: `- **condition Attri_Required_13_PRICE_CURRENCY**: $.message.order.items[*].price.currency must be present in the payload`,
|
|
532
|
-
},
|
|
533
|
-
];
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
delete testObj._EXTERNAL;
|
|
537
|
-
}
|
|
538
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
539
|
-
}
|
|
540
|
-
function Attri_Required_14_PRICE_VALUE(
|
|
541
|
-
input: validationInput,
|
|
542
|
-
): validationOutput {
|
|
543
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
544
|
-
let subResults: validationOutput = [];
|
|
545
|
-
let valid = true;
|
|
546
|
-
for (const testObj of scope) {
|
|
547
|
-
testObj._EXTERNAL = input.externalData;
|
|
548
|
-
const attr = payloadUtils.getJsonPath(
|
|
549
|
-
testObj,
|
|
550
|
-
"$.message.order.items[*].price.value",
|
|
551
|
-
);
|
|
552
|
-
|
|
553
|
-
const validate = validations.arePresent(attr);
|
|
554
|
-
|
|
555
|
-
if (!validate) {
|
|
556
|
-
return [
|
|
557
|
-
{
|
|
558
|
-
valid: false,
|
|
559
|
-
code: 30000,
|
|
560
|
-
description: `- **condition Attri_Required_14_PRICE_VALUE**: $.message.order.items[*].price.value must be present in the payload`,
|
|
561
|
-
},
|
|
562
|
-
];
|
|
563
|
-
}
|
|
564
|
-
|
|
565
|
-
delete testObj._EXTERNAL;
|
|
566
|
-
}
|
|
567
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
568
|
-
}
|
|
569
|
-
function Attri_Required_15_SELECTED_COUNT(
|
|
570
|
-
input: validationInput,
|
|
571
|
-
): validationOutput {
|
|
572
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
573
|
-
let subResults: validationOutput = [];
|
|
574
|
-
let valid = true;
|
|
575
|
-
for (const testObj of scope) {
|
|
576
|
-
testObj._EXTERNAL = input.externalData;
|
|
577
|
-
const attr = payloadUtils.getJsonPath(
|
|
578
|
-
testObj,
|
|
579
|
-
"$.message.order.items[*].quantity.selected.count",
|
|
580
|
-
);
|
|
581
|
-
|
|
582
|
-
const validate = validations.arePresent(attr);
|
|
583
|
-
|
|
584
|
-
if (!validate) {
|
|
585
|
-
return [
|
|
586
|
-
{
|
|
587
|
-
valid: false,
|
|
588
|
-
code: 30000,
|
|
589
|
-
description: `- **condition Attri_Required_15_SELECTED_COUNT**: $.message.order.items[*].quantity.selected.count must be present in the payload`,
|
|
590
|
-
},
|
|
591
|
-
];
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
delete testObj._EXTERNAL;
|
|
595
|
-
}
|
|
596
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
597
|
-
}
|
|
598
|
-
function Attri_Required_16_ITEMS_FULFILLMENT_IDS(
|
|
599
|
-
input: validationInput,
|
|
600
|
-
): validationOutput {
|
|
601
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
602
|
-
let subResults: validationOutput = [];
|
|
603
|
-
let valid = true;
|
|
604
|
-
for (const testObj of scope) {
|
|
605
|
-
testObj._EXTERNAL = input.externalData;
|
|
606
|
-
const attr = payloadUtils.getJsonPath(
|
|
607
|
-
testObj,
|
|
608
|
-
"$.message.order.items[*].fulfillment_ids[*]",
|
|
609
|
-
);
|
|
610
|
-
|
|
611
|
-
const validate = validations.arePresent(attr);
|
|
612
|
-
|
|
613
|
-
if (!validate) {
|
|
614
|
-
return [
|
|
615
|
-
{
|
|
616
|
-
valid: false,
|
|
617
|
-
code: 30000,
|
|
618
|
-
description: `- **condition Attri_Required_16_ITEMS_FULFILLMENT_IDS**: $.message.order.items[*].fulfillment_ids[*] must be present in the payload`,
|
|
619
|
-
},
|
|
620
|
-
];
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
delete testObj._EXTERNAL;
|
|
624
|
-
}
|
|
625
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
626
|
-
}
|
|
627
|
-
function Attri_Required_17_TIME_LABEL(
|
|
628
|
-
input: validationInput,
|
|
629
|
-
): validationOutput {
|
|
630
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
631
|
-
let subResults: validationOutput = [];
|
|
632
|
-
let valid = true;
|
|
633
|
-
for (const testObj of scope) {
|
|
634
|
-
testObj._EXTERNAL = input.externalData;
|
|
635
|
-
const attr = payloadUtils.getJsonPath(
|
|
636
|
-
testObj,
|
|
637
|
-
"$.message.order.items[*].time.label",
|
|
638
|
-
);
|
|
639
|
-
|
|
640
|
-
const validate = validations.arePresent(attr);
|
|
641
|
-
|
|
642
|
-
if (!validate) {
|
|
643
|
-
return [
|
|
644
|
-
{
|
|
645
|
-
valid: false,
|
|
646
|
-
code: 30000,
|
|
647
|
-
description: `- **condition Attri_Required_17_TIME_LABEL**: $.message.order.items[*].time.label must be present in the payload`,
|
|
648
|
-
},
|
|
649
|
-
];
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
delete testObj._EXTERNAL;
|
|
653
|
-
}
|
|
654
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
655
|
-
}
|
|
656
|
-
function Attri_Required_18_TIME_DURATION(
|
|
657
|
-
input: validationInput,
|
|
658
|
-
): validationOutput {
|
|
659
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
660
|
-
let subResults: validationOutput = [];
|
|
661
|
-
let valid = true;
|
|
662
|
-
for (const testObj of scope) {
|
|
663
|
-
testObj._EXTERNAL = input.externalData;
|
|
664
|
-
const attr = payloadUtils.getJsonPath(
|
|
665
|
-
testObj,
|
|
666
|
-
"$.message.order.items[*].time.duration",
|
|
667
|
-
);
|
|
668
|
-
|
|
669
|
-
const validate = validations.arePresent(attr);
|
|
670
|
-
|
|
671
|
-
if (!validate) {
|
|
672
|
-
return [
|
|
673
|
-
{
|
|
674
|
-
valid: false,
|
|
675
|
-
code: 30000,
|
|
676
|
-
description: `- **condition Attri_Required_18_TIME_DURATION**: $.message.order.items[*].time.duration must be present in the payload`,
|
|
677
|
-
},
|
|
678
|
-
];
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
delete testObj._EXTERNAL;
|
|
682
|
-
}
|
|
683
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
684
|
-
}
|
|
685
|
-
function Attri_Required_19_PROVIDER_ID(
|
|
686
|
-
input: validationInput,
|
|
687
|
-
): validationOutput {
|
|
688
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
689
|
-
let subResults: validationOutput = [];
|
|
690
|
-
let valid = true;
|
|
691
|
-
for (const testObj of scope) {
|
|
692
|
-
testObj._EXTERNAL = input.externalData;
|
|
693
|
-
const attr = payloadUtils.getJsonPath(
|
|
694
|
-
testObj,
|
|
695
|
-
"$.message.order.provider.id",
|
|
696
|
-
);
|
|
697
|
-
|
|
698
|
-
const validate = validations.arePresent(attr);
|
|
699
|
-
|
|
700
|
-
if (!validate) {
|
|
701
|
-
return [
|
|
702
|
-
{
|
|
703
|
-
valid: false,
|
|
704
|
-
code: 30000,
|
|
705
|
-
description: `- **condition Attri_Required_19_PROVIDER_ID**: $.message.order.provider.id must be present in the payload`,
|
|
706
|
-
},
|
|
707
|
-
];
|
|
708
|
-
}
|
|
709
|
-
|
|
710
|
-
delete testObj._EXTERNAL;
|
|
711
|
-
}
|
|
712
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
713
|
-
}
|
|
714
|
-
function Attri_Required_20_DESCRIPTOR_NAME(
|
|
715
|
-
input: validationInput,
|
|
716
|
-
): validationOutput {
|
|
717
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
718
|
-
let subResults: validationOutput = [];
|
|
719
|
-
let valid = true;
|
|
720
|
-
for (const testObj of scope) {
|
|
721
|
-
testObj._EXTERNAL = input.externalData;
|
|
722
|
-
const attr = payloadUtils.getJsonPath(
|
|
723
|
-
testObj,
|
|
724
|
-
"$.message.order.provider.descriptor.name",
|
|
725
|
-
);
|
|
726
|
-
|
|
727
|
-
const validate = validations.arePresent(attr);
|
|
728
|
-
|
|
729
|
-
if (!validate) {
|
|
730
|
-
return [
|
|
731
|
-
{
|
|
732
|
-
valid: false,
|
|
733
|
-
code: 30000,
|
|
734
|
-
description: `- **condition Attri_Required_20_DESCRIPTOR_NAME**: $.message.order.provider.descriptor.name must be present in the payload`,
|
|
735
|
-
},
|
|
736
|
-
];
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
delete testObj._EXTERNAL;
|
|
740
|
-
}
|
|
741
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
742
|
-
}
|
|
743
|
-
function Attri_Required_21_FULFILLMENTS_ID(
|
|
744
|
-
input: validationInput,
|
|
745
|
-
): validationOutput {
|
|
746
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
747
|
-
let subResults: validationOutput = [];
|
|
748
|
-
let valid = true;
|
|
749
|
-
for (const testObj of scope) {
|
|
750
|
-
testObj._EXTERNAL = input.externalData;
|
|
751
|
-
const attr = payloadUtils.getJsonPath(
|
|
752
|
-
testObj,
|
|
753
|
-
"$.message.order.fulfillments[*].id",
|
|
754
|
-
);
|
|
755
|
-
|
|
756
|
-
const validate = validations.arePresent(attr);
|
|
757
|
-
|
|
758
|
-
if (!validate) {
|
|
759
|
-
return [
|
|
760
|
-
{
|
|
761
|
-
valid: false,
|
|
762
|
-
code: 30000,
|
|
763
|
-
description: `- **condition Attri_Required_21_FULFILLMENTS_ID**: $.message.order.fulfillments[*].id must be present in the payload`,
|
|
764
|
-
},
|
|
765
|
-
];
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
delete testObj._EXTERNAL;
|
|
769
|
-
}
|
|
770
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
771
|
-
}
|
|
772
|
-
function Attri_Required_22_LOCATION_GPS(
|
|
773
|
-
input: validationInput,
|
|
774
|
-
): validationOutput {
|
|
775
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
776
|
-
let subResults: validationOutput = [];
|
|
777
|
-
let valid = true;
|
|
778
|
-
for (const testObj of scope) {
|
|
779
|
-
testObj._EXTERNAL = input.externalData;
|
|
780
|
-
const attr = payloadUtils.getJsonPath(
|
|
781
|
-
testObj,
|
|
782
|
-
"$.message.order.fulfillments[*].stops[*].location.gps",
|
|
783
|
-
);
|
|
784
|
-
|
|
785
|
-
const validate = validations.arePresent(attr);
|
|
786
|
-
|
|
787
|
-
if (!validate) {
|
|
788
|
-
return [
|
|
789
|
-
{
|
|
790
|
-
valid: false,
|
|
791
|
-
code: 30000,
|
|
792
|
-
description: `- **condition Attri_Required_22_LOCATION_GPS**: $.message.order.fulfillments[*].stops[*].location.gps must be present in the payload`,
|
|
793
|
-
},
|
|
794
|
-
];
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
delete testObj._EXTERNAL;
|
|
798
|
-
}
|
|
799
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
800
|
-
}
|
|
801
|
-
function Attri_Required_23_FULFILLMENTS_ID(
|
|
802
|
-
input: validationInput,
|
|
803
|
-
): validationOutput {
|
|
804
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
805
|
-
let subResults: validationOutput = [];
|
|
806
|
-
let valid = true;
|
|
807
|
-
for (const testObj of scope) {
|
|
808
|
-
testObj._EXTERNAL = input.externalData;
|
|
809
|
-
const attr = payloadUtils.getJsonPath(
|
|
810
|
-
testObj,
|
|
811
|
-
"$.message.order.fulfillments[*].id",
|
|
812
|
-
);
|
|
813
|
-
|
|
814
|
-
const validate = validations.arePresent(attr);
|
|
815
|
-
|
|
816
|
-
if (!validate) {
|
|
817
|
-
return [
|
|
818
|
-
{
|
|
819
|
-
valid: false,
|
|
820
|
-
code: 30000,
|
|
821
|
-
description: `- **condition Attri_Required_23_FULFILLMENTS_ID**: $.message.order.fulfillments[*].id must be present in the payload`,
|
|
822
|
-
},
|
|
823
|
-
];
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
delete testObj._EXTERNAL;
|
|
827
|
-
}
|
|
828
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
829
|
-
}
|
|
830
|
-
function Attri_Required_24_PRICE_VALUE(
|
|
831
|
-
input: validationInput,
|
|
832
|
-
): validationOutput {
|
|
833
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
834
|
-
let subResults: validationOutput = [];
|
|
835
|
-
let valid = true;
|
|
836
|
-
for (const testObj of scope) {
|
|
837
|
-
testObj._EXTERNAL = input.externalData;
|
|
838
|
-
const attr = payloadUtils.getJsonPath(
|
|
839
|
-
testObj,
|
|
840
|
-
"$.message.order.quote.price.value",
|
|
841
|
-
);
|
|
842
|
-
|
|
843
|
-
const validate = validations.arePresent(attr);
|
|
844
|
-
|
|
845
|
-
if (!validate) {
|
|
846
|
-
return [
|
|
847
|
-
{
|
|
848
|
-
valid: false,
|
|
849
|
-
code: 30000,
|
|
850
|
-
description: `- **condition Attri_Required_24_PRICE_VALUE**: $.message.order.quote.price.value must be present in the payload`,
|
|
851
|
-
},
|
|
852
|
-
];
|
|
853
|
-
}
|
|
854
|
-
|
|
855
|
-
delete testObj._EXTERNAL;
|
|
856
|
-
}
|
|
857
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
858
|
-
}
|
|
859
|
-
function Attri_Required_25_PRICE_CURRENCY(
|
|
860
|
-
input: validationInput,
|
|
861
|
-
): validationOutput {
|
|
862
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
863
|
-
let subResults: validationOutput = [];
|
|
864
|
-
let valid = true;
|
|
865
|
-
for (const testObj of scope) {
|
|
866
|
-
testObj._EXTERNAL = input.externalData;
|
|
867
|
-
const attr = payloadUtils.getJsonPath(
|
|
868
|
-
testObj,
|
|
869
|
-
"$.message.order.quote.price.currency",
|
|
870
|
-
);
|
|
871
|
-
|
|
872
|
-
const validate = validations.arePresent(attr);
|
|
873
|
-
|
|
874
|
-
if (!validate) {
|
|
875
|
-
return [
|
|
876
|
-
{
|
|
877
|
-
valid: false,
|
|
878
|
-
code: 30000,
|
|
879
|
-
description: `- **condition Attri_Required_25_PRICE_CURRENCY**: $.message.order.quote.price.currency must be present in the payload`,
|
|
880
|
-
},
|
|
881
|
-
];
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
delete testObj._EXTERNAL;
|
|
885
|
-
}
|
|
886
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
887
|
-
}
|
|
888
|
-
function Attri_Required_26_ITEM_ID(
|
|
889
|
-
input: validationInput,
|
|
890
|
-
): validationOutput {
|
|
891
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
892
|
-
let subResults: validationOutput = [];
|
|
893
|
-
let valid = true;
|
|
894
|
-
for (const testObj of scope) {
|
|
895
|
-
testObj._EXTERNAL = input.externalData;
|
|
896
|
-
const attr = payloadUtils.getJsonPath(
|
|
897
|
-
testObj,
|
|
898
|
-
"$.message.order.quote.breakup[*].item.id",
|
|
899
|
-
);
|
|
900
|
-
|
|
901
|
-
const validate = validations.arePresent(attr);
|
|
902
|
-
|
|
903
|
-
if (!validate) {
|
|
904
|
-
return [
|
|
905
|
-
{
|
|
906
|
-
valid: false,
|
|
907
|
-
code: 30000,
|
|
908
|
-
description: `- **condition Attri_Required_26_ITEM_ID**: $.message.order.quote.breakup[*].item.id must be present in the payload`,
|
|
909
|
-
},
|
|
910
|
-
];
|
|
911
|
-
}
|
|
912
|
-
|
|
913
|
-
delete testObj._EXTERNAL;
|
|
914
|
-
}
|
|
915
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
916
|
-
}
|
|
917
|
-
function Attri_Required_27_PAYMENTS_ID(
|
|
918
|
-
input: validationInput,
|
|
919
|
-
): validationOutput {
|
|
920
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
921
|
-
let subResults: validationOutput = [];
|
|
922
|
-
let valid = true;
|
|
923
|
-
for (const testObj of scope) {
|
|
924
|
-
testObj._EXTERNAL = input.externalData;
|
|
925
|
-
const attr = payloadUtils.getJsonPath(
|
|
926
|
-
testObj,
|
|
927
|
-
"$.message.order.payments[*].id",
|
|
928
|
-
);
|
|
929
|
-
|
|
930
|
-
const validate = validations.arePresent(attr);
|
|
931
|
-
|
|
932
|
-
if (!validate) {
|
|
933
|
-
return [
|
|
934
|
-
{
|
|
935
|
-
valid: false,
|
|
936
|
-
code: 30000,
|
|
937
|
-
description: `- **condition Attri_Required_27_PAYMENTS_ID**: $.message.order.payments[*].id must be present in the payload`,
|
|
938
|
-
},
|
|
939
|
-
];
|
|
940
|
-
}
|
|
941
|
-
|
|
942
|
-
delete testObj._EXTERNAL;
|
|
943
|
-
}
|
|
944
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
945
|
-
}
|
|
946
|
-
function Attri_Required_28_PARAMS_TRANSACTION_ID(
|
|
947
|
-
input: validationInput,
|
|
948
|
-
): validationOutput {
|
|
949
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
950
|
-
let subResults: validationOutput = [];
|
|
951
|
-
let valid = true;
|
|
952
|
-
for (const testObj of scope) {
|
|
953
|
-
testObj._EXTERNAL = input.externalData;
|
|
954
|
-
const attr = payloadUtils.getJsonPath(
|
|
955
|
-
testObj,
|
|
956
|
-
"$.message.order.payments[*].params.transaction_id",
|
|
957
|
-
);
|
|
958
|
-
|
|
959
|
-
const validate = validations.arePresent(attr);
|
|
960
|
-
|
|
961
|
-
if (!validate) {
|
|
962
|
-
return [
|
|
963
|
-
{
|
|
964
|
-
valid: false,
|
|
965
|
-
code: 30000,
|
|
966
|
-
description: `- **condition Attri_Required_28_PARAMS_TRANSACTION_ID**: $.message.order.payments[*].params.transaction_id must be present in the payload`,
|
|
967
|
-
},
|
|
968
|
-
];
|
|
969
|
-
}
|
|
970
|
-
|
|
971
|
-
delete testObj._EXTERNAL;
|
|
972
|
-
}
|
|
973
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
974
|
-
}
|
|
975
|
-
function Attri_Required_29_PARAMS_CURRENCY(
|
|
976
|
-
input: validationInput,
|
|
977
|
-
): validationOutput {
|
|
978
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
979
|
-
let subResults: validationOutput = [];
|
|
980
|
-
let valid = true;
|
|
981
|
-
for (const testObj of scope) {
|
|
982
|
-
testObj._EXTERNAL = input.externalData;
|
|
983
|
-
const attr = payloadUtils.getJsonPath(
|
|
984
|
-
testObj,
|
|
985
|
-
"$.message.order.payments[*].params.currency",
|
|
986
|
-
);
|
|
987
|
-
|
|
988
|
-
const validate = validations.arePresent(attr);
|
|
989
|
-
|
|
990
|
-
if (!validate) {
|
|
991
|
-
return [
|
|
992
|
-
{
|
|
993
|
-
valid: false,
|
|
994
|
-
code: 30000,
|
|
995
|
-
description: `- **condition Attri_Required_29_PARAMS_CURRENCY**: $.message.order.payments[*].params.currency must be present in the payload`,
|
|
996
|
-
},
|
|
997
|
-
];
|
|
998
|
-
}
|
|
999
|
-
|
|
1000
|
-
delete testObj._EXTERNAL;
|
|
1001
|
-
}
|
|
1002
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1003
|
-
}
|
|
1004
|
-
function Attri_Required_30_PARAMS_AMOUNT(
|
|
1005
|
-
input: validationInput,
|
|
1006
|
-
): validationOutput {
|
|
1007
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1008
|
-
let subResults: validationOutput = [];
|
|
1009
|
-
let valid = true;
|
|
1010
|
-
for (const testObj of scope) {
|
|
1011
|
-
testObj._EXTERNAL = input.externalData;
|
|
1012
|
-
const attr = payloadUtils.getJsonPath(
|
|
1013
|
-
testObj,
|
|
1014
|
-
"$.message.order.payments[*].params.amount",
|
|
1015
|
-
);
|
|
1016
|
-
|
|
1017
|
-
const validate = validations.arePresent(attr);
|
|
1018
|
-
|
|
1019
|
-
if (!validate) {
|
|
1020
|
-
return [
|
|
1021
|
-
{
|
|
1022
|
-
valid: false,
|
|
1023
|
-
code: 30000,
|
|
1024
|
-
description: `- **condition Attri_Required_30_PARAMS_AMOUNT**: $.message.order.payments[*].params.amount must be present in the payload`,
|
|
1025
|
-
},
|
|
1026
|
-
];
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
delete testObj._EXTERNAL;
|
|
1030
|
-
}
|
|
1031
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1032
|
-
}
|
|
1033
|
-
function Attri_Required_31_CANCEL_BY_DURATION(
|
|
1034
|
-
input: validationInput,
|
|
1035
|
-
): validationOutput {
|
|
1036
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1037
|
-
let subResults: validationOutput = [];
|
|
1038
|
-
let valid = true;
|
|
1039
|
-
for (const testObj of scope) {
|
|
1040
|
-
testObj._EXTERNAL = input.externalData;
|
|
1041
|
-
const attr = payloadUtils.getJsonPath(
|
|
1042
|
-
testObj,
|
|
1043
|
-
"$.message.order.cancellation_terms[*].cancel_by.duration",
|
|
1044
|
-
);
|
|
1045
|
-
|
|
1046
|
-
const validate = validations.arePresent(attr);
|
|
1047
|
-
|
|
1048
|
-
if (!validate) {
|
|
1049
|
-
return [
|
|
1050
|
-
{
|
|
1051
|
-
valid: false,
|
|
1052
|
-
code: 30000,
|
|
1053
|
-
description: `- **condition Attri_Required_31_CANCEL_BY_DURATION**: $.message.order.cancellation_terms[*].cancel_by.duration must be present in the payload`,
|
|
1054
|
-
},
|
|
1055
|
-
];
|
|
1056
|
-
}
|
|
1057
|
-
|
|
1058
|
-
delete testObj._EXTERNAL;
|
|
1059
|
-
}
|
|
1060
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1061
|
-
}
|
|
1062
|
-
function Attri_Required_32_ORDER_STATUS(
|
|
1063
|
-
input: validationInput,
|
|
1064
|
-
): validationOutput {
|
|
1065
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1066
|
-
let subResults: validationOutput = [];
|
|
1067
|
-
let valid = true;
|
|
1068
|
-
for (const testObj of scope) {
|
|
1069
|
-
testObj._EXTERNAL = input.externalData;
|
|
1070
|
-
const attr = payloadUtils.getJsonPath(
|
|
1071
|
-
testObj,
|
|
1072
|
-
"$.message.order.status",
|
|
1073
|
-
);
|
|
1074
|
-
|
|
1075
|
-
const validate = validations.arePresent(attr);
|
|
1076
|
-
|
|
1077
|
-
if (!validate) {
|
|
1078
|
-
return [
|
|
1079
|
-
{
|
|
1080
|
-
valid: false,
|
|
1081
|
-
code: 30000,
|
|
1082
|
-
description: `- **condition Attri_Required_32_ORDER_STATUS**: $.message.order.status must be present in the payload`,
|
|
1083
|
-
},
|
|
1084
|
-
];
|
|
1085
|
-
}
|
|
1086
|
-
|
|
1087
|
-
delete testObj._EXTERNAL;
|
|
1088
|
-
}
|
|
1089
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1090
|
-
}
|
|
1091
|
-
function Attri_Required_33_ITEMS_CATEGORY_IDS(
|
|
1092
|
-
input: validationInput,
|
|
1093
|
-
): validationOutput {
|
|
1094
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1095
|
-
let subResults: validationOutput = [];
|
|
1096
|
-
let valid = true;
|
|
1097
|
-
for (const testObj of scope) {
|
|
1098
|
-
testObj._EXTERNAL = input.externalData;
|
|
1099
|
-
const attr = payloadUtils.getJsonPath(
|
|
1100
|
-
testObj,
|
|
1101
|
-
"$.message.order.items[*].category_ids[*]",
|
|
1102
|
-
);
|
|
1103
|
-
|
|
1104
|
-
const validate = validations.arePresent(attr);
|
|
1105
|
-
|
|
1106
|
-
if (!validate) {
|
|
1107
|
-
return [
|
|
1108
|
-
{
|
|
1109
|
-
valid: false,
|
|
1110
|
-
code: 30000,
|
|
1111
|
-
description: `- **condition Attri_Required_33_ITEMS_CATEGORY_IDS**: $.message.order.items[*].category_ids[*] must be present in the payload`,
|
|
1112
|
-
},
|
|
1113
|
-
];
|
|
1114
|
-
}
|
|
1115
|
-
|
|
1116
|
-
delete testObj._EXTERNAL;
|
|
1117
|
-
}
|
|
1118
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1119
|
-
}
|
|
1120
|
-
function Attri_Required_34_RANGE_START(
|
|
1121
|
-
input: validationInput,
|
|
1122
|
-
): validationOutput {
|
|
1123
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1124
|
-
let subResults: validationOutput = [];
|
|
1125
|
-
let valid = true;
|
|
1126
|
-
for (const testObj of scope) {
|
|
1127
|
-
testObj._EXTERNAL = input.externalData;
|
|
1128
|
-
const attr = payloadUtils.getJsonPath(
|
|
1129
|
-
testObj,
|
|
1130
|
-
"$.message.order.provider.time.range.start",
|
|
1131
|
-
);
|
|
1132
|
-
|
|
1133
|
-
const validate = validations.arePresent(attr);
|
|
1134
|
-
|
|
1135
|
-
if (!validate) {
|
|
1136
|
-
return [
|
|
1137
|
-
{
|
|
1138
|
-
valid: false,
|
|
1139
|
-
code: 30000,
|
|
1140
|
-
description: `- **condition Attri_Required_34_RANGE_START**: $.message.order.provider.time.range.start must be present in the payload`,
|
|
1141
|
-
},
|
|
1142
|
-
];
|
|
1143
|
-
}
|
|
1144
|
-
|
|
1145
|
-
delete testObj._EXTERNAL;
|
|
1146
|
-
}
|
|
1147
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1148
|
-
}
|
|
1149
|
-
function Attri_Required_35_RANGE_END(
|
|
1150
|
-
input: validationInput,
|
|
1151
|
-
): validationOutput {
|
|
1152
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1153
|
-
let subResults: validationOutput = [];
|
|
1154
|
-
let valid = true;
|
|
1155
|
-
for (const testObj of scope) {
|
|
1156
|
-
testObj._EXTERNAL = input.externalData;
|
|
1157
|
-
const attr = payloadUtils.getJsonPath(
|
|
1158
|
-
testObj,
|
|
1159
|
-
"$.message.order.provider.time.range.end",
|
|
1160
|
-
);
|
|
1161
|
-
|
|
1162
|
-
const validate = validations.arePresent(attr);
|
|
1163
|
-
|
|
1164
|
-
if (!validate) {
|
|
1165
|
-
return [
|
|
1166
|
-
{
|
|
1167
|
-
valid: false,
|
|
1168
|
-
code: 30000,
|
|
1169
|
-
description: `- **condition Attri_Required_35_RANGE_END**: $.message.order.provider.time.range.end must be present in the payload`,
|
|
1170
|
-
},
|
|
1171
|
-
];
|
|
1172
|
-
}
|
|
1173
|
-
|
|
1174
|
-
delete testObj._EXTERNAL;
|
|
1175
|
-
}
|
|
1176
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1177
|
-
}
|
|
1178
|
-
function Attri_Required_36_PRICE_VALUE(
|
|
1179
|
-
input: validationInput,
|
|
1180
|
-
): validationOutput {
|
|
1181
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1182
|
-
let subResults: validationOutput = [];
|
|
1183
|
-
let valid = true;
|
|
1184
|
-
for (const testObj of scope) {
|
|
1185
|
-
testObj._EXTERNAL = input.externalData;
|
|
1186
|
-
const attr = payloadUtils.getJsonPath(
|
|
1187
|
-
testObj,
|
|
1188
|
-
"$.message.order.quote.breakup[*].item.price.value",
|
|
1189
|
-
);
|
|
1190
|
-
|
|
1191
|
-
const validate = validations.arePresent(attr);
|
|
1192
|
-
|
|
1193
|
-
if (!validate) {
|
|
1194
|
-
return [
|
|
1195
|
-
{
|
|
1196
|
-
valid: false,
|
|
1197
|
-
code: 30000,
|
|
1198
|
-
description: `- **condition Attri_Required_36_PRICE_VALUE**: $.message.order.quote.breakup[*].item.price.value must be present in the payload`,
|
|
1199
|
-
},
|
|
1200
|
-
];
|
|
1201
|
-
}
|
|
1202
|
-
|
|
1203
|
-
delete testObj._EXTERNAL;
|
|
1204
|
-
}
|
|
1205
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1206
|
-
}
|
|
1207
|
-
function Attri_Required_37_PRICE_CURRENCY(
|
|
1208
|
-
input: validationInput,
|
|
1209
|
-
): validationOutput {
|
|
1210
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1211
|
-
let subResults: validationOutput = [];
|
|
1212
|
-
let valid = true;
|
|
1213
|
-
for (const testObj of scope) {
|
|
1214
|
-
testObj._EXTERNAL = input.externalData;
|
|
1215
|
-
const attr = payloadUtils.getJsonPath(
|
|
1216
|
-
testObj,
|
|
1217
|
-
"$.message.order.quote.breakup[*].item.price.currency",
|
|
1218
|
-
);
|
|
1219
|
-
|
|
1220
|
-
const validate = validations.arePresent(attr);
|
|
1221
|
-
|
|
1222
|
-
if (!validate) {
|
|
1223
|
-
return [
|
|
1224
|
-
{
|
|
1225
|
-
valid: false,
|
|
1226
|
-
code: 30000,
|
|
1227
|
-
description: `- **condition Attri_Required_37_PRICE_CURRENCY**: $.message.order.quote.breakup[*].item.price.currency must be present in the payload`,
|
|
1228
|
-
},
|
|
1229
|
-
];
|
|
1230
|
-
}
|
|
1231
|
-
|
|
1232
|
-
delete testObj._EXTERNAL;
|
|
1233
|
-
}
|
|
1234
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1235
|
-
}
|
|
1236
|
-
function Attri_Required_38_SELECTED_COUNT(
|
|
1237
|
-
input: validationInput,
|
|
1238
|
-
): validationOutput {
|
|
1239
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1240
|
-
let subResults: validationOutput = [];
|
|
1241
|
-
let valid = true;
|
|
1242
|
-
for (const testObj of scope) {
|
|
1243
|
-
testObj._EXTERNAL = input.externalData;
|
|
1244
|
-
const attr = payloadUtils.getJsonPath(
|
|
1245
|
-
testObj,
|
|
1246
|
-
"$.message.order.quote.breakup[*].item.quantity.selected.count",
|
|
1247
|
-
);
|
|
1248
|
-
|
|
1249
|
-
const validate = validations.arePresent(attr);
|
|
1250
|
-
|
|
1251
|
-
if (!validate) {
|
|
1252
|
-
return [
|
|
1253
|
-
{
|
|
1254
|
-
valid: false,
|
|
1255
|
-
code: 30000,
|
|
1256
|
-
description: `- **condition Attri_Required_38_SELECTED_COUNT**: $.message.order.quote.breakup[*].item.quantity.selected.count must be present in the payload`,
|
|
1257
|
-
},
|
|
1258
|
-
];
|
|
1259
|
-
}
|
|
1260
|
-
|
|
1261
|
-
delete testObj._EXTERNAL;
|
|
1262
|
-
}
|
|
1263
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1264
|
-
}
|
|
1265
|
-
function Attri_Required_39_EXTERNAL_REF_URL(
|
|
1266
|
-
input: validationInput,
|
|
1267
|
-
): validationOutput {
|
|
1268
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1269
|
-
let subResults: validationOutput = [];
|
|
1270
|
-
let valid = true;
|
|
1271
|
-
for (const testObj of scope) {
|
|
1272
|
-
testObj._EXTERNAL = input.externalData;
|
|
1273
|
-
const attr = payloadUtils.getJsonPath(
|
|
1274
|
-
testObj,
|
|
1275
|
-
"$.message.order.cancellation_terms[*].external_ref.url",
|
|
1276
|
-
);
|
|
1277
|
-
|
|
1278
|
-
const validate = validations.arePresent(attr);
|
|
1279
|
-
|
|
1280
|
-
if (!validate) {
|
|
1281
|
-
return [
|
|
1282
|
-
{
|
|
1283
|
-
valid: false,
|
|
1284
|
-
code: 30000,
|
|
1285
|
-
description: `- **condition Attri_Required_39_EXTERNAL_REF_URL**: $.message.order.cancellation_terms[*].external_ref.url must be present in the payload`,
|
|
1286
|
-
},
|
|
1287
|
-
];
|
|
1288
|
-
}
|
|
1289
|
-
|
|
1290
|
-
delete testObj._EXTERNAL;
|
|
1291
|
-
}
|
|
1292
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1293
|
-
}
|
|
1294
|
-
function Attri_Required_40_EXTERNAL_REF_MIMETYPE(
|
|
1295
|
-
input: validationInput,
|
|
1296
|
-
): validationOutput {
|
|
1297
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1298
|
-
let subResults: validationOutput = [];
|
|
1299
|
-
let valid = true;
|
|
1300
|
-
for (const testObj of scope) {
|
|
1301
|
-
testObj._EXTERNAL = input.externalData;
|
|
1302
|
-
const attr = payloadUtils.getJsonPath(
|
|
1303
|
-
testObj,
|
|
1304
|
-
"$.message.order.cancellation_terms[*].external_ref.mimetype",
|
|
1305
|
-
);
|
|
1306
|
-
|
|
1307
|
-
const validate = validations.arePresent(attr);
|
|
1308
|
-
|
|
1309
|
-
if (!validate) {
|
|
1310
|
-
return [
|
|
1311
|
-
{
|
|
1312
|
-
valid: false,
|
|
1313
|
-
code: 30000,
|
|
1314
|
-
description: `- **condition Attri_Required_40_EXTERNAL_REF_MIMETYPE**: $.message.order.cancellation_terms[*].external_ref.mimetype must be present in the payload`,
|
|
1315
|
-
},
|
|
1316
|
-
];
|
|
1317
|
-
}
|
|
1318
|
-
|
|
1319
|
-
delete testObj._EXTERNAL;
|
|
1320
|
-
}
|
|
1321
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1322
|
-
}
|
|
1323
|
-
function Attri_Required_41_ORDER_CREATED_AT(
|
|
1324
|
-
input: validationInput,
|
|
1325
|
-
): validationOutput {
|
|
1326
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1327
|
-
let subResults: validationOutput = [];
|
|
1328
|
-
let valid = true;
|
|
1329
|
-
for (const testObj of scope) {
|
|
1330
|
-
testObj._EXTERNAL = input.externalData;
|
|
1331
|
-
const attr = payloadUtils.getJsonPath(
|
|
1332
|
-
testObj,
|
|
1333
|
-
"$.message.order.created_at",
|
|
1334
|
-
);
|
|
1335
|
-
|
|
1336
|
-
const validate = validations.arePresent(attr);
|
|
1337
|
-
|
|
1338
|
-
if (!validate) {
|
|
1339
|
-
return [
|
|
1340
|
-
{
|
|
1341
|
-
valid: false,
|
|
1342
|
-
code: 30000,
|
|
1343
|
-
description: `- **condition Attri_Required_41_ORDER_CREATED_AT**: $.message.order.created_at must be present in the payload`,
|
|
1344
|
-
},
|
|
1345
|
-
];
|
|
1346
|
-
}
|
|
1347
|
-
|
|
1348
|
-
delete testObj._EXTERNAL;
|
|
1349
|
-
}
|
|
1350
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1351
|
-
}
|
|
1352
|
-
function Attri_Required_42_ORDER_UPDATED_AT(
|
|
1353
|
-
input: validationInput,
|
|
1354
|
-
): validationOutput {
|
|
1355
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1356
|
-
let subResults: validationOutput = [];
|
|
1357
|
-
let valid = true;
|
|
1358
|
-
for (const testObj of scope) {
|
|
1359
|
-
testObj._EXTERNAL = input.externalData;
|
|
1360
|
-
const attr = payloadUtils.getJsonPath(
|
|
1361
|
-
testObj,
|
|
1362
|
-
"$.message.order.updated_at",
|
|
1363
|
-
);
|
|
1364
|
-
|
|
1365
|
-
const validate = validations.arePresent(attr);
|
|
1366
|
-
|
|
1367
|
-
if (!validate) {
|
|
1368
|
-
return [
|
|
1369
|
-
{
|
|
1370
|
-
valid: false,
|
|
1371
|
-
code: 30000,
|
|
1372
|
-
description: `- **condition Attri_Required_42_ORDER_UPDATED_AT**: $.message.order.updated_at must be present in the payload`,
|
|
1373
|
-
},
|
|
1374
|
-
];
|
|
1375
|
-
}
|
|
1376
|
-
|
|
1377
|
-
delete testObj._EXTERNAL;
|
|
1378
|
-
}
|
|
1379
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1380
|
-
}
|
|
1381
|
-
function Enum_Required_47_DESCRIPTOR_CODE(
|
|
1382
|
-
input: validationInput,
|
|
1383
|
-
): validationOutput {
|
|
1384
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1385
|
-
let subResults: validationOutput = [];
|
|
1386
|
-
let valid = true;
|
|
1387
|
-
for (const testObj of scope) {
|
|
1388
|
-
testObj._EXTERNAL = input.externalData;
|
|
1389
|
-
const enumList = ["SJT", "SFSJT", "RJT", "PASS"];
|
|
1390
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1391
|
-
testObj,
|
|
1392
|
-
"$.message.order.items[*].descriptor.code",
|
|
1393
|
-
);
|
|
1394
|
-
|
|
1395
|
-
const validate =
|
|
1396
|
-
validations.allIn(enumPath, enumList) &&
|
|
1397
|
-
validations.arePresent(enumPath);
|
|
1398
|
-
|
|
1399
|
-
if (!validate) {
|
|
1400
|
-
return [
|
|
1401
|
-
{
|
|
1402
|
-
valid: false,
|
|
1403
|
-
code: 30000,
|
|
1404
|
-
description: `- **condition Enum_Required_47_DESCRIPTOR_CODE**: all of the following sub conditions must be met:
|
|
1405
|
-
|
|
1406
|
-
- **condition Enum_Required_47_DESCRIPTOR_CODE.1**: every element of $.message.order.items[*].descriptor.code must be in ["SJT", "SFSJT", "RJT", "PASS"]
|
|
1407
|
-
- **condition Enum_Required_47_DESCRIPTOR_CODE.2**: $.message.order.items[*].descriptor.code must be present in the payload`,
|
|
1408
|
-
},
|
|
1409
|
-
];
|
|
1410
|
-
}
|
|
1411
|
-
|
|
1412
|
-
delete testObj._EXTERNAL;
|
|
1413
|
-
}
|
|
1414
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1415
|
-
}
|
|
1416
|
-
function Enum_Required_48_VEHICLE_CATEGORY(
|
|
1417
|
-
input: validationInput,
|
|
1418
|
-
): validationOutput {
|
|
1419
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1420
|
-
let subResults: validationOutput = [];
|
|
1421
|
-
let valid = true;
|
|
1422
|
-
for (const testObj of scope) {
|
|
1423
|
-
testObj._EXTERNAL = input.externalData;
|
|
1424
|
-
const enumList = ["BUS", "METRO"];
|
|
1425
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1426
|
-
testObj,
|
|
1427
|
-
"$.message.order.fulfillments[*].vehicle.category",
|
|
1428
|
-
);
|
|
1429
|
-
|
|
1430
|
-
const validate =
|
|
1431
|
-
validations.allIn(enumPath, enumList) &&
|
|
1432
|
-
validations.arePresent(enumPath);
|
|
1433
|
-
|
|
1434
|
-
if (!validate) {
|
|
1435
|
-
return [
|
|
1436
|
-
{
|
|
1437
|
-
valid: false,
|
|
1438
|
-
code: 30000,
|
|
1439
|
-
description: `- **condition Enum_Required_48_VEHICLE_CATEGORY**: all of the following sub conditions must be met:
|
|
1440
|
-
|
|
1441
|
-
- **condition Enum_Required_48_VEHICLE_CATEGORY.1**: every element of $.message.order.fulfillments[*].vehicle.category must be in ["BUS", "METRO"]
|
|
1442
|
-
- **condition Enum_Required_48_VEHICLE_CATEGORY.2**: $.message.order.fulfillments[*].vehicle.category must be present in the payload`,
|
|
1443
|
-
},
|
|
1444
|
-
];
|
|
1445
|
-
}
|
|
1446
|
-
|
|
1447
|
-
delete testObj._EXTERNAL;
|
|
1448
|
-
}
|
|
1449
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1450
|
-
}
|
|
1451
|
-
function Enum_Required_49_FULFILLMENTS_TYPE(
|
|
1452
|
-
input: validationInput,
|
|
1453
|
-
): validationOutput {
|
|
1454
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1455
|
-
let subResults: validationOutput = [];
|
|
1456
|
-
let valid = true;
|
|
1457
|
-
for (const testObj of scope) {
|
|
1458
|
-
testObj._EXTERNAL = input.externalData;
|
|
1459
|
-
const enumList = ["ROUTE", "TRIP"];
|
|
1460
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1461
|
-
testObj,
|
|
1462
|
-
"$.message.order.fulfillments[*].type",
|
|
1463
|
-
);
|
|
1464
|
-
|
|
1465
|
-
const validate =
|
|
1466
|
-
validations.allIn(enumPath, enumList) &&
|
|
1467
|
-
validations.arePresent(enumPath);
|
|
1468
|
-
|
|
1469
|
-
if (!validate) {
|
|
1470
|
-
return [
|
|
1471
|
-
{
|
|
1472
|
-
valid: false,
|
|
1473
|
-
code: 30000,
|
|
1474
|
-
description: `- **condition Enum_Required_49_FULFILLMENTS_TYPE**: all of the following sub conditions must be met:
|
|
1475
|
-
|
|
1476
|
-
- **condition Enum_Required_49_FULFILLMENTS_TYPE.1**: every element of $.message.order.fulfillments[*].type must be in ["ROUTE", "TRIP"]
|
|
1477
|
-
- **condition Enum_Required_49_FULFILLMENTS_TYPE.2**: $.message.order.fulfillments[*].type must be present in the payload`,
|
|
1478
|
-
},
|
|
1479
|
-
];
|
|
1480
|
-
}
|
|
1481
|
-
|
|
1482
|
-
delete testObj._EXTERNAL;
|
|
1483
|
-
}
|
|
1484
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1485
|
-
}
|
|
1486
|
-
function Enum_Required_50_FULFILLMENTS_TYPE(
|
|
1487
|
-
input: validationInput,
|
|
1488
|
-
): validationOutput {
|
|
1489
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1490
|
-
let subResults: validationOutput = [];
|
|
1491
|
-
let valid = true;
|
|
1492
|
-
for (const testObj of scope) {
|
|
1493
|
-
testObj._EXTERNAL = input.externalData;
|
|
1494
|
-
const enumList = [
|
|
1495
|
-
"START",
|
|
1496
|
-
"END",
|
|
1497
|
-
"INTERMEDIATE_STOP",
|
|
1498
|
-
"TRANSIT_STOP",
|
|
1499
|
-
];
|
|
1500
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1501
|
-
testObj,
|
|
1502
|
-
"$.message.order.fulfillments[*].type",
|
|
1503
|
-
);
|
|
1504
|
-
|
|
1505
|
-
const skipCheck = !validations.arePresent(enumPath);
|
|
1506
|
-
if (skipCheck) continue;
|
|
1507
|
-
|
|
1508
|
-
const validate = validations.allIn(enumPath, enumList);
|
|
1509
|
-
|
|
1510
|
-
if (!validate) {
|
|
1511
|
-
return [
|
|
1512
|
-
{
|
|
1513
|
-
valid: false,
|
|
1514
|
-
code: 30000,
|
|
1515
|
-
description: `- **condition Enum_Required_50_FULFILLMENTS_TYPE**: every element of $.message.order.fulfillments[*].type must be in ["START", "END", "INTERMEDIATE_STOP", "TRANSIT_STOP"]
|
|
1516
|
-
|
|
1517
|
-
> Note: **Condition Enum_Required_50_FULFILLMENTS_TYPE** can be skipped if the following conditions are met:
|
|
1518
|
-
>
|
|
1519
|
-
> - **condition B**: $.message.order.fulfillments[*].type must **not** be present in the payload`,
|
|
1520
|
-
},
|
|
1521
|
-
];
|
|
1522
|
-
}
|
|
1523
|
-
|
|
1524
|
-
delete testObj._EXTERNAL;
|
|
1525
|
-
}
|
|
1526
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1527
|
-
}
|
|
1528
|
-
function Enum_Required_51_AUTHORIZATION_TYPE(
|
|
1529
|
-
input: validationInput,
|
|
1530
|
-
): validationOutput {
|
|
1531
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1532
|
-
let subResults: validationOutput = [];
|
|
1533
|
-
let valid = true;
|
|
1534
|
-
for (const testObj of scope) {
|
|
1535
|
-
testObj._EXTERNAL = input.externalData;
|
|
1536
|
-
const enumList = ["QR"];
|
|
1537
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1538
|
-
testObj,
|
|
1539
|
-
"$.message.order.fulfillments[*].stops[*].authorization.type",
|
|
1540
|
-
);
|
|
1541
|
-
|
|
1542
|
-
const skipCheck = !validations.arePresent(enumPath);
|
|
1543
|
-
if (skipCheck) continue;
|
|
1544
|
-
|
|
1545
|
-
const validate = validations.allIn(enumPath, enumList);
|
|
1546
|
-
|
|
1547
|
-
if (!validate) {
|
|
1548
|
-
return [
|
|
1549
|
-
{
|
|
1550
|
-
valid: false,
|
|
1551
|
-
code: 30000,
|
|
1552
|
-
description: `- **condition Enum_Required_51_AUTHORIZATION_TYPE**: every element of $.message.order.fulfillments[*].stops[*].authorization.type must be in ["QR"]
|
|
1553
|
-
|
|
1554
|
-
> Note: **Condition Enum_Required_51_AUTHORIZATION_TYPE** can be skipped if the following conditions are met:
|
|
1555
|
-
>
|
|
1556
|
-
> - **condition B**: $.message.order.fulfillments[*].stops[*].authorization.type must **not** be present in the payload`,
|
|
1557
|
-
},
|
|
1558
|
-
];
|
|
1559
|
-
}
|
|
1560
|
-
|
|
1561
|
-
delete testObj._EXTERNAL;
|
|
1562
|
-
}
|
|
1563
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1564
|
-
}
|
|
1565
|
-
function Enum_Required_52_AUTHORIZATION_STATUS(
|
|
1566
|
-
input: validationInput,
|
|
1567
|
-
): validationOutput {
|
|
1568
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1569
|
-
let subResults: validationOutput = [];
|
|
1570
|
-
let valid = true;
|
|
1571
|
-
for (const testObj of scope) {
|
|
1572
|
-
testObj._EXTERNAL = input.externalData;
|
|
1573
|
-
const enumList = ["UNCLAIMED", "CLAIMED"];
|
|
1574
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1575
|
-
testObj,
|
|
1576
|
-
"$.message.order.fulfillments[*].stops[*].authorization.status",
|
|
1577
|
-
);
|
|
1578
|
-
|
|
1579
|
-
const skipCheck = !validations.arePresent(enumPath);
|
|
1580
|
-
if (skipCheck) continue;
|
|
1581
|
-
|
|
1582
|
-
const validate = validations.allIn(enumPath, enumList);
|
|
1583
|
-
|
|
1584
|
-
if (!validate) {
|
|
1585
|
-
return [
|
|
1586
|
-
{
|
|
1587
|
-
valid: false,
|
|
1588
|
-
code: 30000,
|
|
1589
|
-
description: `- **condition Enum_Required_52_AUTHORIZATION_STATUS**: every element of $.message.order.fulfillments[*].stops[*].authorization.status must be in ["UNCLAIMED", "CLAIMED"]
|
|
1590
|
-
|
|
1591
|
-
> Note: **Condition Enum_Required_52_AUTHORIZATION_STATUS** can be skipped if the following conditions are met:
|
|
1592
|
-
>
|
|
1593
|
-
> - **condition B**: $.message.order.fulfillments[*].stops[*].authorization.status must **not** be present in the payload`,
|
|
1594
|
-
},
|
|
1595
|
-
];
|
|
1596
|
-
}
|
|
1597
|
-
|
|
1598
|
-
delete testObj._EXTERNAL;
|
|
1599
|
-
}
|
|
1600
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1601
|
-
}
|
|
1602
|
-
function Enum_Required_53_PAYMENTS_STATUS(
|
|
1603
|
-
input: validationInput,
|
|
1604
|
-
): validationOutput {
|
|
1605
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1606
|
-
let subResults: validationOutput = [];
|
|
1607
|
-
let valid = true;
|
|
1608
|
-
for (const testObj of scope) {
|
|
1609
|
-
testObj._EXTERNAL = input.externalData;
|
|
1610
|
-
const enumList = ["NOT-PAID", "PAID"];
|
|
1611
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1612
|
-
testObj,
|
|
1613
|
-
"$.message.order.payments[*].status",
|
|
1614
|
-
);
|
|
1615
|
-
|
|
1616
|
-
const validate =
|
|
1617
|
-
validations.allIn(enumPath, enumList) &&
|
|
1618
|
-
validations.arePresent(enumPath);
|
|
1619
|
-
|
|
1620
|
-
if (!validate) {
|
|
1621
|
-
return [
|
|
1622
|
-
{
|
|
1623
|
-
valid: false,
|
|
1624
|
-
code: 30000,
|
|
1625
|
-
description: `- **condition Enum_Required_53_PAYMENTS_STATUS**: all of the following sub conditions must be met:
|
|
1626
|
-
|
|
1627
|
-
- **condition Enum_Required_53_PAYMENTS_STATUS.1**: every element of $.message.order.payments[*].status must be in ["NOT-PAID", "PAID"]
|
|
1628
|
-
- **condition Enum_Required_53_PAYMENTS_STATUS.2**: $.message.order.payments[*].status must be present in the payload`,
|
|
1629
|
-
},
|
|
1630
|
-
];
|
|
1631
|
-
}
|
|
1632
|
-
|
|
1633
|
-
delete testObj._EXTERNAL;
|
|
1634
|
-
}
|
|
1635
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1636
|
-
}
|
|
1637
|
-
function Enum_Required_54_PAYMENTS_COLLECTED_BY(
|
|
1638
|
-
input: validationInput,
|
|
1639
|
-
): validationOutput {
|
|
1640
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1641
|
-
let subResults: validationOutput = [];
|
|
1642
|
-
let valid = true;
|
|
1643
|
-
for (const testObj of scope) {
|
|
1644
|
-
testObj._EXTERNAL = input.externalData;
|
|
1645
|
-
const enumList = ["BPP", "BAP"];
|
|
1646
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1647
|
-
testObj,
|
|
1648
|
-
"$.message.order.payments[*].collected_by",
|
|
1649
|
-
);
|
|
1650
|
-
|
|
1651
|
-
const validate =
|
|
1652
|
-
validations.allIn(enumPath, enumList) &&
|
|
1653
|
-
validations.arePresent(enumPath);
|
|
1654
|
-
|
|
1655
|
-
if (!validate) {
|
|
1656
|
-
return [
|
|
1657
|
-
{
|
|
1658
|
-
valid: false,
|
|
1659
|
-
code: 30000,
|
|
1660
|
-
description: `- **condition Enum_Required_54_PAYMENTS_COLLECTED_BY**: all of the following sub conditions must be met:
|
|
1661
|
-
|
|
1662
|
-
- **condition Enum_Required_54_PAYMENTS_COLLECTED_BY.1**: every element of $.message.order.payments[*].collected_by must be in ["BPP", "BAP"]
|
|
1663
|
-
- **condition Enum_Required_54_PAYMENTS_COLLECTED_BY.2**: $.message.order.payments[*].collected_by must be present in the payload`,
|
|
1664
|
-
},
|
|
1665
|
-
];
|
|
1666
|
-
}
|
|
1667
|
-
|
|
1668
|
-
delete testObj._EXTERNAL;
|
|
1669
|
-
}
|
|
1670
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1671
|
-
}
|
|
1672
|
-
function Enum_Required_55_PAYMENTS_TYPE(
|
|
1673
|
-
input: validationInput,
|
|
1674
|
-
): validationOutput {
|
|
1675
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1676
|
-
let subResults: validationOutput = [];
|
|
1677
|
-
let valid = true;
|
|
1678
|
-
for (const testObj of scope) {
|
|
1679
|
-
testObj._EXTERNAL = input.externalData;
|
|
1680
|
-
const enumList = [
|
|
1681
|
-
"PRE-ORDER",
|
|
1682
|
-
"ON-FULFILLMENT",
|
|
1683
|
-
"POST-FULFILLMENT",
|
|
1684
|
-
];
|
|
1685
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1686
|
-
testObj,
|
|
1687
|
-
"$.message.order.payments[*].type",
|
|
1688
|
-
);
|
|
1689
|
-
|
|
1690
|
-
const validate =
|
|
1691
|
-
validations.allIn(enumPath, enumList) &&
|
|
1692
|
-
validations.arePresent(enumPath);
|
|
1693
|
-
|
|
1694
|
-
if (!validate) {
|
|
1695
|
-
return [
|
|
1696
|
-
{
|
|
1697
|
-
valid: false,
|
|
1698
|
-
code: 30000,
|
|
1699
|
-
description: `- **condition Enum_Required_55_PAYMENTS_TYPE**: all of the following sub conditions must be met:
|
|
1700
|
-
|
|
1701
|
-
- **condition Enum_Required_55_PAYMENTS_TYPE.1**: every element of $.message.order.payments[*].type must be in ["PRE-ORDER", "ON-FULFILLMENT", "POST-FULFILLMENT"]
|
|
1702
|
-
- **condition Enum_Required_55_PAYMENTS_TYPE.2**: $.message.order.payments[*].type must be present in the payload`,
|
|
1703
|
-
},
|
|
1704
|
-
];
|
|
1705
|
-
}
|
|
1706
|
-
|
|
1707
|
-
delete testObj._EXTERNAL;
|
|
1708
|
-
}
|
|
1709
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1710
|
-
}
|
|
1711
|
-
function Enum_Required_56_BREAKUP_TITLE(
|
|
1712
|
-
input: validationInput,
|
|
1713
|
-
): validationOutput {
|
|
1714
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1715
|
-
let subResults: validationOutput = [];
|
|
1716
|
-
let valid = true;
|
|
1717
|
-
for (const testObj of scope) {
|
|
1718
|
-
testObj._EXTERNAL = input.externalData;
|
|
1719
|
-
const enumList = [
|
|
1720
|
-
"BASE_PRICE",
|
|
1721
|
-
"REFUND",
|
|
1722
|
-
"CANCELLATION_CHARGES",
|
|
1723
|
-
"OFFER",
|
|
1724
|
-
"TOLL",
|
|
1725
|
-
];
|
|
1726
|
-
const enumPath = payloadUtils.getJsonPath(
|
|
1727
|
-
testObj,
|
|
1728
|
-
"$.message.order.quote.breakup[*].title",
|
|
1729
|
-
);
|
|
1730
|
-
|
|
1731
|
-
const validate =
|
|
1732
|
-
validations.allIn(enumPath, enumList) &&
|
|
1733
|
-
validations.arePresent(enumPath);
|
|
1734
|
-
|
|
1735
|
-
if (!validate) {
|
|
1736
|
-
return [
|
|
1737
|
-
{
|
|
1738
|
-
valid: false,
|
|
1739
|
-
code: 30000,
|
|
1740
|
-
description: `- **condition Enum_Required_56_BREAKUP_TITLE**: all of the following sub conditions must be met:
|
|
1741
|
-
|
|
1742
|
-
- **condition Enum_Required_56_BREAKUP_TITLE.1**: every element of $.message.order.quote.breakup[*].title must be in ["BASE_PRICE", "REFUND", "CANCELLATION_CHARGES", "OFFER", "TOLL"]
|
|
1743
|
-
- **condition Enum_Required_56_BREAKUP_TITLE.2**: $.message.order.quote.breakup[*].title must be present in the payload`,
|
|
1744
|
-
},
|
|
1745
|
-
];
|
|
1746
|
-
}
|
|
1747
|
-
|
|
1748
|
-
delete testObj._EXTERNAL;
|
|
1749
|
-
}
|
|
1750
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1751
|
-
}
|
|
1752
|
-
function ROUTE_INFO_Tag_Required_57_DESCRIPTOR_CODE(
|
|
1753
|
-
input: validationInput,
|
|
1754
|
-
): validationOutput {
|
|
1755
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1756
|
-
let subResults: validationOutput = [];
|
|
1757
|
-
let valid = true;
|
|
1758
|
-
for (const testObj of scope) {
|
|
1759
|
-
testObj._EXTERNAL = input.externalData;
|
|
1760
|
-
const validTags = [
|
|
1761
|
-
"ROUTE_INFO",
|
|
1762
|
-
"TICKET_INFO",
|
|
1763
|
-
"TRIP_DETAILS",
|
|
1764
|
-
];
|
|
1765
|
-
const tagPath = payloadUtils.getJsonPath(
|
|
1766
|
-
testObj,
|
|
1767
|
-
"$.message.order.fulfillments[*].tags[*].descriptor.code",
|
|
1768
|
-
);
|
|
1769
|
-
|
|
1770
|
-
const skipCheck = !validations.arePresent(tagPath);
|
|
1771
|
-
if (skipCheck) continue;
|
|
1772
|
-
|
|
1773
|
-
const validate = validations.allIn(tagPath, validTags);
|
|
1774
|
-
|
|
1775
|
-
if (!validate) {
|
|
1776
|
-
return [
|
|
1777
|
-
{
|
|
1778
|
-
valid: false,
|
|
1779
|
-
code: 30000,
|
|
1780
|
-
description: `- **condition ROUTE_INFO_Tag_Required_57_DESCRIPTOR_CODE**: every element of $.message.order.fulfillments[*].tags[*].descriptor.code must be in ["ROUTE_INFO", "TICKET_INFO", "TRIP_DETAILS"]
|
|
1781
|
-
|
|
1782
|
-
> Note: **Condition ROUTE_INFO_Tag_Required_57_DESCRIPTOR_CODE** can be skipped if the following conditions are met:
|
|
1783
|
-
>
|
|
1784
|
-
> - **condition B**: $.message.order.fulfillments[*].tags[*].descriptor.code must **not** be present in the payload`,
|
|
1785
|
-
},
|
|
1786
|
-
];
|
|
1787
|
-
}
|
|
1788
|
-
|
|
1789
|
-
delete testObj._EXTERNAL;
|
|
1790
|
-
}
|
|
1791
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1792
|
-
}
|
|
1793
|
-
function validate_tag_0_ROUTE_INFO(
|
|
1794
|
-
input: validationInput,
|
|
1795
|
-
): validationOutput {
|
|
1796
|
-
const scope = payloadUtils.getJsonPath(
|
|
1797
|
-
input.payload,
|
|
1798
|
-
"$.message.order.fulfillments[*].tags[?(@.descriptor.code=='ROUTE_INFO')]",
|
|
1799
|
-
);
|
|
1800
|
-
let subResults: validationOutput = [];
|
|
1801
|
-
let valid = true;
|
|
1802
|
-
for (const testObj of scope) {
|
|
1803
|
-
testObj._EXTERNAL = input.externalData;
|
|
1804
|
-
const subTags = payloadUtils.getJsonPath(
|
|
1805
|
-
testObj,
|
|
1806
|
-
"$.list[*].descriptor.code",
|
|
1807
|
-
);
|
|
1808
|
-
const validValues = ["ROUTE_ID", "ROUTE_DIRECTION"];
|
|
1809
|
-
|
|
1810
|
-
const validate = validations.allIn(
|
|
1811
|
-
subTags,
|
|
1812
|
-
validValues,
|
|
1813
|
-
);
|
|
1814
|
-
|
|
1815
|
-
if (!validate) {
|
|
1816
|
-
return [
|
|
1817
|
-
{
|
|
1818
|
-
valid: false,
|
|
1819
|
-
code: 30000,
|
|
1820
|
-
description: `- **condition validate_tag_0_ROUTE_INFO**: every element of $.message.order.fulfillments[*].tags[?(@.descriptor.code=='ROUTE_INFO')].list[*].descriptor.code must be in ["ROUTE_ID", "ROUTE_DIRECTION"]`,
|
|
1821
|
-
},
|
|
1822
|
-
];
|
|
1823
|
-
}
|
|
1824
|
-
|
|
1825
|
-
delete testObj._EXTERNAL;
|
|
1826
|
-
}
|
|
1827
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1828
|
-
}
|
|
1829
|
-
function validate_tag_0_TICKET_INFO(
|
|
1830
|
-
input: validationInput,
|
|
1831
|
-
): validationOutput {
|
|
1832
|
-
const scope = payloadUtils.getJsonPath(
|
|
1833
|
-
input.payload,
|
|
1834
|
-
"$.message.order.fulfillments[*].tags[?(@.descriptor.code=='TICKET_INFO')]",
|
|
1835
|
-
);
|
|
1836
|
-
let subResults: validationOutput = [];
|
|
1837
|
-
let valid = true;
|
|
1838
|
-
for (const testObj of scope) {
|
|
1839
|
-
testObj._EXTERNAL = input.externalData;
|
|
1840
|
-
const subTags = payloadUtils.getJsonPath(
|
|
1841
|
-
testObj,
|
|
1842
|
-
"$.list[*].descriptor.code",
|
|
1843
|
-
);
|
|
1844
|
-
const validValues = ["NUMBER"];
|
|
1845
|
-
|
|
1846
|
-
const validate = validations.allIn(
|
|
1847
|
-
subTags,
|
|
1848
|
-
validValues,
|
|
1849
|
-
);
|
|
1850
|
-
|
|
1851
|
-
if (!validate) {
|
|
1852
|
-
return [
|
|
1853
|
-
{
|
|
1854
|
-
valid: false,
|
|
1855
|
-
code: 30000,
|
|
1856
|
-
description: `- **condition validate_tag_0_TICKET_INFO**: every element of $.message.order.fulfillments[*].tags[?(@.descriptor.code=='TICKET_INFO')].list[*].descriptor.code must be in ["NUMBER"]`,
|
|
1857
|
-
},
|
|
1858
|
-
];
|
|
1859
|
-
}
|
|
1860
|
-
|
|
1861
|
-
delete testObj._EXTERNAL;
|
|
1862
|
-
}
|
|
1863
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1864
|
-
}
|
|
1865
|
-
function validate_tag_0_TRIP_DETAILS(
|
|
1866
|
-
input: validationInput,
|
|
1867
|
-
): validationOutput {
|
|
1868
|
-
const scope = payloadUtils.getJsonPath(
|
|
1869
|
-
input.payload,
|
|
1870
|
-
"$.message.order.fulfillments[*].tags[?(@.descriptor.code=='TRIP_DETAILS')]",
|
|
1871
|
-
);
|
|
1872
|
-
let subResults: validationOutput = [];
|
|
1873
|
-
let valid = true;
|
|
1874
|
-
for (const testObj of scope) {
|
|
1875
|
-
testObj._EXTERNAL = input.externalData;
|
|
1876
|
-
const subTags = payloadUtils.getJsonPath(
|
|
1877
|
-
testObj,
|
|
1878
|
-
"$.list[*].descriptor.code",
|
|
1879
|
-
);
|
|
1880
|
-
const validValues = [
|
|
1881
|
-
"AVAILABLE_TRIPS",
|
|
1882
|
-
"UTILIZED_TRIPS",
|
|
1883
|
-
];
|
|
1884
|
-
|
|
1885
|
-
const validate = validations.allIn(
|
|
1886
|
-
subTags,
|
|
1887
|
-
validValues,
|
|
1888
|
-
);
|
|
1889
|
-
|
|
1890
|
-
if (!validate) {
|
|
1891
|
-
return [
|
|
1892
|
-
{
|
|
1893
|
-
valid: false,
|
|
1894
|
-
code: 30000,
|
|
1895
|
-
description: `- **condition validate_tag_0_TRIP_DETAILS**: every element of $.message.order.fulfillments[*].tags[?(@.descriptor.code=='TRIP_DETAILS')].list[*].descriptor.code must be in ["AVAILABLE_TRIPS", "UTILIZED_TRIPS"]`,
|
|
1896
|
-
},
|
|
1897
|
-
];
|
|
1898
|
-
}
|
|
1899
|
-
|
|
1900
|
-
delete testObj._EXTERNAL;
|
|
1901
|
-
}
|
|
1902
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1903
|
-
}
|
|
1904
|
-
function FARE_POLICY_Tag_Required_61_DESCRIPTOR_CODE(
|
|
1905
|
-
input: validationInput,
|
|
1906
|
-
): validationOutput {
|
|
1907
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1908
|
-
let subResults: validationOutput = [];
|
|
1909
|
-
let valid = true;
|
|
1910
|
-
for (const testObj of scope) {
|
|
1911
|
-
testObj._EXTERNAL = input.externalData;
|
|
1912
|
-
const validTags = ["FARE_POLICY"];
|
|
1913
|
-
const tagPath = payloadUtils.getJsonPath(
|
|
1914
|
-
testObj,
|
|
1915
|
-
"$.message.order.items[*].tags[*].descriptor.code",
|
|
1916
|
-
);
|
|
1917
|
-
|
|
1918
|
-
const skipCheck = !validations.arePresent(tagPath);
|
|
1919
|
-
if (skipCheck) continue;
|
|
1920
|
-
|
|
1921
|
-
const validate = validations.allIn(tagPath, validTags);
|
|
1922
|
-
|
|
1923
|
-
if (!validate) {
|
|
1924
|
-
return [
|
|
1925
|
-
{
|
|
1926
|
-
valid: false,
|
|
1927
|
-
code: 30000,
|
|
1928
|
-
description: `- **condition FARE_POLICY_Tag_Required_61_DESCRIPTOR_CODE**: every element of $.message.order.items[*].tags[*].descriptor.code must be in ["FARE_POLICY"]
|
|
1929
|
-
|
|
1930
|
-
> Note: **Condition FARE_POLICY_Tag_Required_61_DESCRIPTOR_CODE** can be skipped if the following conditions are met:
|
|
1931
|
-
>
|
|
1932
|
-
> - **condition B**: $.message.order.items[*].tags[*].descriptor.code must **not** be present in the payload`,
|
|
1933
|
-
},
|
|
1934
|
-
];
|
|
1935
|
-
}
|
|
1936
|
-
|
|
1937
|
-
delete testObj._EXTERNAL;
|
|
1938
|
-
}
|
|
1939
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1940
|
-
}
|
|
1941
|
-
function validate_tag_1_FARE_POLICY(
|
|
1942
|
-
input: validationInput,
|
|
1943
|
-
): validationOutput {
|
|
1944
|
-
const scope = payloadUtils.getJsonPath(
|
|
1945
|
-
input.payload,
|
|
1946
|
-
"$.message.order.items[*].tags[?(@.descriptor.code=='FARE_POLICY')]",
|
|
1947
|
-
);
|
|
1948
|
-
let subResults: validationOutput = [];
|
|
1949
|
-
let valid = true;
|
|
1950
|
-
for (const testObj of scope) {
|
|
1951
|
-
testObj._EXTERNAL = input.externalData;
|
|
1952
|
-
const subTags = payloadUtils.getJsonPath(
|
|
1953
|
-
testObj,
|
|
1954
|
-
"$.list[*].descriptor.code",
|
|
1955
|
-
);
|
|
1956
|
-
const validValues = [
|
|
1957
|
-
"RESTRICTED_PERSON",
|
|
1958
|
-
"RESTRICTION_PROOF",
|
|
1959
|
-
];
|
|
1960
|
-
|
|
1961
|
-
const validate = validations.allIn(
|
|
1962
|
-
subTags,
|
|
1963
|
-
validValues,
|
|
1964
|
-
);
|
|
1965
|
-
|
|
1966
|
-
if (!validate) {
|
|
1967
|
-
return [
|
|
1968
|
-
{
|
|
1969
|
-
valid: false,
|
|
1970
|
-
code: 30000,
|
|
1971
|
-
description: `- **condition validate_tag_1_FARE_POLICY**: every element of $.message.order.items[*].tags[?(@.descriptor.code=='FARE_POLICY')].list[*].descriptor.code must be in ["RESTRICTED_PERSON", "RESTRICTION_PROOF"]`,
|
|
1972
|
-
},
|
|
1973
|
-
];
|
|
1974
|
-
}
|
|
1975
|
-
|
|
1976
|
-
delete testObj._EXTERNAL;
|
|
1977
|
-
}
|
|
1978
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
1979
|
-
}
|
|
1980
|
-
function BUYER_FINDER_FEES_Tag_Required_63_DESCRIPTOR_CODE(
|
|
1981
|
-
input: validationInput,
|
|
1982
|
-
): validationOutput {
|
|
1983
|
-
const scope = payloadUtils.getJsonPath(input.payload, "$");
|
|
1984
|
-
let subResults: validationOutput = [];
|
|
1985
|
-
let valid = true;
|
|
1986
|
-
for (const testObj of scope) {
|
|
1987
|
-
testObj._EXTERNAL = input.externalData;
|
|
1988
|
-
const validTags = [
|
|
1989
|
-
"BUYER_FINDER_FEES",
|
|
1990
|
-
"SETTLEMENT_TERMS",
|
|
1991
|
-
];
|
|
1992
|
-
const tagPath = payloadUtils.getJsonPath(
|
|
1993
|
-
testObj,
|
|
1994
|
-
"$.message.order.payments[*].tags[*].descriptor.code",
|
|
1995
|
-
);
|
|
1996
|
-
|
|
1997
|
-
const skipCheck = !validations.arePresent(tagPath);
|
|
1998
|
-
if (skipCheck) continue;
|
|
1999
|
-
|
|
2000
|
-
const validate = validations.allIn(tagPath, validTags);
|
|
2001
|
-
|
|
2002
|
-
if (!validate) {
|
|
2003
|
-
return [
|
|
2004
|
-
{
|
|
2005
|
-
valid: false,
|
|
2006
|
-
code: 30000,
|
|
2007
|
-
description: `- **condition BUYER_FINDER_FEES_Tag_Required_63_DESCRIPTOR_CODE**: every element of $.message.order.payments[*].tags[*].descriptor.code must be in ["BUYER_FINDER_FEES", "SETTLEMENT_TERMS"]
|
|
2008
|
-
|
|
2009
|
-
> Note: **Condition BUYER_FINDER_FEES_Tag_Required_63_DESCRIPTOR_CODE** can be skipped if the following conditions are met:
|
|
2010
|
-
>
|
|
2011
|
-
> - **condition B**: $.message.order.payments[*].tags[*].descriptor.code must **not** be present in the payload`,
|
|
2012
|
-
},
|
|
2013
|
-
];
|
|
2014
|
-
}
|
|
2015
|
-
|
|
2016
|
-
delete testObj._EXTERNAL;
|
|
2017
|
-
}
|
|
2018
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
2019
|
-
}
|
|
2020
|
-
function validate_tag_2_BUYER_FINDER_FEES(
|
|
2021
|
-
input: validationInput,
|
|
2022
|
-
): validationOutput {
|
|
2023
|
-
const scope = payloadUtils.getJsonPath(
|
|
2024
|
-
input.payload,
|
|
2025
|
-
"$.message.order.payments[*].tags[?(@.descriptor.code=='BUYER_FINDER_FEES')]",
|
|
2026
|
-
);
|
|
2027
|
-
let subResults: validationOutput = [];
|
|
2028
|
-
let valid = true;
|
|
2029
|
-
for (const testObj of scope) {
|
|
2030
|
-
testObj._EXTERNAL = input.externalData;
|
|
2031
|
-
const subTags = payloadUtils.getJsonPath(
|
|
2032
|
-
testObj,
|
|
2033
|
-
"$.list[*].descriptor.code",
|
|
2034
|
-
);
|
|
2035
|
-
const validValues = [
|
|
2036
|
-
"BUYER_FINDER_FEES_TYPE",
|
|
2037
|
-
"BUYER_FINDER_FEES_PERCENTAGE",
|
|
2038
|
-
"BUYER_FINDER_FEES_AMOUNT",
|
|
2039
|
-
];
|
|
2040
|
-
|
|
2041
|
-
const validate = validations.allIn(
|
|
2042
|
-
subTags,
|
|
2043
|
-
validValues,
|
|
2044
|
-
);
|
|
2045
|
-
|
|
2046
|
-
if (!validate) {
|
|
2047
|
-
return [
|
|
2048
|
-
{
|
|
2049
|
-
valid: false,
|
|
2050
|
-
code: 30000,
|
|
2051
|
-
description: `- **condition validate_tag_2_BUYER_FINDER_FEES**: every element of $.message.order.payments[*].tags[?(@.descriptor.code=='BUYER_FINDER_FEES')].list[*].descriptor.code must be in ["BUYER_FINDER_FEES_TYPE", "BUYER_FINDER_FEES_PERCENTAGE", "BUYER_FINDER_FEES_AMOUNT"]`,
|
|
2052
|
-
},
|
|
2053
|
-
];
|
|
2054
|
-
}
|
|
2055
|
-
|
|
2056
|
-
delete testObj._EXTERNAL;
|
|
2057
|
-
}
|
|
2058
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
2059
|
-
}
|
|
2060
|
-
function validate_tag_2_SETTLEMENT_TERMS(
|
|
2061
|
-
input: validationInput,
|
|
2062
|
-
): validationOutput {
|
|
2063
|
-
const scope = payloadUtils.getJsonPath(
|
|
2064
|
-
input.payload,
|
|
2065
|
-
"$.message.order.payments[*].tags[?(@.descriptor.code=='SETTLEMENT_TERMS')]",
|
|
2066
|
-
);
|
|
2067
|
-
let subResults: validationOutput = [];
|
|
2068
|
-
let valid = true;
|
|
2069
|
-
for (const testObj of scope) {
|
|
2070
|
-
testObj._EXTERNAL = input.externalData;
|
|
2071
|
-
const subTags = payloadUtils.getJsonPath(
|
|
2072
|
-
testObj,
|
|
2073
|
-
"$.list[*].descriptor.code",
|
|
2074
|
-
);
|
|
2075
|
-
const validValues = [
|
|
2076
|
-
"SETTLEMENT_WINDOW",
|
|
2077
|
-
"SETTLEMENT_BASIS",
|
|
2078
|
-
"SETTLEMENT_TYPE",
|
|
2079
|
-
"MANDATORY_ARBITRATION",
|
|
2080
|
-
"COURT_JURISDICTION",
|
|
2081
|
-
"DELAY_INTEREST",
|
|
2082
|
-
"STATIC_TERMS",
|
|
2083
|
-
"SETTLEMENT_AMOUNT",
|
|
2084
|
-
];
|
|
2085
|
-
|
|
2086
|
-
const validate = validations.allIn(
|
|
2087
|
-
subTags,
|
|
2088
|
-
validValues,
|
|
2089
|
-
);
|
|
2090
|
-
|
|
2091
|
-
if (!validate) {
|
|
2092
|
-
return [
|
|
2093
|
-
{
|
|
2094
|
-
valid: false,
|
|
2095
|
-
code: 30000,
|
|
2096
|
-
description: `- **condition validate_tag_2_SETTLEMENT_TERMS**: every element of $.message.order.payments[*].tags[?(@.descriptor.code=='SETTLEMENT_TERMS')].list[*].descriptor.code must be in ["SETTLEMENT_WINDOW", "SETTLEMENT_BASIS", "SETTLEMENT_TYPE", "MANDATORY_ARBITRATION", "COURT_JURISDICTION", "DELAY_INTEREST", "STATIC_TERMS", "SETTLEMENT_AMOUNT"]`,
|
|
2097
|
-
},
|
|
2098
|
-
];
|
|
2099
|
-
}
|
|
2100
|
-
|
|
2101
|
-
delete testObj._EXTERNAL;
|
|
2102
|
-
}
|
|
2103
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
2104
|
-
}
|
|
2105
|
-
|
|
2106
|
-
const testFunctions: testFunctionArray = [
|
|
2107
|
-
Attri_Required_10_ORDER_ID,
|
|
2108
|
-
Attri_Required_11_ITEMS_ID,
|
|
2109
|
-
Attri_Required_12_DESCRIPTOR_NAME,
|
|
2110
|
-
Attri_Required_13_PRICE_CURRENCY,
|
|
2111
|
-
Attri_Required_14_PRICE_VALUE,
|
|
2112
|
-
Attri_Required_15_SELECTED_COUNT,
|
|
2113
|
-
Attri_Required_16_ITEMS_FULFILLMENT_IDS,
|
|
2114
|
-
Attri_Required_17_TIME_LABEL,
|
|
2115
|
-
Attri_Required_18_TIME_DURATION,
|
|
2116
|
-
Attri_Required_19_PROVIDER_ID,
|
|
2117
|
-
Attri_Required_20_DESCRIPTOR_NAME,
|
|
2118
|
-
Attri_Required_21_FULFILLMENTS_ID,
|
|
2119
|
-
Attri_Required_22_LOCATION_GPS,
|
|
2120
|
-
Attri_Required_23_FULFILLMENTS_ID,
|
|
2121
|
-
Attri_Required_24_PRICE_VALUE,
|
|
2122
|
-
Attri_Required_25_PRICE_CURRENCY,
|
|
2123
|
-
Attri_Required_26_ITEM_ID,
|
|
2124
|
-
Attri_Required_27_PAYMENTS_ID,
|
|
2125
|
-
Attri_Required_28_PARAMS_TRANSACTION_ID,
|
|
2126
|
-
Attri_Required_29_PARAMS_CURRENCY,
|
|
2127
|
-
Attri_Required_30_PARAMS_AMOUNT,
|
|
2128
|
-
Attri_Required_31_CANCEL_BY_DURATION,
|
|
2129
|
-
Attri_Required_32_ORDER_STATUS,
|
|
2130
|
-
Attri_Required_33_ITEMS_CATEGORY_IDS,
|
|
2131
|
-
Attri_Required_34_RANGE_START,
|
|
2132
|
-
Attri_Required_35_RANGE_END,
|
|
2133
|
-
Attri_Required_36_PRICE_VALUE,
|
|
2134
|
-
Attri_Required_37_PRICE_CURRENCY,
|
|
2135
|
-
Attri_Required_38_SELECTED_COUNT,
|
|
2136
|
-
Attri_Required_39_EXTERNAL_REF_URL,
|
|
2137
|
-
Attri_Required_40_EXTERNAL_REF_MIMETYPE,
|
|
2138
|
-
Attri_Required_41_ORDER_CREATED_AT,
|
|
2139
|
-
Attri_Required_42_ORDER_UPDATED_AT,
|
|
2140
|
-
Enum_Required_47_DESCRIPTOR_CODE,
|
|
2141
|
-
Enum_Required_48_VEHICLE_CATEGORY,
|
|
2142
|
-
Enum_Required_49_FULFILLMENTS_TYPE,
|
|
2143
|
-
Enum_Required_50_FULFILLMENTS_TYPE,
|
|
2144
|
-
Enum_Required_51_AUTHORIZATION_TYPE,
|
|
2145
|
-
Enum_Required_52_AUTHORIZATION_STATUS,
|
|
2146
|
-
Enum_Required_53_PAYMENTS_STATUS,
|
|
2147
|
-
Enum_Required_54_PAYMENTS_COLLECTED_BY,
|
|
2148
|
-
Enum_Required_55_PAYMENTS_TYPE,
|
|
2149
|
-
Enum_Required_56_BREAKUP_TITLE,
|
|
2150
|
-
ROUTE_INFO_Tag_Required_57_DESCRIPTOR_CODE,
|
|
2151
|
-
validate_tag_0_ROUTE_INFO,
|
|
2152
|
-
validate_tag_0_TICKET_INFO,
|
|
2153
|
-
validate_tag_0_TRIP_DETAILS,
|
|
2154
|
-
FARE_POLICY_Tag_Required_61_DESCRIPTOR_CODE,
|
|
2155
|
-
validate_tag_1_FARE_POLICY,
|
|
2156
|
-
BUYER_FINDER_FEES_Tag_Required_63_DESCRIPTOR_CODE,
|
|
2157
|
-
validate_tag_2_BUYER_FINDER_FEES,
|
|
2158
|
-
validate_tag_2_SETTLEMENT_TERMS,
|
|
2159
|
-
];
|
|
2160
|
-
|
|
2161
|
-
let invalidResults: validationOutput = [];
|
|
2162
|
-
for (const fn of testFunctions) {
|
|
2163
|
-
const subResult = fn(input);
|
|
2164
|
-
// .filter(r => !r.valid);
|
|
2165
|
-
invalidResults = [...invalidResults, ...subResult];
|
|
2166
|
-
if (
|
|
2167
|
-
!input.config.runAllValidations &&
|
|
2168
|
-
invalidResults.length > 0
|
|
2169
|
-
) {
|
|
2170
|
-
return invalidResults;
|
|
2171
|
-
}
|
|
2172
|
-
}
|
|
2173
|
-
if (invalidResults.length > 0) {
|
|
2174
|
-
// return invalidResults;
|
|
2175
|
-
subResults = invalidResults;
|
|
2176
|
-
valid = subResults.every((r) => r.valid);
|
|
2177
|
-
}
|
|
2178
|
-
|
|
2179
|
-
delete testObj._EXTERNAL;
|
|
2180
|
-
}
|
|
2181
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
2182
|
-
}
|
|
2183
|
-
|
|
2184
|
-
const testFunctions: testFunctionArray = [
|
|
2185
|
-
Attri_Required_1_CONTEXT_TIMESTAMP,
|
|
2186
|
-
Attri_Required_2_CONTEXT_BAP_ID,
|
|
2187
|
-
Attri_Required_3_CONTEXT_TRANSACTION_ID,
|
|
2188
|
-
Attri_Required_4_CONTEXT_MESSAGE_ID,
|
|
2189
|
-
Attri_Required_5_CONTEXT_VERSION,
|
|
2190
|
-
Attri_Required_6_CONTEXT_BAP_URI,
|
|
2191
|
-
Attri_Required_7_CONTEXT_TTL,
|
|
2192
|
-
Attri_Required_8_CONTEXT_BPP_ID,
|
|
2193
|
-
Attri_Required_9_CONTEXT_BPP_URI,
|
|
2194
|
-
Enum_Required_43_CONTEXT_ACTION,
|
|
2195
|
-
Enum_Required_44_COUNTRY_CODE,
|
|
2196
|
-
Enum_Required_45_CITY_CODE,
|
|
2197
|
-
Enum_Required_46_CONTEXT_DOMAIN,
|
|
2198
|
-
on_confirm_Message_TESTS,
|
|
2199
|
-
];
|
|
2200
|
-
|
|
2201
|
-
let invalidResults: validationOutput = [];
|
|
2202
|
-
for (const fn of testFunctions) {
|
|
2203
|
-
const subResult = fn(input);
|
|
2204
|
-
// .filter(r => !r.valid);
|
|
2205
|
-
invalidResults = [...invalidResults, ...subResult];
|
|
2206
|
-
if (!input.config.runAllValidations && invalidResults.length > 0) {
|
|
2207
|
-
return invalidResults;
|
|
2208
|
-
}
|
|
2209
|
-
}
|
|
2210
|
-
if (invalidResults.length > 0) {
|
|
2211
|
-
// return invalidResults;
|
|
2212
|
-
subResults = invalidResults;
|
|
2213
|
-
valid = subResults.every((r) => r.valid);
|
|
2214
|
-
}
|
|
2215
|
-
|
|
2216
|
-
delete testObj._EXTERNAL;
|
|
2217
|
-
}
|
|
2218
|
-
return [{ valid: valid, code: 200 }, ...subResults];
|
|
2219
|
-
}
|