@futdevpro/fsm-dynamo 1.9.10 → 1.9.14

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.
Files changed (124) hide show
  1. package/.github/workflows/main.yml +222 -0
  2. package/HOWTO.md +15 -15
  3. package/README.md +17 -17
  4. package/build/_models/control-models/error.control-model.js +1 -1
  5. package/build/_models/control-models/error.control-model.js.map +1 -1
  6. package/build/_models/control-models/error.control-model.spec.js +25 -6
  7. package/build/_models/control-models/error.control-model.spec.js.map +1 -1
  8. package/build/_modules/utils.index.d.ts +2 -0
  9. package/build/_modules/utils.index.d.ts.map +1 -0
  10. package/build/_modules/utils.index.js +5 -0
  11. package/build/_modules/utils.index.js.map +1 -0
  12. package/futdevpro-fsm-dynamo-01.09.14.tgz +0 -0
  13. package/nodemon.json +11 -11
  14. package/package.json +160 -151
  15. package/src/_collections/assets/location/country-codes-ISO-3166.json +3239 -3239
  16. package/src/_collections/assets/location/country-divisions-ISO-3166-all-list.json +19035 -19035
  17. package/src/_collections/assets/location/country-divisions-ISO-3166.json +4993 -4993
  18. package/src/_collections/assets/location/country-phone-codes.json +1203 -1203
  19. package/src/_collections/constants/country-divisions.const.ts +9 -9
  20. package/src/_collections/constants/courtry-isos.const.ts +8 -8
  21. package/src/_collections/constants/error-defaults.const.ts +11 -11
  22. package/src/_collections/constants/index.ts +15 -15
  23. package/src/_collections/constants/module-settings/custom-data-module-settings.const.ts +15 -15
  24. package/src/_collections/constants/module-settings/index.ts +8 -8
  25. package/src/_collections/constants/module-settings/test-module-settings.const.ts +19 -19
  26. package/src/_collections/constants/module-settings/usage-module-settings.const.ts +19 -19
  27. package/src/_collections/constants/pipe-transforms.const.ts +35 -35
  28. package/src/_collections/constants/times.const.ts +8 -8
  29. package/src/_collections/index.ts +6 -6
  30. package/src/_collections/utils/array.util.spec.ts +39 -39
  31. package/src/_collections/utils/array.util.ts +137 -137
  32. package/src/_collections/utils/index.ts +18 -18
  33. package/src/_collections/utils/location.util.ts +55 -55
  34. package/src/_collections/utils/log.util.ts +239 -239
  35. package/src/_collections/utils/math/box-bounds.util.ts +85 -85
  36. package/src/_collections/utils/math/index.ts +5 -5
  37. package/src/_collections/utils/math/math.util.ts +53 -53
  38. package/src/_collections/utils/math/random.util.ts +80 -80
  39. package/src/_collections/utils/math/trigonometry.util.ts +73 -73
  40. package/src/_collections/utils/math/vector2.util.ts +197 -197
  41. package/src/_collections/utils/pipe-transforms/country-pipe.util.ts +18 -18
  42. package/src/_collections/utils/pipe-transforms/custom-pipe.util.ts +9 -9
  43. package/src/_collections/utils/pipe-transforms/division-pipe.util.ts +20 -20
  44. package/src/_collections/utils/pipe-transforms/index.ts +15 -15
  45. package/src/_collections/utils/pipe-transforms/list-pipe.util.ts +10 -10
  46. package/src/_collections/utils/pipe-transforms/multi-pipe-pipe.util.ts +160 -160
  47. package/src/_collections/utils/pipe-transforms/obj-key-pipe.util.ts +9 -9
  48. package/src/_collections/utils/pipe-transforms/range-pipe.util.ts +94 -94
  49. package/src/_collections/utils/pipe-transforms/region-pipe.util.ts +18 -18
  50. package/src/_collections/utils/pipe-transforms/replace-pipe.util.ts +11 -11
  51. package/src/_collections/utils/pipe-transforms/slider-pipe.util.ts +20 -20
  52. package/src/_collections/utils/pipe-transforms/smart-replace-pipe.util.ts +71 -71
  53. package/src/_collections/utils/regex/index.ts +4 -4
  54. package/src/_collections/utils/regex/password-regex.util.ts +52 -52
  55. package/src/_collections/utils/regex/regex.util.ts +6 -6
  56. package/src/_collections/utils/regex/username-regex.util.ts +33 -33
  57. package/src/_collections/utils/regions.util.ts +100 -100
  58. package/src/_collections/utils/round-list.util.ts +44 -44
  59. package/src/_collections/utils/shared.static-service.ts +177 -177
  60. package/src/_collections/utils/time.util.spec.ts +50 -50
  61. package/src/_collections/utils/time.util.ts +219 -219
  62. package/src/_collections/utils/type-cloning-facility.util.ts +121 -121
  63. package/src/_collections/utils/utilities.util.ts +130 -130
  64. package/src/_enums/basic-property-type.enum.ts +9 -9
  65. package/src/_enums/data-model-type.enum.ts +13 -13
  66. package/src/_enums/day-of-week.enum.ts +28 -28
  67. package/src/_enums/error-level.enum.ts +17 -17
  68. package/src/_enums/index.ts +16 -16
  69. package/src/_enums/location/index.ts +3 -3
  70. package/src/_enums/location/region.enum.ts +9 -9
  71. package/src/_enums/location/sub-region.enum.ts +26 -26
  72. package/src/_enums/location/subdivision-region-type.enum.ts +44 -44
  73. package/src/_enums/log-style.enum.ts +30 -30
  74. package/src/_enums/month.enum.ts +16 -16
  75. package/src/_enums/pipe.enum.ts +45 -45
  76. package/src/_enums/range-pipe-setting.enum.ts +11 -11
  77. package/src/_enums/time/day-of-week.enum.ts +28 -28
  78. package/src/_enums/time/index.ts +3 -3
  79. package/src/_enums/time/month.enum.ts +16 -16
  80. package/src/_enums/time/relative-date.enum.ts +13 -13
  81. package/src/_models/control-models/daily-usage-data.control-model.ts +21 -21
  82. package/src/_models/control-models/data-model-params.control-model.ts +39 -39
  83. package/src/_models/control-models/data-property-params.control-model.ts +106 -106
  84. package/src/_models/control-models/error.control-model.spec.ts +753 -716
  85. package/src/_models/control-models/error.control-model.ts +722 -722
  86. package/src/_models/control-models/index.ts +10 -10
  87. package/src/_models/control-models/poll.control-model.ts +113 -113
  88. package/src/_models/control-models/range-value.control-model.ts +142 -142
  89. package/src/_models/control-models/usage-action.control-model.ts +15 -15
  90. package/src/_models/control-models/usage-data.control-model.ts +20 -20
  91. package/src/_models/data-models/custom-data.data-model.ts +28 -28
  92. package/src/_models/data-models/index.ts +5 -5
  93. package/src/_models/data-models/metadata.data-model.ts +83 -83
  94. package/src/_models/data-models/usage-session.data-model.ts +53 -53
  95. package/src/_models/index.ts +12 -12
  96. package/src/_models/interfaces/error-defaults.interface.ts +11 -11
  97. package/src/_models/interfaces/index.ts +11 -11
  98. package/src/_models/interfaces/location/country-division.interface.ts +7 -7
  99. package/src/_models/interfaces/location/country-iso.interface.ts +21 -21
  100. package/src/_models/interfaces/location/country-phone-code.interface.ts +7 -7
  101. package/src/_models/interfaces/location/division-collection.interface.ts +10 -10
  102. package/src/_models/interfaces/location/division-region-data.interface.ts +8 -8
  103. package/src/_models/interfaces/location/geo-ip-location.interface.ts +26 -26
  104. package/src/_models/interfaces/location/index.ts +10 -10
  105. package/src/_models/interfaces/location/location-coordinates.interface.ts +5 -5
  106. package/src/_models/interfaces/multi-pipe-settings.type.ts +7 -7
  107. package/src/_models/interfaces/paged.interface.ts +11 -11
  108. package/src/_models/interfaces/pipe-transforms.interface.ts +29 -29
  109. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  110. package/src/_models/interfaces/route-settings.interface.ts +11 -11
  111. package/src/_modules/collections.index.ts +2 -2
  112. package/src/_modules/constants.index.ts +2 -2
  113. package/src/_modules/custom-data-module.index.ts +6 -6
  114. package/src/_modules/data-modules.index.ts +9 -9
  115. package/src/_modules/enums.index.ts +2 -2
  116. package/src/_modules/error-module.index.ts +8 -8
  117. package/src/_modules/location.index.ts +15 -15
  118. package/src/_modules/models.index.ts +2 -2
  119. package/src/_modules/shared-service.index.ts +9 -9
  120. package/src/_modules/test-module.index.ts +5 -5
  121. package/src/_modules/usage-module.index.ts +10 -10
  122. package/src/_modules/utils.index.ts +4 -0
  123. package/tsconfig.json +29 -29
  124. package/tslint.json +153 -153
