@fincity/kirun-js 2.5.0 → 2.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/engine/function/system/WaitTest.ts +1 -1
- package/__tests__/engine/function/system/array/AddFirstTest.ts +2 -6
- package/__tests__/engine/function/system/array/IndexOfTest.ts +8 -13
- package/__tests__/engine/function/system/array/LastIndexOfTest.ts +9 -28
- package/__tests__/engine/function/system/date/AddSubtractTimeTest.ts +93 -0
- package/__tests__/engine/function/system/date/DateFunctionRepositoryTest.ts +96 -0
- package/__tests__/engine/function/system/date/DifferenceTest.ts +93 -0
- package/__tests__/engine/function/system/date/EpochToTimestampTest.ts +133 -0
- package/__tests__/engine/function/system/date/FromDateStringTest.ts +51 -0
- package/__tests__/engine/function/system/date/FromNowTest.ts +71 -0
- package/__tests__/engine/function/system/date/GetCurrentTimeStampTest.ts +19 -27
- package/__tests__/engine/function/system/date/GetNamesTest.ts +105 -0
- package/__tests__/engine/function/system/date/IsBetweenTest.ts +53 -0
- package/__tests__/engine/function/system/date/IsValidISODateTest.ts +42 -54
- package/__tests__/engine/function/system/date/LastFirstOfTest.ts +64 -0
- package/__tests__/engine/function/system/date/SetTimeZoneTest.ts +48 -0
- package/__tests__/engine/function/system/date/StartEndOfTest.ts +53 -0
- package/__tests__/engine/function/system/date/TimeAsTest.ts +24 -0
- package/__tests__/engine/function/system/date/TimestampToEpochTest.ts +45 -0
- package/__tests__/engine/function/system/date/ToDateStringTest.ts +48 -0
- package/__tests__/engine/function/system/math/MathFunctionRepositoryTest.ts +2 -2
- package/__tests__/engine/function/system/math/MaximumTest.ts +3 -2
- package/__tests__/engine/function/system/math/MinimumTest.ts +18 -20
- package/__tests__/engine/function/system/math/RandomFloatTest.ts +21 -22
- package/__tests__/engine/function/system/math/RandomIntTest.ts +5 -4
- package/__tests__/engine/json/schema/covnertor/BooleanConvertorTest.ts +55 -0
- package/__tests__/engine/json/schema/covnertor/NullConvertorTest.ts +47 -0
- package/__tests__/engine/json/schema/covnertor/NumberConvertorTest.ts +154 -0
- package/__tests__/engine/json/schema/covnertor/StringConvertorTest.ts +56 -0
- package/__tests__/engine/json/schema/validator/AnyOfAllOfOneOfValidatorTest.ts +9 -7
- package/__tests__/engine/json/schema/validator/NotValidatorTest.ts +3 -3
- package/__tests__/engine/json/schema/validator/StringValidatorTest.ts +1 -9
- package/__tests__/engine/json/schema/validator/TypeValidatorTest.ts +290 -0
- package/__tests__/engine/repository/RepositoryFilterTest.ts +4 -1
- package/__tests__/engine/runtime/expression/ExpressionEqualityTest.ts +76 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +27 -20
- package/dist/types.d.ts.map +1 -1
- package/generator/generateValidationCSV.ts +52 -38
- package/generator/validation-js.csv +470 -166
- package/package.json +11 -6
- package/src/engine/function/AbstractFunction.ts +1 -1
- package/src/engine/function/system/Print.ts +19 -5
- package/src/engine/function/system/Wait.ts +1 -1
- package/src/engine/function/system/array/AbstractArrayFunction.ts +3 -3
- package/src/engine/function/system/array/Fill.ts +1 -1
- package/src/engine/function/system/array/Frequency.ts +0 -1
- package/src/engine/function/system/array/IndexOf.ts +4 -4
- package/src/engine/function/system/array/LastIndexOf.ts +3 -3
- package/src/engine/function/system/array/Rotate.ts +1 -1
- package/src/engine/function/system/array/Shuffle.ts +1 -1
- package/src/engine/function/system/array/Sort.ts +1 -1
- package/src/engine/function/system/date/AbstractDateFunction.ts +229 -111
- package/src/engine/function/system/date/AddSubtractTime.ts +99 -0
- package/src/engine/function/system/date/DateFunctionRepository.ts +228 -122
- package/src/engine/function/system/date/EpochToTimestamp.ts +75 -0
- package/src/engine/function/system/date/FromDateString.ts +44 -0
- package/src/engine/function/system/date/FromNow.ts +77 -0
- package/src/engine/function/system/date/GetCurrent.ts +20 -0
- package/src/engine/function/system/date/GetNames.ts +74 -0
- package/src/engine/function/system/date/IsBetween.ts +62 -0
- package/src/engine/function/system/date/IsValidISODate.ts +54 -40
- package/src/engine/function/system/date/LastFirstOf.ts +72 -0
- package/src/engine/function/system/date/SetTimeZone.ts +43 -0
- package/src/engine/function/system/date/StartEndOf.ts +44 -0
- package/src/engine/function/system/date/TimeAs.ts +64 -0
- package/src/engine/function/system/date/TimestampToEpoch.ts +54 -0
- package/src/engine/function/system/date/ToDateString.ts +49 -0
- package/src/engine/function/system/date/common.ts +9 -0
- package/src/engine/function/system/math/MathFunctionRepository.ts +43 -4
- package/src/engine/function/system/math/RandomAny.ts +57 -0
- package/src/engine/function/system/object/ObjectConvert.ts +99 -0
- package/src/engine/function/system/object/ObjectFunctionRepository.ts +2 -1
- package/src/engine/function/system/object/ObjectPutValue.ts +0 -2
- package/src/engine/function/system/string/AbstractStringFunction.ts +42 -82
- package/src/engine/function/system/string/StringFunctionRepository.ts +39 -20
- package/src/engine/json/schema/SchemaUtil.ts +1 -1
- package/src/engine/json/schema/convertor/BooleanConvertor.ts +76 -0
- package/src/engine/json/schema/convertor/NullConvertor.ts +31 -0
- package/src/engine/json/schema/convertor/NumberConvertor.ts +117 -0
- package/src/engine/json/schema/convertor/StringConvertor.ts +41 -0
- package/src/engine/json/schema/convertor/enums/ConversionMode.ts +11 -0
- package/src/engine/json/schema/convertor/exception/SchemaConversionException.ts +39 -0
- package/src/engine/json/schema/validator/AnyOfAllOfOneOfValidator.ts +96 -36
- package/src/engine/json/schema/validator/ArrayValidator.ts +15 -7
- package/src/engine/json/schema/validator/ObjectValidator.ts +24 -13
- package/src/engine/json/schema/validator/SchemaValidator.ts +74 -22
- package/src/engine/json/schema/validator/TypeValidator.ts +136 -23
- package/src/engine/repository/KIRunSchemaRepository.ts +57 -3
- package/src/engine/util/json/ConvertorUtil.ts +51 -0
- package/src/engine/util/json/ValidatorUtil.ts +29 -0
- package/src/engine/util/string/StringUtil.ts +12 -0
- package/__tests__/engine/function/system/date/AddTimeTest.ts +0 -115
- package/__tests__/engine/function/system/date/DateToEpochTest.ts +0 -74
- package/__tests__/engine/function/system/date/DifferenceOfTimestampsTest.ts +0 -53
- package/__tests__/engine/function/system/date/EpochToDateTest.ts +0 -105
- package/__tests__/engine/function/system/date/GetDateTest.ts +0 -85
- package/__tests__/engine/function/system/date/GetDayTest.ts +0 -85
- package/__tests__/engine/function/system/date/GetFullYearTest.ts +0 -85
- package/__tests__/engine/function/system/date/GetHoursTest.ts +0 -85
- package/__tests__/engine/function/system/date/GetMilliSecondsTest.ts +0 -85
- package/__tests__/engine/function/system/date/GetMinutesTest.ts +0 -85
- package/__tests__/engine/function/system/date/GetMonthTest.ts +0 -85
- package/__tests__/engine/function/system/date/GetSecondsTest.ts +0 -85
- package/__tests__/engine/function/system/date/GetTimeAsArrayTest.ts +0 -59
- package/__tests__/engine/function/system/date/GetTimeAsObjectTest.ts +0 -83
- package/__tests__/engine/function/system/date/GetTimeTest.ts +0 -86
- package/__tests__/engine/function/system/date/IsLeapYearTest.ts +0 -85
- package/__tests__/engine/function/system/date/MaximumTimestampTest.ts +0 -55
- package/__tests__/engine/function/system/date/MinimumTimestampTest.ts +0 -54
- package/__tests__/engine/function/system/date/SubtractTimeTest.ts +0 -95
- package/src/engine/function/system/date/DateToEpoch.ts +0 -39
- package/src/engine/function/system/date/DifferenceOfTimestamps.ts +0 -45
- package/src/engine/function/system/date/EpochToDate.ts +0 -76
- package/src/engine/function/system/date/GetCurrentTimeStamp.ts +0 -36
- package/src/engine/function/system/date/GetTimeAsArray.ts +0 -48
- package/src/engine/function/system/date/GetTimeAsObject.ts +0 -66
- package/src/engine/function/system/date/MaximumTimestamp.ts +0 -73
- package/src/engine/function/system/date/MinimumTimestamp.ts +0 -74
- package/src/engine/function/system/math/RandomFloat.ts +0 -56
- package/src/engine/function/system/math/RandomInt.ts +0 -56
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository, Namespaces } from "../../../../../src";
|
|
2
|
-
import { AbstractDateFunction } from "../../../../../src/engine/function/system/date/AbstractDateFunction";
|
|
3
|
-
import { DateFunctionRepository } from "../../../../../src/engine/function/system/date/DateFunctionRepository";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const dfr : DateFunctionRepository = new DateFunctionRepository();
|
|
7
|
-
|
|
8
|
-
const fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
9
|
-
new KIRunFunctionRepository(),
|
|
10
|
-
new KIRunSchemaRepository());
|
|
11
|
-
|
|
12
|
-
test('check for invalid dates', async () => {
|
|
13
|
-
|
|
14
|
-
const getMinutesFunction = await dfr.find(Namespaces.DATE, 'GetMinutes');
|
|
15
|
-
|
|
16
|
-
if (!getMinutesFunction) {
|
|
17
|
-
throw new Error("Function not found");
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2029-02-00T06:04:18.073Z' ]]));
|
|
21
|
-
|
|
22
|
-
await expect( () => getMinutesFunction.execute(fep)).rejects.toThrow();
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
test('check for invalid dates', async () => {
|
|
28
|
-
|
|
29
|
-
const getMinutesFunction = await dfr.find(Namespaces.DATE, 'GetMinutes');
|
|
30
|
-
|
|
31
|
-
if (!getMinutesFunction) {
|
|
32
|
-
throw new Error("Function not found");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, 'water' ]]));
|
|
36
|
-
|
|
37
|
-
await expect( () => getMinutesFunction.execute(fep)).rejects.toThrow();
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
test('fetching for valid date' , async () => {
|
|
42
|
-
|
|
43
|
-
const getMinutesFunction = await dfr.find(Namespaces.DATE, 'GetMinutes');
|
|
44
|
-
|
|
45
|
-
if (!getMinutesFunction) {
|
|
46
|
-
throw new Error("Function not found");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2024-09-01T23:52:34.633-05:30' ]]));
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
expect( (await getMinutesFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(22);
|
|
53
|
-
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
test('fetching for valid date' , async () => {
|
|
57
|
-
|
|
58
|
-
const getMinutesFunction = await dfr.find(Namespaces.DATE, 'GetMinutes');
|
|
59
|
-
|
|
60
|
-
if (!getMinutesFunction) {
|
|
61
|
-
throw new Error("Function not found");
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2019-11-13T00:52:34.633Z' ]]));
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
expect( (await getMinutesFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(52);
|
|
68
|
-
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
test('fetching for valid date' , async () => {
|
|
73
|
-
|
|
74
|
-
const getMinutesFunction = await dfr.find(Namespaces.DATE, 'GetMinutes');
|
|
75
|
-
|
|
76
|
-
if (!getMinutesFunction) {
|
|
77
|
-
throw new Error("Function not found");
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2023-12-31T07:59:17.000-12:00' ]]));
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
expect( (await getMinutesFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(59);
|
|
84
|
-
|
|
85
|
-
})
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository, Namespaces } from "../../../../../src";
|
|
2
|
-
import { AbstractDateFunction } from "../../../../../src/engine/function/system/date/AbstractDateFunction";
|
|
3
|
-
import { DateFunctionRepository } from "../../../../../src/engine/function/system/date/DateFunctionRepository";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const dfr : DateFunctionRepository = new DateFunctionRepository();
|
|
7
|
-
|
|
8
|
-
const fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
9
|
-
new KIRunFunctionRepository(),
|
|
10
|
-
new KIRunSchemaRepository());
|
|
11
|
-
|
|
12
|
-
test('check for invalid dates', async () => {
|
|
13
|
-
|
|
14
|
-
const getMonthFunction = await dfr.find(Namespaces.DATE, 'GetMonth');
|
|
15
|
-
|
|
16
|
-
if (!getMonthFunction) {
|
|
17
|
-
throw new Error("Function not found");
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2029-15-00T06:04:18.073Z' ]]));
|
|
21
|
-
|
|
22
|
-
await expect( () => getMonthFunction.execute(fep)).rejects.toThrow();
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
test('check for invalid dates', async () => {
|
|
28
|
-
|
|
29
|
-
const getMonthFunction = await dfr.find(Namespaces.DATE, 'GetMonth');
|
|
30
|
-
|
|
31
|
-
if (!getMonthFunction) {
|
|
32
|
-
throw new Error("Function not found");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, true ]]));
|
|
36
|
-
|
|
37
|
-
await expect( () => getMonthFunction.execute(fep)).rejects.toThrow();
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
test('fetching for valid date' , async () => {
|
|
42
|
-
|
|
43
|
-
const getMonthFunction = await dfr.find(Namespaces.DATE, 'GetMonth');
|
|
44
|
-
|
|
45
|
-
if (!getMonthFunction) {
|
|
46
|
-
throw new Error("Function not found");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2024-09-01T23:52:34.633-05:30' ]]));
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
expect( (await getMonthFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(8);
|
|
53
|
-
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
test('fetching for valid date' , async () => {
|
|
57
|
-
|
|
58
|
-
const getMonthFunction = await dfr.find(Namespaces.DATE, 'GetMonth');
|
|
59
|
-
|
|
60
|
-
if (!getMonthFunction) {
|
|
61
|
-
throw new Error("Function not found");
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2019-11-13T23:52:34.633Z' ]]));
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
expect( (await getMonthFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(10);
|
|
68
|
-
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
test('fetching for valid date' , async () => {
|
|
73
|
-
|
|
74
|
-
const getMonthFunction = await dfr.find(Namespaces.DATE, 'GetMonth');
|
|
75
|
-
|
|
76
|
-
if (!getMonthFunction) {
|
|
77
|
-
throw new Error("Function not found");
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2023-12-31T07:35:17.000-12:00' ]]));
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
expect( (await getMonthFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(11);
|
|
84
|
-
|
|
85
|
-
})
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository, Namespaces } from "../../../../../src";
|
|
2
|
-
import { AbstractDateFunction } from "../../../../../src/engine/function/system/date/AbstractDateFunction";
|
|
3
|
-
import { DateFunctionRepository } from "../../../../../src/engine/function/system/date/DateFunctionRepository";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const dfr : DateFunctionRepository = new DateFunctionRepository();
|
|
7
|
-
|
|
8
|
-
const fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
9
|
-
new KIRunFunctionRepository(),
|
|
10
|
-
new KIRunSchemaRepository());
|
|
11
|
-
|
|
12
|
-
test('check for invalid dates', async () => {
|
|
13
|
-
|
|
14
|
-
const getSecondsFunction = await dfr.find(Namespaces.DATE, 'GetSeconds');
|
|
15
|
-
|
|
16
|
-
if (!getSecondsFunction) {
|
|
17
|
-
throw new Error("Function not found");
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2029-02-00T06:04:18.073Z' ]]));
|
|
21
|
-
|
|
22
|
-
await expect( () => getSecondsFunction.execute(fep)).rejects.toThrow();
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
test('check for invalid dates', async () => {
|
|
28
|
-
|
|
29
|
-
const getSecondsFunction = await dfr.find(Namespaces.DATE, 'GetSeconds');
|
|
30
|
-
|
|
31
|
-
if (!getSecondsFunction) {
|
|
32
|
-
throw new Error("Function not found");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, 'water packet' ]]));
|
|
36
|
-
|
|
37
|
-
await expect( () => getSecondsFunction.execute(fep)).rejects.toThrow();
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
test('fetching for valid date' , async () => {
|
|
42
|
-
|
|
43
|
-
const getSecondsFunction = await dfr.find(Namespaces.DATE, 'GetSeconds');
|
|
44
|
-
|
|
45
|
-
if (!getSecondsFunction) {
|
|
46
|
-
throw new Error("Function not found");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2024-09-01T23:52:53.633-05:30' ]]));
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
expect( (await getSecondsFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(53);
|
|
53
|
-
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
test('fetching for valid date' , async () => {
|
|
57
|
-
|
|
58
|
-
const getSecondsFunction = await dfr.find(Namespaces.DATE, 'GetSeconds');
|
|
59
|
-
|
|
60
|
-
if (!getSecondsFunction) {
|
|
61
|
-
throw new Error("Function not found");
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2019-11-13T00:52:34.633Z' ]]));
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
expect( (await getSecondsFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(34);
|
|
68
|
-
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
test('fetching for valid date' , async () => {
|
|
73
|
-
|
|
74
|
-
const getSecondsFunction = await dfr.find(Namespaces.DATE, 'GetSeconds');
|
|
75
|
-
|
|
76
|
-
if (!getSecondsFunction) {
|
|
77
|
-
throw new Error("Function not found");
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2023-12-31T07:59:17.000-12:00' ]]));
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
expect( (await getSecondsFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(17);
|
|
84
|
-
|
|
85
|
-
})
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository } from "../../../../../src";
|
|
2
|
-
import { GetTimeAsArray } from "../../../../../src/engine/function/system/date/GetTimeAsArray";
|
|
3
|
-
|
|
4
|
-
const gta : GetTimeAsArray = new GetTimeAsArray();
|
|
5
|
-
|
|
6
|
-
const fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
7
|
-
new KIRunFunctionRepository(),
|
|
8
|
-
new KIRunSchemaRepository());
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
describe('invalid date', () => {
|
|
12
|
-
|
|
13
|
-
test('invalid date one', async () => {
|
|
14
|
-
|
|
15
|
-
fep.setArguments(new Map([['isoDate', 'surendhar']]));
|
|
16
|
-
|
|
17
|
-
await expect( () => gta.execute(fep)).rejects.toThrow();
|
|
18
|
-
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
test('invalid date one', async () => {
|
|
23
|
-
|
|
24
|
-
fep.setArguments(new Map([['isoDate', '2023-02-30T12:12:12.123Z']]));
|
|
25
|
-
|
|
26
|
-
await expect( () => gta.execute(fep)).rejects.toThrow();
|
|
27
|
-
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
describe('valid date', () => {
|
|
33
|
-
|
|
34
|
-
test('valid date one', async () => {
|
|
35
|
-
|
|
36
|
-
fep.setArguments(new Map([['isoDate', '2023-10-10T10:02:54.959-12:12']]));
|
|
37
|
-
|
|
38
|
-
expect((await gta.execute(fep)).allResults()[0].getResult().get('result')).toMatchObject([2023, 10, 10, 22, 14, 54, 959]);
|
|
39
|
-
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
test('valid date two', async () => {
|
|
43
|
-
|
|
44
|
-
fep.setArguments(new Map([['isoDate', '2024-09-20T15:13:51.000Z']]));
|
|
45
|
-
|
|
46
|
-
expect((await gta.execute(fep)).allResults()[0].getResult().get('result')).toMatchObject([2024, 9, 20, 15, 13, 51, 0]);
|
|
47
|
-
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
test('valid date three', async () => {
|
|
52
|
-
|
|
53
|
-
fep.setArguments(new Map([['isoDate', '2023-06-10T10:02:54.959+02:11']]));
|
|
54
|
-
|
|
55
|
-
expect((await gta.execute(fep)).allResults()[0].getResult().get('result')).toMatchObject([2023, 6, 10, 7, 51, 54, 959]);
|
|
56
|
-
|
|
57
|
-
})
|
|
58
|
-
|
|
59
|
-
});
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository } from "../../../../../src";
|
|
2
|
-
import { GetTimeAsObject } from "../../../../../src/engine/function/system/date/GetTimeAsObject";
|
|
3
|
-
|
|
4
|
-
const gto : GetTimeAsObject = new GetTimeAsObject();
|
|
5
|
-
|
|
6
|
-
const fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
7
|
-
new KIRunFunctionRepository(),
|
|
8
|
-
new KIRunSchemaRepository());
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
describe('invalid date', () => {
|
|
12
|
-
|
|
13
|
-
test('invalid date one', async () => {
|
|
14
|
-
|
|
15
|
-
fep.setArguments(new Map([['isoDate', 'surendhar']]));
|
|
16
|
-
|
|
17
|
-
await expect( () => gto.execute(fep)).rejects.toThrow();
|
|
18
|
-
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
test('invalid date one', async () => {
|
|
23
|
-
|
|
24
|
-
fep.setArguments(new Map([['isoDate', '2023-02-30T12:12:12.123Z']]));
|
|
25
|
-
|
|
26
|
-
await expect( () => gto.execute(fep)).rejects.toThrow();
|
|
27
|
-
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
describe('valid date', () => {
|
|
33
|
-
|
|
34
|
-
test('valid date one', async () => {
|
|
35
|
-
|
|
36
|
-
fep.setArguments(new Map([['isoDate', '2023-10-10T10:02:54.959-12:12']]));
|
|
37
|
-
|
|
38
|
-
expect((await gto.execute(fep)).allResults()[0].getResult().get('result')).toMatchObject({
|
|
39
|
-
"year": 2023,
|
|
40
|
-
"month": 10,
|
|
41
|
-
"day": 10,
|
|
42
|
-
"hours": 22,
|
|
43
|
-
"minutes": 14,
|
|
44
|
-
"seconds": 54,
|
|
45
|
-
"milliseconds": 959
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
})
|
|
49
|
-
|
|
50
|
-
test('valid date two', async () => {
|
|
51
|
-
|
|
52
|
-
fep.setArguments(new Map([['isoDate', '2024-09-20T15:13:51.000Z']]));
|
|
53
|
-
|
|
54
|
-
expect((await gto.execute(fep)).allResults()[0].getResult().get('result')).toMatchObject({
|
|
55
|
-
"year": 2024,
|
|
56
|
-
"month": 9,
|
|
57
|
-
"day": 20,
|
|
58
|
-
"hours": 15,
|
|
59
|
-
"minutes": 13,
|
|
60
|
-
"seconds": 51,
|
|
61
|
-
"milliseconds": 0
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
test('valid date three', async () => {
|
|
68
|
-
|
|
69
|
-
fep.setArguments(new Map([['isoDate', '2023-06-10T10:02:54.959+02:11']]));
|
|
70
|
-
|
|
71
|
-
expect((await gto.execute(fep)).allResults()[0].getResult().get('result')).toMatchObject({
|
|
72
|
-
"year": 2023,
|
|
73
|
-
"month": 6,
|
|
74
|
-
"day": 10,
|
|
75
|
-
"hours": 7,
|
|
76
|
-
"minutes": 51,
|
|
77
|
-
"seconds": 54,
|
|
78
|
-
"milliseconds": 959
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
})
|
|
82
|
-
|
|
83
|
-
});
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository, Namespaces } from "../../../../../src";
|
|
2
|
-
import { AbstractDateFunction } from "../../../../../src/engine/function/system/date/AbstractDateFunction";
|
|
3
|
-
import { DateFunctionRepository } from "../../../../../src/engine/function/system/date/DateFunctionRepository";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const dfr : DateFunctionRepository = new DateFunctionRepository();
|
|
7
|
-
|
|
8
|
-
const fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
9
|
-
new KIRunFunctionRepository(),
|
|
10
|
-
new KIRunSchemaRepository());
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
test('check for invalid dates', async () => {
|
|
14
|
-
|
|
15
|
-
const getTimeFunction = await dfr.find(Namespaces.DATE, 'GetTime');
|
|
16
|
-
|
|
17
|
-
if (!getTimeFunction) {
|
|
18
|
-
throw new Error("Function not found");
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2029-02-00T06:04:18.073Z' ]]));
|
|
22
|
-
|
|
23
|
-
await expect( () => getTimeFunction.execute(fep)).rejects.toThrow();
|
|
24
|
-
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
test('check for invalid dates', async () => {
|
|
29
|
-
|
|
30
|
-
const getTimeFunction = await dfr.find(Namespaces.DATE, 'GetTime');
|
|
31
|
-
|
|
32
|
-
if (!getTimeFunction) {
|
|
33
|
-
throw new Error("Function not found");
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, 'surendhar' ]]));
|
|
37
|
-
|
|
38
|
-
await expect( () => getTimeFunction.execute(fep)).rejects.toThrow();
|
|
39
|
-
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
test('fetching for valid date' , async () => {
|
|
43
|
-
|
|
44
|
-
const getTimeFunction = await dfr.find(Namespaces.DATE, 'GetTime');
|
|
45
|
-
|
|
46
|
-
if (!getTimeFunction) {
|
|
47
|
-
throw new Error("Function not found");
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2024-09-01T23:52:53.633-05:30' ]]));
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
expect( (await getTimeFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(1725254573633);
|
|
54
|
-
|
|
55
|
-
})
|
|
56
|
-
|
|
57
|
-
test('fetching for valid date' , async () => {
|
|
58
|
-
|
|
59
|
-
const getTimeFunction = await dfr.find(Namespaces.DATE, 'GetTime');
|
|
60
|
-
|
|
61
|
-
if (!getTimeFunction) {
|
|
62
|
-
throw new Error("Function not found");
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2019-09-10T00:52:34.633-11:33' ]]));
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
expect( (await getTimeFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(1568118334633);
|
|
69
|
-
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
test('fetching for valid date' , async () => {
|
|
74
|
-
|
|
75
|
-
const getTimeFunction = await dfr.find(Namespaces.DATE, 'GetTime');
|
|
76
|
-
|
|
77
|
-
if (!getTimeFunction) {
|
|
78
|
-
throw new Error("Function not found");
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2023-12-31T07:59:17.000-12:00' ]]));
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
expect( (await getTimeFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBe(1704052757000);
|
|
85
|
-
|
|
86
|
-
})
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository, Namespaces } from "../../../../../src";
|
|
2
|
-
import { AbstractDateFunction } from "../../../../../src/engine/function/system/date/AbstractDateFunction";
|
|
3
|
-
import { DateFunctionRepository } from "../../../../../src/engine/function/system/date/DateFunctionRepository";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const dfr : DateFunctionRepository = new DateFunctionRepository();
|
|
7
|
-
|
|
8
|
-
const fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
9
|
-
new KIRunFunctionRepository(),
|
|
10
|
-
new KIRunSchemaRepository());
|
|
11
|
-
|
|
12
|
-
test('check for invalid dates', async () => {
|
|
13
|
-
|
|
14
|
-
const isLeapFunction = await dfr.find(Namespaces.DATE, 'IsLeapYear');
|
|
15
|
-
|
|
16
|
-
if (!isLeapFunction) {
|
|
17
|
-
throw new Error("Function not found");
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2029-15-05T06:04:18.073Z' ]]));
|
|
21
|
-
|
|
22
|
-
await expect( () => isLeapFunction.execute(fep)).rejects.toThrow();
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
test('check for invalid dates', async () => {
|
|
28
|
-
|
|
29
|
-
const isLeapFunction = await dfr.find(Namespaces.DATE, 'IsLeapYear');
|
|
30
|
-
|
|
31
|
-
if (!isLeapFunction) {
|
|
32
|
-
throw new Error("Function not found");
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, false ]]));
|
|
36
|
-
|
|
37
|
-
await expect( () => isLeapFunction.execute(fep)).rejects.toThrow();
|
|
38
|
-
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
test('fetching for valid date' , async () => {
|
|
42
|
-
|
|
43
|
-
const isLeapFunction = await dfr.find(Namespaces.DATE, 'IsLeapYear');
|
|
44
|
-
|
|
45
|
-
if (!isLeapFunction) {
|
|
46
|
-
throw new Error("Function not found");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2024-09-13T23:52:34.633-05:30' ]]));
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
expect( (await isLeapFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBeTruthy();
|
|
53
|
-
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
test('fetching for valid date' , async () => {
|
|
57
|
-
|
|
58
|
-
const isLeapFunction = await dfr.find(Namespaces.DATE, 'IsLeapYear');
|
|
59
|
-
|
|
60
|
-
if (!isLeapFunction) {
|
|
61
|
-
throw new Error("Function not found");
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2023-09-13T23:52:34.633Z' ]]));
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
expect( (await isLeapFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBeFalsy();
|
|
68
|
-
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
test('fetching for valid date' , async () => {
|
|
73
|
-
|
|
74
|
-
const isLeapFunction = await dfr.find(Namespaces.DATE, 'IsLeapYear');
|
|
75
|
-
|
|
76
|
-
if (!isLeapFunction) {
|
|
77
|
-
throw new Error("Function not found");
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
fep.setArguments(new Map([[AbstractDateFunction.PARAMETER_DATE_NAME, '2020-02-29T07:35:17.000-12:00' ]]));
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
expect( (await isLeapFunction.execute(fep)).allResults()[0].getResult().get(AbstractDateFunction.EVENT_RESULT_NAME)).toBeTruthy();
|
|
84
|
-
|
|
85
|
-
})
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository } from "../../../../../src";
|
|
2
|
-
import { MaximumTimestamp } from "../../../../../src/engine/function/system/date/MaximumTimestamp";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const mt : MaximumTimestamp = new MaximumTimestamp();
|
|
6
|
-
|
|
7
|
-
let fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
8
|
-
new KIRunFunctionRepository(),
|
|
9
|
-
new KIRunSchemaRepository(),
|
|
10
|
-
);
|
|
11
|
-
|
|
12
|
-
describe('MaximumTimestamp valid', () => {
|
|
13
|
-
|
|
14
|
-
test('test1', async () => {
|
|
15
|
-
|
|
16
|
-
const arr = ["2023-10-25T13:30:04.970+07:00","2023-10-25T12:30:04.970-1:00","2023-10-25T19:30:04.970Z"];
|
|
17
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
18
|
-
|
|
19
|
-
await expect(mt.execute(fep)).rejects.toThrow();
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
test('test2', async () => {
|
|
23
|
-
|
|
24
|
-
const arr = ["2023-10-25T13:30:04.970Z", "2023-10-25T12:30:04.970Z","2023-10-25T19:30:04.970Z"];
|
|
25
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
26
|
-
|
|
27
|
-
expect((await mt.execute(fep)).allResults()[0].getResult().get("result")).toBe("2023-10-25T19:30:04.970Z");
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
test('test3', async () => {
|
|
31
|
-
|
|
32
|
-
const arr = ["2023-10-25T12:30:04.970Z"];
|
|
33
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
34
|
-
|
|
35
|
-
expect((await mt.execute(fep)).allResults()[0].getResult().get("result")).toBe("2023-10-25T12:30:04.970Z");
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
test('test4', async () => {
|
|
39
|
-
|
|
40
|
-
const arr = ["2023-10-25T13:30:04.970+07:00","2023-10-25T12:30:04.970-11:00","2023-10-25T19:30:04.970Z","2023-10-25T13:30:04.970+09:00","2023-10-25T19:30:04.970+01:30"];
|
|
41
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
42
|
-
|
|
43
|
-
expect((await mt.execute(fep)).allResults()[0].getResult().get("result")).toBe("2023-10-25T12:30:04.970-11:00");
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
test('test5', async () => {
|
|
47
|
-
|
|
48
|
-
const arr = ["2023-10-25T13:30:04.100+01:00","2023-10-25T13:30:04.101+02:00","2023-10-25T13:30:04.102+03:00","2023-10-25T13:30:04.103+04:00","2023-10-25T13:30:04.104+05:00"];
|
|
49
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
50
|
-
|
|
51
|
-
expect((await mt.execute(fep)).allResults()[0].getResult().get("result")).toBe("2023-10-25T13:30:04.100+01:00");
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
});
|
|
55
|
-
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { FunctionExecutionParameters, KIRunFunctionRepository, KIRunSchemaRepository } from "../../../../../src";
|
|
2
|
-
import { MinimumTimestamp } from "../../../../../src/engine/function/system/date/MinimumTimestamp";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const mt: MinimumTimestamp = new MinimumTimestamp();
|
|
6
|
-
|
|
7
|
-
let fep : FunctionExecutionParameters = new FunctionExecutionParameters(
|
|
8
|
-
new KIRunFunctionRepository(),
|
|
9
|
-
new KIRunSchemaRepository(),
|
|
10
|
-
);
|
|
11
|
-
|
|
12
|
-
describe('MinimumTimestamp valid', () => {
|
|
13
|
-
|
|
14
|
-
test('test1', async () => {
|
|
15
|
-
|
|
16
|
-
const arr = ["2023-10-25T13:30:04.970Z","2023-10-25T12:30:04.970Z","2023-10-25T19:30:04.970Z"];
|
|
17
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
18
|
-
|
|
19
|
-
expect((await mt.execute(fep)).allResults()[0].getResult().get("result")).toBe("2023-10-25T12:30:04.970Z");
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
test('test2', async () => {
|
|
23
|
-
|
|
24
|
-
const arr = ["2023-10-25T12:30:04.970Z"];
|
|
25
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
26
|
-
|
|
27
|
-
expect((await mt.execute(fep)).allResults()[0].getResult().get("result")).toBe("2023-10-25T12:30:04.970Z");
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
test('test3', async () => {
|
|
31
|
-
|
|
32
|
-
const arr = ["2023-10-25T13:30:04.970+07:00","2023-10-25T12:30:04.970-1:00","2023-10-25T19:30:04.970Z"];
|
|
33
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
34
|
-
|
|
35
|
-
await expect(mt.execute(fep)).rejects.toThrow();
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
test('test4', async () => {
|
|
39
|
-
|
|
40
|
-
const arr = ["2023-10-25T13:30:04.970+07:00","2023-10-25T12:30:04.970-11:00","2023-10-25T19:30:04.970Z","2023-10-25T13:30:04.970+09:00","2023-10-25T19:30:04.970+01:30"];
|
|
41
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
42
|
-
|
|
43
|
-
expect((await mt.execute(fep)).allResults()[0].getResult().get("result")).toBe("2023-10-25T13:30:04.970+09:00");
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
test('test5', async () => {
|
|
47
|
-
|
|
48
|
-
const arr = ["2023-10-25T02:30:04.970Z","2023-10-25T03:30:04.970Z","2023-10-25T04:30:04.970Z","2023-10-25T05:30:04.970Z","2023-10-25T06:30:04.970Z","2023-10-25T07:30:04.970Z","2023-10-25T08:30:04.970Z","2023-10-25T09:30:04.970Z","2023-10-25T10:30:04.970Z","2023-10-25T11:30:04.970Z","2023-10-25T12:30:04.970Z","2023-10-25T13:30:04.970Z","2023-10-25T14:30:04.970Z","2023-10-25T15:30:04.970Z","2023-10-25T16:30:04.970Z","2023-10-25T17:30:04.970Z","2023-10-25T18:30:04.970Z","2023-10-25T19:30:04.970Z","2023-10-25T01:30:04.970Z"];
|
|
49
|
-
fep.setArguments(new Map([['isoDates', arr]]));
|
|
50
|
-
|
|
51
|
-
expect((await mt.execute(fep)).allResults()[0].getResult().get("result")).toBe("2023-10-25T01:30:04.970Z");
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
});
|