@@ -1,716 +1,753 @@
1
-
2
-
3
- import { DynamoFM_error_defaults } from '../../_collections/constants/error-defaults.const';
4
- import { DynamoFM_Log } from '../../_collections/utils/log.util';
5
- import { DynamoFM_Error } from './error.control-model';
6
-
7
- describe('DynamoFM_Error;', (): void => {
8
- let error_base: Error;
9
- let error_0: DynamoFM_Error;
10
- let error_stack_1: DynamoFM_Error;
11
- let error_stack_withoutSubErrors_1: DynamoFM_Error;
12
- let error_stack_2: DynamoFM_Error;
13
- let error_stack_withoutSubErrors_2: DynamoFM_Error;
14
- let error_selfDefined: DynamoFM_Error;
15
-
16
- const message_base: string = '-TEST ERROR: something failed!-';
17
- const message_1: string = 'TEST ERROR MSG (1)';
18
- const message_2: string = 'TEST ERROR MSG (2)';
19
- const message_selfDefined: string = DynamoFM_error_defaults.message +
20
- '; error.control-model.spec.js:83:29)';
21
-
22
- const errorCode_0: string = 'ASD-ASD-001';
23
- const errorCode_1: string = 'ASD-ASD-002';
24
- const errorCode_2: string = 'ASD-ASD-003';
25
-
26
- const userMessage_0: string = 'DynamoFM_Error TEST was TEST! (0)';
27
- const userMessage_2: string = 'DynamoFM_Error TEST was TEST! (2)';
28
-
29
- const userMessageResult_0: string = userMessage_0 + `\nErrorCode: ${errorCode_0}`;
30
- const userMessageResult_2: string = userMessage_2 + `\nErrorCode: ${errorCode_2}`;
31
-
32
- const issuer: string = 'DynamoFM_Error TEST User';
33
- const issuerSystem: string = 'DynamoFM_FSM TEST';
34
- const issuerService_0: string = 'Service-0';
35
- const issuerService_1: string = 'Service-1';
36
-
37
- const additionalContent_1 = {
38
- test: 'test',
39
- test2: 'test2',
40
- };
41
- const additionalContent_2 = {
42
- test2: 'testZ',
43
- test3: 'test3',
44
- };
45
-
46
- const log: boolean = false;
47
- /* const log: boolean = true; */
48
-
49
- beforeEach(async (): Promise<void> => {
50
- error_base = new Error(message_base);
51
-
52
- error_0 = new DynamoFM_Error({
53
- userMessage: userMessage_0,
54
- addECToUserMsg: true,
55
- errorCode: errorCode_0,
56
- issuerSystem: issuerSystem,
57
- issuer: issuer,
58
- issuerService: issuerService_0,
59
- error: error_base,
60
- });
61
-
62
- error_stack_1 = new DynamoFM_Error({
63
- message: message_1,
64
- errorCode: errorCode_1,
65
- issuerService: issuerService_1,
66
- handled: true,
67
- additionalContent: additionalContent_1,
68
- error: error_0,
69
- });
70
-
71
- error_stack_withoutSubErrors_1 = {
72
- ...error_stack_1,
73
- } as DynamoFM_Error;
74
- error_stack_withoutSubErrors_1.errors.forEach((error: DynamoFM_Error): any => {
75
- const subError = { ...error };
76
-
77
- delete (subError as DynamoFM_Error).errors;
78
-
79
- return subError;
80
- });
81
-
82
- error_stack_2 = new DynamoFM_Error({
83
- message: message_2,
84
- userMessage: userMessage_2,
85
- addECToUserMsg: true,
86
- errorCode: errorCode_2,
87
- additionalContent: additionalContent_2,
88
- error: error_stack_1,
89
- });
90
-
91
- error_stack_withoutSubErrors_2 = {
92
- ...error_stack_2,
93
- } as DynamoFM_Error;
94
- error_stack_withoutSubErrors_2.errors.map((error: DynamoFM_Error): any => {
95
- const subError = { ...error };
96
-
97
- delete (subError as DynamoFM_Error).errors;
98
-
99
- return subError;
100
- });
101
-
102
- error_selfDefined = new DynamoFM_Error();
103
- });
104
-
105
- if (log) afterAll(async (): Promise<void> => {
106
- DynamoFM_Log.testLog('error_stack_2:\n', error_stack_2);
107
- DynamoFM_Log.testLog('error_stack_2.getFlat:\n', error_stack_2.getErrorsFlat());
108
- DynamoFM_Log.testLog('error_stack_2.getSimplified:\n', error_stack_2.getErrorSimplified());
109
- DynamoFM_Log.testLog('error_stack_withoutSubErrors_2:\n', error_stack_withoutSubErrors_2);
110
- DynamoFM_Log.testLog('error_selfDefined:\n', error_selfDefined);
111
- DynamoFM_Log.testLog('error_selfDefined.getFlat:\n', error_selfDefined.getErrorsFlat());
112
- DynamoFM_Log.testLog(
113
- 'error_selfDefined.getSimplified:\n', error_selfDefined.getErrorSimplified()
114
- );
115
- });
116
-
117
- describe('should be defined;', (): void => {
118
- it('error object', (): void => {
119
- expect(error_0).toBeDefined();
120
- });
121
-
122
- it('error stack object', (): void => {
123
- expect(error_stack_1).toBeDefined();
124
- });
125
-
126
- it('greater error stack object', (): void => {
127
- expect(error_stack_2).toBeDefined();
128
- });
129
-
130
- it('self defined error object', (): void => {
131
- expect(error_selfDefined).toBeDefined();
132
- });
133
- });
134
-
135
- describe('should be instance of DynamoFM_Error;', (): void => {
136
- it('error as DynamoFM_Error object', (): void => {
137
- expect(error_0).toBeInstanceOf(DynamoFM_Error);
138
- });
139
-
140
- it('error stack as DynamoFM_Error object', (): void => {
141
- expect(error_stack_1).toBeInstanceOf(DynamoFM_Error);
142
- });
143
-
144
- it('greater error stack as DynamoFM_Error object', (): void => {
145
- expect(error_stack_2).toBeInstanceOf(DynamoFM_Error);
146
- });
147
-
148
- it('self defined error as DynamoFM_Error object', (): void => {
149
- expect(error_selfDefined).toBeInstanceOf(DynamoFM_Error);
150
- });
151
- });
152
-
153
- describe('should have the proper _errorCode;', (): void => {
154
- it('on error_0', (): void => {
155
- expect(error_0._errorCode).toBe(errorCode_0);
156
- });
157
-
158
- it('on error_stack_1', (): void => {
159
- expect(error_stack_1._errorCode).toBe(errorCode_0);
160
- });
161
-
162
- it('on error_stack_2', (): void => {
163
- expect(error_stack_2._errorCode).toBe(errorCode_0);
164
- });
165
-
166
- it('on self defined error', (): void => {
167
- expect(error_selfDefined._errorCode).toBe(DynamoFM_error_defaults.errorCode);
168
- });
169
- });
170
-
171
- describe('should have the proper _errorCodes;', (): void => {
172
- it('on error_0', (): void => {
173
- expect(error_0._errorCodes).toEqual([ errorCode_0 ]);
174
- });
175
-
176
- it('on error_stack_1', (): void => {
177
- expect(error_stack_1._errorCodes).toEqual([ errorCode_0, errorCode_1 ]);
178
- });
179
-
180
- it('on error_stack_2', (): void => {
181
- expect(error_stack_2._errorCodes).toEqual([ errorCode_0, errorCode_1, errorCode_2 ]);
182
- });
183
-
184
- it('on self defined error', (): void => {
185
- expect(error_selfDefined._errorCodes).toEqual([ DynamoFM_error_defaults.errorCode ]);
186
- });
187
- });
188
-
189
- describe('should have the proper _message;', (): void => {
190
- it('on error_0', (): void => {
191
- expect(error_0._message).toBe(message_base);
192
- });
193
-
194
- it('on error_stack_1', (): void => {
195
- expect(error_stack_1._message).toBe(message_base);
196
- });
197
-
198
- it('on error_stack_2', (): void => {
199
- expect(error_stack_2._message).toBe(message_base);
200
- });
201
-
202
- it('on self defined error', (): void => {
203
- expect(error_selfDefined._message).toBe(message_selfDefined);
204
- });
205
- });
206
-
207
- describe('should have the proper _messages;', (): void => {
208
- it('on error_0', (): void => {
209
- expect(error_0._messages).toEqual([ message_base ]);
210
- });
211
-
212
- it('on error_stack_1', (): void => {
213
- expect(error_stack_1._messages).toEqual([ message_base, message_1 ]);
214
- });
215
-
216
- it('on error_stack_2', (): void => {
217
- expect(error_stack_2._messages).toEqual([ message_base, message_1, message_2 ]);
218
- });
219
-
220
- it('on self defined error', (): void => {
221
- expect(error_selfDefined._messages).toEqual([ message_selfDefined ]);
222
- });
223
- });
224
-
225
- describe('should have the proper __userMessage;', (): void => {
226
- it('on error_0', (): void => {
227
- expect(error_0.__userMessage).toBe(userMessageResult_0);
228
- });
229
-
230
- it('on error_stack_1', (): void => {
231
- expect(error_stack_1.__userMessage).toBe(userMessageResult_0);
232
- });
233
-
234
- it('on error_stack_2', (): void => {
235
- expect(error_stack_2.__userMessage).toBe(userMessageResult_0);
236
- });
237
-
238
- it('on self defined error', (): void => {
239
- expect(error_selfDefined.__userMessage).toBeUndefined();
240
- });
241
- });
242
-
243
- describe('should have the proper __userMessages;', (): void => {
244
- it('on error_0', (): void => {
245
- expect(error_0.__userMessages).toEqual([ userMessageResult_0 ]);
246
- });
247
-
248
- it('on error_stack_1', (): void => {
249
- expect(error_stack_1.__userMessages).toEqual(
250
- [ userMessageResult_0, DynamoFM_error_defaults.userMessage ]
251
- );
252
- });
253
-
254
- it('on error_stack_2', (): void => {
255
- expect(error_stack_2.__userMessages).toEqual(
256
- [ userMessageResult_0, DynamoFM_error_defaults.userMessage, userMessageResult_2 ]
257
- );
258
- });
259
-
260
- it('on self defined error', (): void => {
261
- expect(error_selfDefined.__userMessages).toEqual([ DynamoFM_error_defaults.userMessage ]);
262
- });
263
- });
264
-
265
- describe('should have proper error;', (): void => {
266
- it('on error_0', (): void => {
267
- expect(error_0.error).toBe(error_base);
268
- });
269
-
270
- it('on error_stack_1', (): void => {
271
- expect(error_stack_1.error).toBe(error_base);
272
- });
273
-
274
- it('on error_stack_2', (): void => {
275
- expect(error_stack_2.error).toBe(error_base);
276
- });
277
-
278
- it('on self defined error', (): void => {
279
- expect(error_selfDefined.error).toBeDefined();
280
- });
281
- });
282
-
283
- describe('should have the proper errors;', (): void => {
284
- it('on error_0', (): void => {
285
- expect(error_0.errors).toEqual([ error_base ]);
286
- });
287
-
288
- it('on error_stack_1', (): void => {
289
- expect(error_stack_1.errors).toEqual([ error_base, error_0 ]);
290
- });
291
-
292
- it('on error_stack_2', (): void => {
293
- expect(error_stack_2.errors).toEqual([ error_base, error_0, error_stack_1 ]);
294
- });
295
-
296
- it('on self defined error', (): void => {
297
- expect(error_selfDefined?.errors?.length).toBe(1);
298
- });
299
- });
300
-
301
- describe('should have proper handled;', (): void => {
302
- it('on error_0', (): void => {
303
- expect(error_0.___handled).toBe(false);
304
- });
305
-
306
- it('on error_stack_1', (): void => {
307
- expect(error_stack_1.___handled).toBe(true);
308
- });
309
-
310
- it('on error_stack_2', (): void => {
311
- expect(error_stack_2.___handled).toBe(true);
312
- });
313
-
314
- it('on self defined error', (): void => {
315
- expect(error_selfDefined.___handled).toBe(false);
316
- });
317
- });
318
-
319
- describe('should have status: undefined;', (): void => {
320
- it('on error_0', (): void => {
321
- expect(error_0.___status).toBe(undefined);
322
- });
323
-
324
- it('on error_stack_1', (): void => {
325
- expect(error_stack_1.___status).toBe(undefined);
326
- });
327
-
328
- it('on error_stack_2', (): void => {
329
- expect(error_stack_2.___status).toBe(undefined);
330
- });
331
-
332
- it('on self defined error', (): void => {
333
- expect(error_selfDefined.___status).toBe(undefined);
334
- });
335
- });
336
-
337
- describe('should have the proper issuer;', (): void => {
338
- it('on error_0', (): void => {
339
- expect(error_0.___issuer).toBe(issuer);
340
- });
341
-
342
- it('on error_stack_1', (): void => {
343
- expect(error_stack_1.___issuer).toBe(issuer);
344
- });
345
-
346
- it('on error_stack_2', (): void => {
347
- expect(error_stack_2.___issuer).toBe(issuer);
348
- });
349
-
350
- it('on self defined error', (): void => {
351
- expect(error_selfDefined.___issuer).toBe(DynamoFM_error_defaults.issuer);
352
- });
353
- });
354
-
355
- describe('should have get proper additionalContent;', (): void => {
356
- it('on error_0', (): void => {
357
- expect(error_0.additionalContent).toEqual({});
358
- });
359
-
360
- it('on error_stack_1', (): void => {
361
- expect(error_stack_1.additionalContent).toEqual(additionalContent_1);
362
- });
363
-
364
- it('on error_stack_2', (): void => {
365
- expect(error_stack_2.additionalContent).toEqual({
366
- ...additionalContent_1,
367
- ...additionalContent_2,
368
- });
369
- });
370
-
371
- it('on self defined error', (): void => {
372
- expect(error_selfDefined.additionalContent).toEqual({});
373
- });
374
- });
375
-
376
- describe('should have the proper issuerSystem;', (): void => {
377
- it('on error_0', (): void => {
378
- expect(error_0.___issuerSystem).toBe(issuerSystem);
379
- });
380
-
381
- it('on error_stack_1', (): void => {
382
- expect(error_stack_1.___issuerSystem).toBe(issuerSystem);
383
- });
384
-
385
- it('on error_stack_2', (): void => {
386
- expect(error_stack_2.___issuerSystem).toBe(issuerSystem);
387
- });
388
-
389
- it('on self defined error', (): void => {
390
- expect(error_selfDefined.___issuerSystem).toBe(DynamoFM_error_defaults.issuerSystem);
391
- });
392
- });
393
-
394
- describe('should have the proper issuerService;', (): void => {
395
- it('on error_0', (): void => {
396
- expect(error_0.___issuerService).toBe(issuerService_0);
397
- });
398
-
399
- it('on error_stack_1', (): void => {
400
- expect(error_stack_1.___issuerService).toBe(issuerService_1);
401
- });
402
-
403
- it('on error_stack_2', (): void => {
404
- expect(error_stack_2.___issuerService).toBe(issuerService_1);
405
- });
406
-
407
- it('on self defined error', (): void => {
408
- expect(error_selfDefined.___issuerService).toBe(DynamoFM_error_defaults.issuerService);
409
- });
410
- });
411
-
412
- describe('should have get proper simplified;', (): void => {
413
- let simplified;
414
-
415
- describe('on error_0;', (): void => {
416
- beforeEach((): void => {
417
- simplified = error_0.getErrorSimplified();
418
- });
419
-
420
- it('should be defined', (): void => {
421
- expect(simplified).toBeDefined();
422
- });
423
-
424
- it('should have error', (): void => {
425
- expect(simplified.error).toBeDefined();
426
- });
427
-
428
- it('should not have errors', (): void => {
429
- expect(simplified.errors).toBeUndefined();
430
- });
431
-
432
- it('should not have simplified.error.error', (): void => {
433
- expect((simplified.error as DynamoFM_Error)?.error).toBeUndefined();
434
- });
435
-
436
- it('should not have simplified.error.errors', (): void => {
437
- expect((simplified.error as DynamoFM_Error)?.errors).toBeUndefined();
438
- });
439
- });
440
-
441
- describe('on error_stack_1;', (): void => {
442
- beforeEach((): void => {
443
- simplified = error_stack_1.getErrorSimplified();
444
- });
445
-
446
- it('should be defined', (): void => {
447
- expect(simplified).toBeDefined();
448
- });
449
-
450
- it('should have error', (): void => {
451
- expect(simplified.error).toBeDefined();
452
- });
453
-
454
- it('should not have errors', (): void => {
455
- expect(simplified.errors).toBeUndefined();
456
- });
457
-
458
- it('should not have simplified.error.error', (): void => {
459
- expect((simplified.error as DynamoFM_Error)?.error).toBeUndefined();
460
- });
461
-
462
- it('should not have simplified.error.errors', (): void => {
463
- expect((simplified.error as DynamoFM_Error)?.errors).toBeUndefined();
464
- });
465
- });
466
-
467
- describe('on error_stack_2;', (): void => {
468
- beforeEach((): void => {
469
- simplified = error_stack_2.getErrorSimplified();
470
- });
471
-
472
- it('should be defined', (): void => {
473
- expect(simplified).toBeDefined();
474
- });
475
-
476
- it('should have error', (): void => {
477
- expect(simplified.error).toBeDefined();
478
- });
479
-
480
- it('should not have errors', (): void => {
481
- expect(simplified.errors).toBeUndefined();
482
- });
483
-
484
- it('should not have simplified.error.error', (): void => {
485
- expect((simplified.error as DynamoFM_Error)?.error).toBeUndefined();
486
- });
487
-
488
- it('should not have simplified.error.errors', (): void => {
489
- expect((simplified.error as DynamoFM_Error)?.errors).toBeUndefined();
490
- });
491
- });
492
-
493
- describe('on self defined error;', (): void => {
494
- beforeEach((): void => {
495
- simplified = error_selfDefined.getErrorSimplified();
496
- });
497
-
498
- it('should be defined', (): void => {
499
- expect(simplified).toBeDefined();
500
- });
501
-
502
- it('should have error', (): void => {
503
- expect(simplified.error).toBeDefined();
504
- });
505
-
506
- it('should not have errors', (): void => {
507
- expect(simplified.errors).toBeUndefined();
508
- });
509
-
510
- it('should not have simplified.error.error', (): void => {
511
- expect((simplified.error as DynamoFM_Error)?.error).toBeUndefined();
512
- });
513
-
514
- it('should not have simplified.error.errors', (): void => {
515
- expect((simplified.error as DynamoFM_Error)?.errors).toBeUndefined();
516
- });
517
- });
518
- });
519
-
520
- describe('should have get proper flat;', (): void => {
521
- let flat;
522
-
523
- describe('on error_0;', (): void => {
524
- beforeEach((): void => {
525
- flat = error_0.getErrorsFlat();
526
- });
527
-
528
- it('should be defined', (): void => {
529
- expect(flat).toBeDefined();
530
- });
531
-
532
- it('should have error', (): void => {
533
- expect(flat.error).toBeDefined();
534
- });
535
-
536
- describe('errors...;', (): void => {
537
- it('should have errors', (): void => {
538
- expect(flat?.errors).toBeDefined();
539
- });
540
-
541
- it('should have 1 errors', (): void => {
542
- expect(flat?.errors?.length).toBe(1);
543
- });
544
-
545
- flat?.errors?.forEach((error: DynamoFM_Error, index: number): void => {
546
- describe(`on error[${index}];`, (): void => {
547
- it('should be', (): void => {
548
- expect(error).toBeDefined();
549
- });
550
-
551
- it(`should have error[${index}].error`, (): void => {
552
- expect(error.error).toBeDefined();
553
- });
554
-
555
- it(`should not have error[${index}].errors`, (): void => {
556
- expect(error.errors).toBeUndefined();
557
- });
558
-
559
- it(`should not have error[${index}].error.error`, (): void => {
560
- expect((error.error as DynamoFM_Error)?.error).toBeUndefined();
561
- });
562
-
563
- it(`should not have error[${index}].error.errors`, (): void => {
564
- expect((error.error as DynamoFM_Error)?.errors).toBeUndefined();
565
- });
566
- });
567
- });
568
- });
569
- });
570
-
571
- describe('on error_stack_1;', (): void => {
572
- beforeEach((): void => {
573
- flat = error_stack_1.getErrorsFlat();
574
- });
575
-
576
- it('should be defined', (): void => {
577
- expect(flat).toBeDefined();
578
- });
579
-
580
- it('should have error', (): void => {
581
- expect(flat.error).toBeDefined();
582
- });
583
-
584
- describe('errors...;', (): void => {
585
- it('should have errors', (): void => {
586
- expect(flat?.errors).toBeDefined();
587
- });
588
-
589
- it('should have 2 errors', (): void => {
590
- expect(flat?.errors?.length).toBe(2);
591
- });
592
-
593
- flat?.errors?.forEach((error: DynamoFM_Error, index: number): void => {
594
- describe(`on error[${index}];`, (): void => {
595
- it('should be', (): void => {
596
- expect(error).toBeDefined();
597
- });
598
-
599
- it(`should have error[${index}].error`, (): void => {
600
- expect(error.error).toBeDefined();
601
- });
602
-
603
- it(`should not have error[${index}].errors`, (): void => {
604
- expect(error.errors).toBeUndefined();
605
- });
606
-
607
- it('should not have error[${index}].error.error', (): void => {
608
- expect((error.error as DynamoFM_Error)?.error).toBeUndefined();
609
- });
610
-
611
- it('should not have error[${index}].error.errors', (): void => {
612
- expect((error.error as DynamoFM_Error)?.errors).toBeUndefined();
613
- });
614
- });
615
- });
616
- });
617
- });
618
-
619
- describe('on error_stack_2;', (): void => {
620
- beforeEach((): void => {
621
- flat = error_stack_2.getErrorsFlat();
622
- });
623
-
624
- it('should be defined', (): void => {
625
- expect(flat).toBeDefined();
626
- });
627
-
628
- it('should have error', (): void => {
629
- expect(flat.error).toBeDefined();
630
- });
631
-
632
- describe('errors...;', (): void => {
633
- it('should have errors', (): void => {
634
- expect(flat?.errors).toBeDefined();
635
- });
636
-
637
- it('should have 3 errors', (): void => {
638
- expect(flat?.errors?.length).toBe(3);
639
- });
640
-
641
- flat?.errors?.forEach((error: DynamoFM_Error, index: number): void => {
642
- describe(`on error[${index}];`, (): void => {
643
- it('should be', (): void => {
644
- expect(error).toBeDefined();
645
- });
646
-
647
- it(`should have error[${index}].error`, (): void => {
648
- expect(error.error).toBeDefined();
649
- });
650
-
651
- it(`should not have error[${index}].errors`, (): void => {
652
- expect(error.errors).toBeUndefined();
653
- });
654
-
655
- it(`should not have error[${index}].error.error`, (): void => {
656
- expect((error.error as DynamoFM_Error)?.error).toBeUndefined();
657
- });
658
-
659
- it(`should not have error[${index}].error.errors`, (): void => {
660
- expect((error.error as DynamoFM_Error)?.errors).toBeUndefined();
661
- });
662
- });
663
- });
664
- });
665
- });
666
-
667
- describe('on self defined error;', (): void => {
668
- beforeEach((): void => {
669
- flat = error_selfDefined.getErrorsFlat();
670
- });
671
-
672
- it('should be defined', (): void => {
673
- expect(flat).toBeDefined();
674
- });
675
-
676
- it('should have error', (): void => {
677
- expect(flat.error).toBeDefined();
678
- });
679
-
680
- describe('errors...;', (): void => {
681
- it('should have errors', (): void => {
682
- expect(flat?.errors).toBeDefined();
683
- });
684
-
685
- it('should have 1 errors', (): void => {
686
- expect(flat?.errors?.length).toBe(1);
687
- });
688
-
689
- flat?.errors?.forEach((error: DynamoFM_Error, index: number): void => {
690
- describe(`on error[${index}];`, (): void => {
691
- it('should be', (): void => {
692
- expect(error).toBeDefined();
693
- });
694
-
695
- it(`should have error[${index}].error`, (): void => {
696
- expect(error.error).toBeDefined();
697
- });
698
-
699
- it(`should not have error[${index}].errors`, (): void => {
700
- expect(error.errors).toBeUndefined();
701
- });
702
-
703
- it(`should not have error[${index}].error.error`, (): void => {
704
- expect((error.error as DynamoFM_Error)?.error).toBeUndefined();
705
- });
706
-
707
- it(`should not have error[${index}].error.errors`, (): void => {
708
- expect((error.error as DynamoFM_Error)?.errors).toBeUndefined();
709
- });
710
- });
711
- });
712
- });
713
- });
714
- });
715
- });
716
-
1
+
2
+
3
+ import { DynamoFM_error_defaults } from '../../_collections/constants/error-defaults.const';
4
+ import { DynamoFM_Log } from '../../_collections/utils/log.util';
5
+ import { DynamoFM_Error } from './error.control-model';
6
+
7
+ describe('DynamoFM_Error;', (): void => {
8
+ let error_base: Error;
9
+ let error_0: DynamoFM_Error;
10
+ let error_stack_1: DynamoFM_Error;
11
+ let error_stack_withoutSubErrors_1: DynamoFM_Error;
12
+ let error_stack_2: DynamoFM_Error;
13
+ let error_stack_withoutSubErrors_2: DynamoFM_Error;
14
+ let error_selfDefined: DynamoFM_Error;
15
+
16
+ const message_base: string = '-TEST ERROR: something failed!-';
17
+ const message_1: string = 'TEST ERROR MSG (1)';
18
+ const message_2: string = 'TEST ERROR MSG (2)';
19
+ const message_selfDefined: string = 'error.control-model.spec.js:82:29';
20
+
21
+ const errorCode_0: string = 'ASD-ASD-001';
22
+ const errorCode_1: string = 'ASD-ASD-002';
23
+ const errorCode_2: string = 'ASD-ASD-003';
24
+
25
+ const userMessage_0: string = 'DynamoFM_Error TEST was TEST! (0)';
26
+ const userMessage_2: string = 'DynamoFM_Error TEST was TEST! (2)';
27
+
28
+ const userMessageResult_0: string = userMessage_0 + `\nErrorCode: ${errorCode_0}`;
29
+ const userMessageResult_2: string = userMessage_2 + `\nErrorCode: ${errorCode_2}`;
30
+
31
+ const issuer: string = 'DynamoFM_Error TEST User';
32
+ const issuerSystem: string = 'DynamoFM_FSM TEST';
33
+ const issuerService_0: string = 'Service-0';
34
+ const issuerService_1: string = 'Service-1';
35
+
36
+ const additionalContent_1 = {
37
+ test: 'test',
38
+ test2: 'test2',
39
+ };
40
+ const additionalContent_2 = {
41
+ test2: 'testZ',
42
+ test3: 'test3',
43
+ };
44
+
45
+ const log: boolean = false;
46
+ /* const log: boolean = true; */
47
+
48
+ beforeEach(async (): Promise<void> => {
49
+ error_base = new Error(message_base);
50
+
51
+ error_0 = new DynamoFM_Error({
52
+ userMessage: userMessage_0,
53
+ addECToUserMsg: true,
54
+ errorCode: errorCode_0,
55
+ issuerSystem: issuerSystem,
56
+ issuer: issuer,
57
+ issuerService: issuerService_0,
58
+ error: error_base,
59
+ });
60
+
61
+ error_stack_1 = new DynamoFM_Error({
62
+ message: message_1,
63
+ errorCode: errorCode_1,
64
+ issuerService: issuerService_1,
65
+ handled: true,
66
+ additionalContent: additionalContent_1,
67
+ error: error_0,
68
+ });
69
+
70
+ error_stack_withoutSubErrors_1 = {
71
+ ...error_stack_1,
72
+ } as DynamoFM_Error;
73
+ error_stack_withoutSubErrors_1.errors.forEach((error: DynamoFM_Error): any => {
74
+ const subError = { ...error };
75
+
76
+ delete (subError as DynamoFM_Error).errors;
77
+
78
+ return subError;
79
+ });
80
+
81
+ error_stack_2 = new DynamoFM_Error({
82
+ message: message_2,
83
+ userMessage: userMessage_2,
84
+ addECToUserMsg: true,
85
+ errorCode: errorCode_2,
86
+ additionalContent: additionalContent_2,
87
+ error: error_stack_1,
88
+ });
89
+
90
+ error_stack_withoutSubErrors_2 = {
91
+ ...error_stack_2,
92
+ } as DynamoFM_Error;
93
+ error_stack_withoutSubErrors_2.errors.map((error: DynamoFM_Error): any => {
94
+ const subError = { ...error };
95
+
96
+ delete (subError as DynamoFM_Error).errors;
97
+
98
+ return subError;
99
+ });
100
+
101
+ error_selfDefined = new DynamoFM_Error();
102
+ });
103
+
104
+ if (log) afterAll(async (): Promise<void> => {
105
+ DynamoFM_Log.testLog('error_stack_2:\n', error_stack_2);
106
+ DynamoFM_Log.testLog('error_stack_2.getFlat:\n', error_stack_2.getErrorsFlat());
107
+ DynamoFM_Log.testLog('error_stack_2.getSimplified:\n', error_stack_2.getErrorSimplified());
108
+ DynamoFM_Log.testLog('error_stack_withoutSubErrors_2:\n', error_stack_withoutSubErrors_2);
109
+ DynamoFM_Log.testLog('error_selfDefined:\n', error_selfDefined);
110
+ DynamoFM_Log.testLog('error_selfDefined.getFlat:\n', error_selfDefined.getErrorsFlat());
111
+ DynamoFM_Log.testLog(
112
+ 'error_selfDefined.getSimplified:\n', error_selfDefined.getErrorSimplified()
113
+ );
114
+ });
115
+
116
+ describe('should be defined;', (): void => {
117
+ it('error object', (): void => {
118
+ expect(error_0).toBeDefined();
119
+ });
120
+
121
+ it('error stack object', (): void => {
122
+ expect(error_stack_1).toBeDefined();
123
+ });
124
+
125
+ it('greater error stack object', (): void => {
126
+ expect(error_stack_2).toBeDefined();
127
+ });
128
+
129
+ it('self defined error object', (): void => {
130
+ expect(error_selfDefined).toBeDefined();
131
+ });
132
+ });
133
+
134
+ describe('should be instance of DynamoFM_Error;', (): void => {
135
+ it('error as DynamoFM_Error object', (): void => {
136
+ expect(error_0).toBeInstanceOf(DynamoFM_Error);
137
+ });
138
+
139
+ it('error stack as DynamoFM_Error object', (): void => {
140
+ expect(error_stack_1).toBeInstanceOf(DynamoFM_Error);
141
+ });
142
+
143
+ it('greater error stack as DynamoFM_Error object', (): void => {
144
+ expect(error_stack_2).toBeInstanceOf(DynamoFM_Error);
145
+ });
146
+
147
+ it('self defined error as DynamoFM_Error object', (): void => {
148
+ expect(error_selfDefined).toBeInstanceOf(DynamoFM_Error);
149
+ });
150
+ });
151
+
152
+ describe('should have the proper _errorCode;', (): void => {
153
+ it('on error_0', (): void => {
154
+ expect(error_0._errorCode).toBe(errorCode_0);
155
+ });
156
+
157
+ it('on error_stack_1', (): void => {
158
+ expect(error_stack_1._errorCode).toBe(errorCode_0);
159
+ });
160
+
161
+ it('on error_stack_2', (): void => {
162
+ expect(error_stack_2._errorCode).toBe(errorCode_0);
163
+ });
164
+
165
+ it('on self defined error', (): void => {
166
+ expect(error_selfDefined._errorCode).toBe(DynamoFM_error_defaults.errorCode);
167
+ });
168
+ });
169
+
170
+ describe('should have the proper _errorCodes;', (): void => {
171
+ it('on error_0', (): void => {
172
+ expect(error_0._errorCodes).toEqual([ errorCode_0 ]);
173
+ });
174
+
175
+ it('on error_stack_1', (): void => {
176
+ expect(error_stack_1._errorCodes).toEqual([ errorCode_0, errorCode_1 ]);
177
+ });
178
+
179
+ it('on error_stack_2', (): void => {
180
+ expect(error_stack_2._errorCodes).toEqual([ errorCode_0, errorCode_1, errorCode_2 ]);
181
+ });
182
+
183
+ it('on self defined error', (): void => {
184
+ expect(error_selfDefined._errorCodes).toEqual([ DynamoFM_error_defaults.errorCode ]);
185
+ });
186
+ });
187
+
188
+ describe('should have the proper _message;', (): void => {
189
+ it('on error_0', (): void => {
190
+ expect(error_0._message).toBe(message_base);
191
+ });
192
+
193
+ it('on error_stack_1', (): void => {
194
+ expect(error_stack_1._message).toBe(message_base);
195
+ });
196
+
197
+ it('on error_stack_2', (): void => {
198
+ expect(error_stack_2._message).toBe(message_base);
199
+ });
200
+
201
+ it('on self defined error (stack)', (): void => {
202
+ expect(
203
+ error_selfDefined._message.includes(message_selfDefined)
204
+ ).withContext(
205
+ `"${error_selfDefined._message}"` +
206
+ '\n not contains' +
207
+ `\n"${message_selfDefined}"` +
208
+ '"\n '
209
+ ).toBe(true);
210
+ });
211
+
212
+ it('on self defined error (flag)', (): void => {
213
+ expect(
214
+ error_selfDefined._message.includes(DynamoFM_error_defaults.message)
215
+ ).withContext(
216
+ `"${error_selfDefined._message}"` +
217
+ '\n not contains' +
218
+ `\n"${DynamoFM_error_defaults.message}"` +
219
+ '"\n '
220
+ ).toBe(true);
221
+ });
222
+ });
223
+
224
+ describe('should have the proper _messages;', (): void => {
225
+ it('on error_0', (): void => {
226
+ expect(error_0._messages).toEqual([ message_base ]);
227
+ });
228
+
229
+ it('on error_stack_1', (): void => {
230
+ expect(error_stack_1._messages).toEqual([ message_base, message_1 ]);
231
+ });
232
+
233
+ it('on error_stack_2', (): void => {
234
+ expect(error_stack_2._messages).toEqual([ message_base, message_1, message_2 ]);
235
+ });
236
+
237
+ it('on self defined error (stack)', (): void => {
238
+ expect(
239
+ error_selfDefined._messages.length === 1 &&
240
+ error_selfDefined._messages?.[0]?.includes(message_selfDefined)
241
+ ).withContext(
242
+ `"${error_selfDefined._messages?.[0]}"` +
243
+ '\n not contains' +
244
+ `\n"${message_selfDefined}"` +
245
+ '"\n '
246
+ ).toBe(true);
247
+ });
248
+
249
+ it('on self defined error (flag)', (): void => {
250
+ expect(
251
+ error_selfDefined._messages.length === 1 &&
252
+ error_selfDefined._messages?.[0]?.includes(DynamoFM_error_defaults.message)
253
+ ).withContext(
254
+ `"${error_selfDefined._messages?.[0]}"` +
255
+ '\n not contains' +
256
+ `\n"${DynamoFM_error_defaults.message}"` +
257
+ '"\n '
258
+ ).toBe(true);
259
+ });
260
+ });
261
+
262
+ describe('should have the proper __userMessage;', (): void => {
263
+ it('on error_0', (): void => {
264
+ expect(error_0.__userMessage).toBe(userMessageResult_0);
265
+ });
266
+
267
+ it('on error_stack_1', (): void => {
268
+ expect(error_stack_1.__userMessage).toBe(userMessageResult_0);
269
+ });
270
+
271
+ it('on error_stack_2', (): void => {
272
+ expect(error_stack_2.__userMessage).toBe(userMessageResult_0);
273
+ });
274
+
275
+ it('on self defined error', (): void => {
276
+ expect(error_selfDefined.__userMessage).toBeUndefined();
277
+ });
278
+ });
279
+
280
+ describe('should have the proper __userMessages;', (): void => {
281
+ it('on error_0', (): void => {
282
+ expect(error_0.__userMessages).toEqual([ userMessageResult_0 ]);
283
+ });
284
+
285
+ it('on error_stack_1', (): void => {
286
+ expect(error_stack_1.__userMessages).toEqual(
287
+ [ userMessageResult_0, DynamoFM_error_defaults.userMessage ]
288
+ );
289
+ });
290
+
291
+ it('on error_stack_2', (): void => {
292
+ expect(error_stack_2.__userMessages).toEqual(
293
+ [ userMessageResult_0, DynamoFM_error_defaults.userMessage, userMessageResult_2 ]
294
+ );
295
+ });
296
+
297
+ it('on self defined error', (): void => {
298
+ expect(error_selfDefined.__userMessages).toEqual([ DynamoFM_error_defaults.userMessage ]);
299
+ });
300
+ });
301
+
302
+ describe('should have proper error;', (): void => {
303
+ it('on error_0', (): void => {
304
+ expect(error_0.error).toBe(error_base);
305
+ });
306
+
307
+ it('on error_stack_1', (): void => {
308
+ expect(error_stack_1.error).toBe(error_base);
309
+ });
310
+
311
+ it('on error_stack_2', (): void => {
312
+ expect(error_stack_2.error).toBe(error_base);
313
+ });
314
+
315
+ it('on self defined error', (): void => {
316
+ expect(error_selfDefined.error).toBeDefined();
317
+ });
318
+ });
319
+
320
+ describe('should have the proper errors;', (): void => {
321
+ it('on error_0', (): void => {
322
+ expect(error_0.errors).toEqual([ error_base ]);
323
+ });
324
+
325
+ it('on error_stack_1', (): void => {
326
+ expect(error_stack_1.errors).toEqual([ error_base, error_0 ]);
327
+ });
328
+
329
+ it('on error_stack_2', (): void => {
330
+ expect(error_stack_2.errors).toEqual([ error_base, error_0, error_stack_1 ]);
331
+ });
332
+
333
+ it('on self defined error', (): void => {
334
+ expect(error_selfDefined?.errors?.length).toBe(1);
335
+ });
336
+ });
337
+
338
+ describe('should have proper handled;', (): void => {
339
+ it('on error_0', (): void => {
340
+ expect(error_0.___handled).toBe(false);
341
+ });
342
+
343
+ it('on error_stack_1', (): void => {
344
+ expect(error_stack_1.___handled).toBe(true);
345
+ });
346
+
347
+ it('on error_stack_2', (): void => {
348
+ expect(error_stack_2.___handled).toBe(true);
349
+ });
350
+
351
+ it('on self defined error', (): void => {
352
+ expect(error_selfDefined.___handled).toBe(false);
353
+ });
354
+ });
355
+
356
+ describe('should have status: undefined;', (): void => {
357
+ it('on error_0', (): void => {
358
+ expect(error_0.___status).toBe(undefined);
359
+ });
360
+
361
+ it('on error_stack_1', (): void => {
362
+ expect(error_stack_1.___status).toBe(undefined);
363
+ });
364
+
365
+ it('on error_stack_2', (): void => {
366
+ expect(error_stack_2.___status).toBe(undefined);
367
+ });
368
+
369
+ it('on self defined error', (): void => {
370
+ expect(error_selfDefined.___status).toBe(undefined);
371
+ });
372
+ });
373
+
374
+ describe('should have the proper issuer;', (): void => {
375
+ it('on error_0', (): void => {
376
+ expect(error_0.___issuer).toBe(issuer);
377
+ });
378
+
379
+ it('on error_stack_1', (): void => {
380
+ expect(error_stack_1.___issuer).toBe(issuer);
381
+ });
382
+
383
+ it('on error_stack_2', (): void => {
384
+ expect(error_stack_2.___issuer).toBe(issuer);
385
+ });
386
+
387
+ it('on self defined error', (): void => {
388
+ expect(error_selfDefined.___issuer).toBe(DynamoFM_error_defaults.issuer);
389
+ });
390
+ });
391
+
392
+ describe('should have get proper additionalContent;', (): void => {
393
+ it('on error_0', (): void => {
394
+ expect(error_0.additionalContent).toEqual({});
395
+ });
396
+
397
+ it('on error_stack_1', (): void => {
398
+ expect(error_stack_1.additionalContent).toEqual(additionalContent_1);
399
+ });
400
+
401
+ it('on error_stack_2', (): void => {
402
+ expect(error_stack_2.additionalContent).toEqual({
403
+ ...additionalContent_1,
404
+ ...additionalContent_2,
405
+ });
406
+ });
407
+
408
+ it('on self defined error', (): void => {
409
+ expect(error_selfDefined.additionalContent).toEqual({});
410
+ });
411
+ });
412
+
413
+ describe('should have the proper issuerSystem;', (): void => {
414
+ it('on error_0', (): void => {
415
+ expect(error_0.___issuerSystem).toBe(issuerSystem);
416
+ });
417
+
418
+ it('on error_stack_1', (): void => {
419
+ expect(error_stack_1.___issuerSystem).toBe(issuerSystem);
420
+ });
421
+
422
+ it('on error_stack_2', (): void => {
423
+ expect(error_stack_2.___issuerSystem).toBe(issuerSystem);
424
+ });
425
+
426
+ it('on self defined error', (): void => {
427
+ expect(error_selfDefined.___issuerSystem).toBe(DynamoFM_error_defaults.issuerSystem);
428
+ });
429
+ });
430
+
431
+ describe('should have the proper issuerService;', (): void => {
432
+ it('on error_0', (): void => {
433
+ expect(error_0.___issuerService).toBe(issuerService_0);
434
+ });
435
+
436
+ it('on error_stack_1', (): void => {
437
+ expect(error_stack_1.___issuerService).toBe(issuerService_1);
438
+ });
439
+
440
+ it('on error_stack_2', (): void => {
441
+ expect(error_stack_2.___issuerService).toBe(issuerService_1);
442
+ });
443
+
444
+ it('on self defined error', (): void => {
445
+ expect(error_selfDefined.___issuerService).toBe(DynamoFM_error_defaults.issuerService);
446
+ });
447
+ });
448
+
449
+ describe('should have get proper simplified;', (): void => {
450
+ let simplified;
451
+
452
+ describe('on error_0;', (): void => {
453
+ beforeEach((): void => {
454
+ simplified = error_0.getErrorSimplified();
455
+ });
456
+
457
+ it('should be defined', (): void => {
458
+ expect(simplified).toBeDefined();
459
+ });
460
+
461
+ it('should have error', (): void => {
462
+ expect(simplified.error).toBeDefined();
463
+ });
464
+
465
+ it('should not have errors', (): void => {
466
+ expect(simplified.errors).toBeUndefined();
467
+ });
468
+
469
+ it('should not have simplified.error.error', (): void => {
470
+ expect((simplified.error as DynamoFM_Error)?.error).toBeUndefined();
471
+ });
472
+
473
+ it('should not have simplified.error.errors', (): void => {
474
+ expect((simplified.error as DynamoFM_Error)?.errors).toBeUndefined();
475
+ });
476
+ });
477
+
478
+ describe('on error_stack_1;', (): void => {
479
+ beforeEach((): void => {
480
+ simplified = error_stack_1.getErrorSimplified();
481
+ });
482
+
483
+ it('should be defined', (): void => {
484
+ expect(simplified).toBeDefined();
485
+ });
486
+
487
+ it('should have error', (): void => {
488
+ expect(simplified.error).toBeDefined();
489
+ });
490
+
491
+ it('should not have errors', (): void => {
492
+ expect(simplified.errors).toBeUndefined();
493
+ });
494
+
495
+ it('should not have simplified.error.error', (): void => {
496
+ expect((simplified.error as DynamoFM_Error)?.error).toBeUndefined();
497
+ });
498
+
499
+ it('should not have simplified.error.errors', (): void => {
500
+ expect((simplified.error as DynamoFM_Error)?.errors).toBeUndefined();
501
+ });
502
+ });
503
+
504
+ describe('on error_stack_2;', (): void => {
505
+ beforeEach((): void => {
506
+ simplified = error_stack_2.getErrorSimplified();
507
+ });
508
+
509
+ it('should be defined', (): void => {
510
+ expect(simplified).toBeDefined();
511
+ });
512
+
513
+ it('should have error', (): void => {
514
+ expect(simplified.error).toBeDefined();
515
+ });
516
+
517
+ it('should not have errors', (): void => {
518
+ expect(simplified.errors).toBeUndefined();
519
+ });
520
+
521
+ it('should not have simplified.error.error', (): void => {
522
+ expect((simplified.error as DynamoFM_Error)?.error).toBeUndefined();
523
+ });
524
+
525
+ it('should not have simplified.error.errors', (): void => {
526
+ expect((simplified.error as DynamoFM_Error)?.errors).toBeUndefined();
527
+ });
528
+ });
529
+
530
+ describe('on self defined error;', (): void => {
531
+ beforeEach((): void => {
532
+ simplified = error_selfDefined.getErrorSimplified();
533
+ });
534
+
535
+ it('should be defined', (): void => {
536
+ expect(simplified).toBeDefined();
537
+ });
538
+
539
+ it('should have error', (): void => {
540
+ expect(simplified.error).toBeDefined();
541
+ });
542
+
543
+ it('should not have errors', (): void => {
544
+ expect(simplified.errors).toBeUndefined();
545
+ });
546
+
547
+ it('should not have simplified.error.error', (): void => {
548
+ expect((simplified.error as DynamoFM_Error)?.error).toBeUndefined();
549
+ });
550
+
551
+ it('should not have simplified.error.errors', (): void => {
552
+ expect((simplified.error as DynamoFM_Error)?.errors).toBeUndefined();
553
+ });
554
+ });
555
+ });
556
+
557
+ describe('should have get proper flat;', (): void => {
558
+ let flat;
559
+
560
+ describe('on error_0;', (): void => {
561
+ beforeEach((): void => {
562
+ flat = error_0.getErrorsFlat();
563
+ });
564
+
565
+ it('should be defined', (): void => {
566
+ expect(flat).toBeDefined();
567
+ });
568
+
569
+ it('should have error', (): void => {
570
+ expect(flat.error).toBeDefined();
571
+ });
572
+
573
+ describe('errors...;', (): void => {
574
+ it('should have errors', (): void => {
575
+ expect(flat?.errors).toBeDefined();
576
+ });
577
+
578
+ it('should have 1 errors', (): void => {
579
+ expect(flat?.errors?.length).toBe(1);
580
+ });
581
+
582
+ flat?.errors?.forEach((error: DynamoFM_Error, index: number): void => {
583
+ describe(`on error[${index}];`, (): void => {
584
+ it('should be', (): void => {
585
+ expect(error).toBeDefined();
586
+ });
587
+
588
+ it(`should have error[${index}].error`, (): void => {
589
+ expect(error.error).toBeDefined();
590
+ });
591
+
592
+ it(`should not have error[${index}].errors`, (): void => {
593
+ expect(error.errors).toBeUndefined();
594
+ });
595
+
596
+ it(`should not have error[${index}].error.error`, (): void => {
597
+ expect((error.error as DynamoFM_Error)?.error).toBeUndefined();
598
+ });
599
+
600
+ it(`should not have error[${index}].error.errors`, (): void => {
601
+ expect((error.error as DynamoFM_Error)?.errors).toBeUndefined();
602
+ });
603
+ });
604
+ });
605
+ });
606
+ });
607
+
608
+ describe('on error_stack_1;', (): void => {
609
+ beforeEach((): void => {
610
+ flat = error_stack_1.getErrorsFlat();
611
+ });
612
+
613
+ it('should be defined', (): void => {
614
+ expect(flat).toBeDefined();
615
+ });
616
+
617
+ it('should have error', (): void => {
618
+ expect(flat.error).toBeDefined();
619
+ });
620
+
621
+ describe('errors...;', (): void => {
622
+ it('should have errors', (): void => {
623
+ expect(flat?.errors).toBeDefined();
624
+ });
625
+
626
+ it('should have 2 errors', (): void => {
627
+ expect(flat?.errors?.length).toBe(2);
628
+ });
629
+
630
+ flat?.errors?.forEach((error: DynamoFM_Error, index: number): void => {
631
+ describe(`on error[${index}];`, (): void => {
632
+ it('should be', (): void => {
633
+ expect(error).toBeDefined();
634
+ });
635
+
636
+ it(`should have error[${index}].error`, (): void => {
637
+ expect(error.error).toBeDefined();
638
+ });
639
+
640
+ it(`should not have error[${index}].errors`, (): void => {
641
+ expect(error.errors).toBeUndefined();
642
+ });
643
+
644
+ it('should not have error[${index}].error.error', (): void => {
645
+ expect((error.error as DynamoFM_Error)?.error).toBeUndefined();
646
+ });
647
+
648
+ it('should not have error[${index}].error.errors', (): void => {
649
+ expect((error.error as DynamoFM_Error)?.errors).toBeUndefined();
650
+ });
651
+ });
652
+ });
653
+ });
654
+ });
655
+
656
+ describe('on error_stack_2;', (): void => {
657
+ beforeEach((): void => {
658
+ flat = error_stack_2.getErrorsFlat();
659
+ });
660
+
661
+ it('should be defined', (): void => {
662
+ expect(flat).toBeDefined();
663
+ });
664
+
665
+ it('should have error', (): void => {
666
+ expect(flat.error).toBeDefined();
667
+ });
668
+
669
+ describe('errors...;', (): void => {
670
+ it('should have errors', (): void => {
671
+ expect(flat?.errors).toBeDefined();
672
+ });
673
+
674
+ it('should have 3 errors', (): void => {
675
+ expect(flat?.errors?.length).toBe(3);
676
+ });
677
+
678
+ flat?.errors?.forEach((error: DynamoFM_Error, index: number): void => {
679
+ describe(`on error[${index}];`, (): void => {
680
+ it('should be', (): void => {
681
+ expect(error).toBeDefined();
682
+ });
683
+
684
+ it(`should have error[${index}].error`, (): void => {
685
+ expect(error.error).toBeDefined();
686
+ });
687
+
688
+ it(`should not have error[${index}].errors`, (): void => {
689
+ expect(error.errors).toBeUndefined();
690
+ });
691
+
692
+ it(`should not have error[${index}].error.error`, (): void => {
693
+ expect((error.error as DynamoFM_Error)?.error).toBeUndefined();
694
+ });
695
+
696
+ it(`should not have error[${index}].error.errors`, (): void => {
697
+ expect((error.error as DynamoFM_Error)?.errors).toBeUndefined();
698
+ });
699
+ });
700
+ });
701
+ });
702
+ });
703
+
704
+ describe('on self defined error;', (): void => {
705
+ beforeEach((): void => {
706
+ flat = error_selfDefined.getErrorsFlat();
707
+ });
708
+
709
+ it('should be defined', (): void => {
710
+ expect(flat).toBeDefined();
711
+ });
712
+
713
+ it('should have error', (): void => {
714
+ expect(flat.error).toBeDefined();
715
+ });
716
+
717
+ describe('errors...;', (): void => {
718
+ it('should have errors', (): void => {
719
+ expect(flat?.errors).toBeDefined();
720
+ });
721
+
722
+ it('should have 1 errors', (): void => {
723
+ expect(flat?.errors?.length).toBe(1);
724
+ });
725
+
726
+ flat?.errors?.forEach((error: DynamoFM_Error, index: number): void => {
727
+ describe(`on error[${index}];`, (): void => {
728
+ it('should be', (): void => {
729
+ expect(error).toBeDefined();
730
+ });
731
+
732
+ it(`should have error[${index}].error`, (): void => {
733
+ expect(error.error).toBeDefined();
734
+ });
735
+
736
+ it(`should not have error[${index}].errors`, (): void => {
737
+ expect(error.errors).toBeUndefined();
738
+ });
739
+
740
+ it(`should not have error[${index}].error.error`, (): void => {
741
+ expect((error.error as DynamoFM_Error)?.error).toBeUndefined();
742
+ });
743
+
744
+ it(`should not have error[${index}].error.errors`, (): void => {
745
+ expect((error.error as DynamoFM_Error)?.errors).toBeUndefined();
746
+ });
747
+ });
748
+ });
749
+ });
750
+ });
751
+ });
752
+ });
753
+