@sankhyalabs/core 3.1.2 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.docs/classes/Change.md +11 -11
- package/.docs/classes/DataUnit.md +385 -104
- package/.docs/classes/DataUnitStorage.md +116 -0
- package/.docs/classes/DateUtils.md +87 -10
- package/.docs/classes/MaskFormatter-1.md +25 -14
- package/.docs/classes/NumberUtils.md +45 -0
- package/.docs/enums/Action.md +11 -0
- package/.docs/enums/ChangeOperation.md +4 -4
- package/.docs/enums/DependencyType.md +3 -3
- package/.docs/enums/SortMode.md +2 -2
- package/.docs/enums/UserInterface.md +17 -17
- package/.docs/interfaces/ChildDescriptor.md +41 -0
- package/.docs/interfaces/ChildLink.md +30 -0
- package/.docs/interfaces/DUActionInterceptor.md +1 -1
- package/.docs/interfaces/FieldDescriptor.md +11 -11
- package/.docs/interfaces/Filter.md +3 -3
- package/.docs/interfaces/PageRequest.md +3 -3
- package/.docs/interfaces/QuickFilter.md +2 -2
- package/.docs/interfaces/Record.md +24 -2
- package/.docs/interfaces/SavedRecord.md +33 -3
- package/.docs/interfaces/Sort.md +3 -3
- package/.docs/interfaces/SortingProvider.md +1 -1
- package/.docs/interfaces/UnitMetadata.md +1 -1
- package/.docs/interfaces/WaitingChange.md +3 -3
- package/.docs/modules/MaskFormatter.md +4 -4
- package/.docs/modules.md +3 -0
- package/dist/dataunit/DataUnit.d.ts +83 -4
- package/dist/dataunit/DataUnit.js +216 -20
- package/dist/dataunit/DataUnit.js.map +1 -1
- package/dist/dataunit/DataUnitStorage.d.ts +24 -0
- package/dist/dataunit/DataUnitStorage.js +39 -0
- package/dist/dataunit/DataUnitStorage.js.map +1 -0
- package/dist/dataunit/formatting/PrettyFormatter.d.ts +2 -0
- package/dist/dataunit/formatting/PrettyFormatter.js +88 -0
- package/dist/dataunit/formatting/PrettyFormatter.js.map +1 -0
- package/dist/dataunit/metadata/UnitMetadata.d.ts +1 -0
- package/dist/dataunit/metadata/UnitMetadata.js.map +1 -1
- package/dist/dataunit/state/action/DataUnitAction.d.ts +2 -1
- package/dist/dataunit/state/action/DataUnitAction.js +1 -0
- package/dist/dataunit/state/action/DataUnitAction.js.map +1 -1
- package/dist/dataunit/state/slice/ChangesSlice.js +2 -1
- package/dist/dataunit/state/slice/ChangesSlice.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/DateUtils.d.ts +23 -0
- package/dist/utils/DateUtils.js +30 -0
- package/dist/utils/DateUtils.js.map +1 -1
- package/dist/utils/MaskFormatter.d.ts +1 -0
- package/dist/utils/MaskFormatter.js +6 -0
- package/dist/utils/MaskFormatter.js.map +1 -1
- package/dist/utils/NumberUtils.d.ts +25 -0
- package/dist/utils/NumberUtils.js +28 -0
- package/dist/utils/NumberUtils.js.map +1 -1
- package/package.json +4 -2
- package/src/dataunit/DataUnit.ts +244 -28
- package/src/dataunit/DataUnitStorage.ts +43 -0
- package/src/dataunit/formatting/PrettyFormatter.ts +106 -0
- package/src/dataunit/metadata/UnitMetadata.ts +1 -0
- package/src/dataunit/state/action/DataUnitAction.ts +3 -1
- package/src/dataunit/state/slice/ChangesSlice.ts +2 -1
- package/src/index.ts +6 -1
- package/src/utils/DateUtils.ts +34 -1
- package/src/utils/MaskFormatter.ts +8 -0
- package/src/utils/NumberUtils.ts +29 -0
- package/test/util/DataUnitStorage.spec.ts +63 -0
- package/test/util/ElementIDUtils.spec.ts +127 -85
- package/test/util/NumberUtils.spec.ts +22 -0
package/src/utils/DateUtils.ts
CHANGED
|
@@ -18,6 +18,39 @@ export default class DateUtils{
|
|
|
18
18
|
const newDate: Date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);
|
|
19
19
|
return adjustDayLightSavingTime ? DateUtils.adjustDLST(newDate) : newDate;
|
|
20
20
|
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Converte data para uma string no formato pt-BR.
|
|
24
|
+
*
|
|
25
|
+
* @param date - Data a ser convertida.
|
|
26
|
+
* @returns - Uma string com a data no formato pt-BR DD/MM/YYYY.
|
|
27
|
+
*/
|
|
28
|
+
public static formatDate(date: Date): string{
|
|
29
|
+
return date ? new Intl.DateTimeFormat("pt-BR").format(date) : "";
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Converte as horas de uma data para uma string pt-BR.
|
|
34
|
+
*
|
|
35
|
+
* @param date - Data a ser convertida.
|
|
36
|
+
* @param showSeconds - define se devemos considerar os segundos.
|
|
37
|
+
* @returns - Uma string com as horas no formato HH:MM ou HH:MM:SS.
|
|
38
|
+
*/
|
|
39
|
+
public static formatTime(date: Date, showSeconds: boolean = false): string{
|
|
40
|
+
const timeOptions:Intl.DateTimeFormatOptions = {hour: "2-digit", minute: "2-digit", second: showSeconds ? "2-digit" : undefined};
|
|
41
|
+
return new Intl.DateTimeFormat("pt-BR", timeOptions).format(date);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Converte a data e hora para uma string no formato pt-BR.
|
|
46
|
+
*
|
|
47
|
+
* @param date - Data a ser convertida.
|
|
48
|
+
* @param showSeconds - define se devemos considerar os segundos.
|
|
49
|
+
* @returns - Uma string com as horas no formato DD/MM/YYYY HH:MM ou DD/MM/YYYY HH:MM:SS.
|
|
50
|
+
*/
|
|
51
|
+
public static formatDateTime(date: Date, showSeconds: boolean = false): string{
|
|
52
|
+
return `${DateUtils.formatDate(date)} ${DateUtils.formatTime(date, showSeconds)}`;
|
|
53
|
+
}
|
|
21
54
|
|
|
22
55
|
/**
|
|
23
56
|
* Converte String para Date.
|
|
@@ -117,7 +150,7 @@ export default class DateUtils{
|
|
|
117
150
|
* @example
|
|
118
151
|
* Informo: 2 | Obtenho: "02"
|
|
119
152
|
*/
|
|
120
|
-
private static pad(n:
|
|
153
|
+
private static pad(n: number): string | number {
|
|
121
154
|
return n < 10 ? "0" + n : n;
|
|
122
155
|
}
|
|
123
156
|
|
|
@@ -54,6 +54,14 @@ export class MaskFormatter {
|
|
|
54
54
|
private static CHARACTER_KEY: string = "?";
|
|
55
55
|
private static ANYTHING_KEY: string = "*";
|
|
56
56
|
|
|
57
|
+
public static DEFAULT_MASKS: any = {
|
|
58
|
+
"cnpj": "##.###.###/####-##",
|
|
59
|
+
"cpf": "###.###.###-##",
|
|
60
|
+
"phone": "(##) ####-####",
|
|
61
|
+
"cep": "##.###-###"
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
|
|
57
65
|
private _mask: string = '';
|
|
58
66
|
private _maskChars: Array<MaskFormatter.MaskCharacter> = new Array<MaskFormatter.MaskCharacter>();
|
|
59
67
|
|
package/src/utils/NumberUtils.ts
CHANGED
|
@@ -209,4 +209,33 @@ export class NumberUtils {
|
|
|
209
209
|
static getValueOrZero = (value: any): number => {
|
|
210
210
|
return NumberUtils.getValueOrDefault(value, 0);
|
|
211
211
|
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Realiza o arredondamento de casas decimais de um numero.
|
|
215
|
+
*
|
|
216
|
+
* @param value - Numeral a ser arredondado.
|
|
217
|
+
* @param decimals - Quantidade de casas decimais ussada no arredondamento.
|
|
218
|
+
*
|
|
219
|
+
* @returns - O próprio numeral arredondado com a quantidade de casas decimais do argumento decimals.
|
|
220
|
+
*
|
|
221
|
+
* @example
|
|
222
|
+
* @ (100.12) | 100.12
|
|
223
|
+
* @ (100,12) | NaN
|
|
224
|
+
|
|
225
|
+
* @ ("100.12", 1) | 100.1
|
|
226
|
+
* @ ("100.12", 2) | 100.12
|
|
227
|
+
* @ ("100.12", 3) | 100.12
|
|
228
|
+
|
|
229
|
+
* @ ("100.15", 1) | 100.2
|
|
230
|
+
* @ ("100.15", 2) | 100.15
|
|
231
|
+
* @ ("100.15", 3) | 100.15
|
|
232
|
+
|
|
233
|
+
* @ ("100.16", 1) | 100.2
|
|
234
|
+
* @ ("100.16", 2) | 100.16
|
|
235
|
+
* @ ("100.16", 3) | 100.16
|
|
236
|
+
*/
|
|
237
|
+
static round(value: number, decimals: number = 2):number {
|
|
238
|
+
const decimalNumber:number = (new Number(value +'e' + decimals) as number);
|
|
239
|
+
return Number(Math.round(decimalNumber)+ 'e-' + decimals);
|
|
240
|
+
}
|
|
212
241
|
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import DataUnit from "../../src/dataunit/DataUnit.js";
|
|
2
|
+
import { DataUnitStorage } from "../../src/dataunit/DataUnitStorage.js";
|
|
3
|
+
|
|
4
|
+
describe("DataUnitStorage", () => {
|
|
5
|
+
let dataUnit1: DataUnit;
|
|
6
|
+
let dataUnit2: DataUnit;
|
|
7
|
+
|
|
8
|
+
beforeEach(() => {
|
|
9
|
+
dataUnit1 = new DataUnit("dataUnit1");
|
|
10
|
+
dataUnit2 = new DataUnit("dataUnit2");
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
afterEach(() => {
|
|
14
|
+
DataUnitStorage.remove(dataUnit1);
|
|
15
|
+
DataUnitStorage.remove(dataUnit2);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
describe("put", () => {
|
|
19
|
+
test("should store a DataUnit instance in the DataUnitStorage", () => {
|
|
20
|
+
DataUnitStorage.put(dataUnit1);
|
|
21
|
+
expect(DataUnitStorage.get(dataUnit1.name)).toBe(dataUnit1);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
describe("get", () => {
|
|
26
|
+
test("should return the stored DataUnit instance from the DataUnitStorage", () => {
|
|
27
|
+
DataUnitStorage.put(dataUnit1);
|
|
28
|
+
const retrievedDataUnit = DataUnitStorage.get(dataUnit1.name);
|
|
29
|
+
expect(retrievedDataUnit).toBe(dataUnit1);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test("should return undefined if the DataUnit instance is not found in the DataUnitStorage", () => {
|
|
33
|
+
const retrievedDataUnit = DataUnitStorage.get("nonExistentDataUnit");
|
|
34
|
+
expect(retrievedDataUnit).toBeUndefined();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
describe("remove", () => {
|
|
39
|
+
test("should remove the specified DataUnit instance from the DataUnitStorage", () => {
|
|
40
|
+
DataUnitStorage.put(dataUnit1);
|
|
41
|
+
DataUnitStorage.remove(dataUnit1);
|
|
42
|
+
const retrievedDataUnit = DataUnitStorage.get(dataUnit1.name);
|
|
43
|
+
expect(retrievedDataUnit).toBeUndefined();
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
test("should remove the DataUnit instance with the specified name from the DataUnitStorage", () => {
|
|
47
|
+
DataUnitStorage.put(dataUnit1);
|
|
48
|
+
DataUnitStorage.remove(dataUnit1.name);
|
|
49
|
+
const retrievedDataUnit = DataUnitStorage.get(dataUnit1.name);
|
|
50
|
+
expect(retrievedDataUnit).toBeUndefined();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
test("should not remove any DataUnit instance if the specified DataUnit instance or name is not found in the DataUnitStorage", () => {
|
|
54
|
+
DataUnitStorage.put(dataUnit1);
|
|
55
|
+
DataUnitStorage.remove(dataUnit2);
|
|
56
|
+
DataUnitStorage.remove("nonExistentDataUnit");
|
|
57
|
+
const retrievedDataUnit1 = DataUnitStorage.get(dataUnit1.name);
|
|
58
|
+
const retrievedDataUnit2 = DataUnitStorage.get(dataUnit2.name);
|
|
59
|
+
expect(retrievedDataUnit1).toBe(dataUnit1);
|
|
60
|
+
expect(retrievedDataUnit2).toBeUndefined();
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
@@ -3,6 +3,19 @@ import { describe, expect, beforeEach, test } from '@jest/globals';
|
|
|
3
3
|
import DataUnit from '../../src/dataunit/DataUnit'
|
|
4
4
|
import { DataType } from '../../src/dataunit/metadata/DataType';
|
|
5
5
|
import { UserInterface } from '../../src/dataunit/metadata/UnitMetadata';
|
|
6
|
+
import { StringUtils } from '../../src/utils/StringUtils';
|
|
7
|
+
|
|
8
|
+
type IDInfo = {
|
|
9
|
+
id?: string,
|
|
10
|
+
dataUnit?: DataUnit
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
type AssertElementIdNameProps = {
|
|
14
|
+
result: string,
|
|
15
|
+
iDInfo?: IDInfo,
|
|
16
|
+
suffix?: string,
|
|
17
|
+
dataElementIdAttributeName?: string
|
|
18
|
+
}
|
|
6
19
|
|
|
7
20
|
describe('addIDInfo', () => {
|
|
8
21
|
|
|
@@ -27,39 +40,55 @@ describe('addIDInfo', () => {
|
|
|
27
40
|
]
|
|
28
41
|
};
|
|
29
42
|
});
|
|
43
|
+
|
|
44
|
+
const assertElementIdName = ({ result, iDInfo, suffix, dataElementIdAttributeName = "" }: AssertElementIdNameProps) => {
|
|
45
|
+
const formattedResult = StringUtils.replaceAccentuatedChars(result || "", true).toLowerCase();
|
|
46
|
+
const formattedDataElementIdAttributeName = StringUtils.replaceAccentuatedChars(dataElementIdAttributeName || "", true).toLowerCase();
|
|
47
|
+
const formattedSuffix = StringUtils.replaceAccentuatedChars(suffix || "", true).toLowerCase();
|
|
48
|
+
const formattedDataUnitId = StringUtils.replaceAccentuatedChars(iDInfo?.dataUnit?.dataUnitId || "", true).toLowerCase();
|
|
49
|
+
|
|
50
|
+
if (formattedDataUnitId) expect(formattedResult).toContain(formattedDataUnitId);
|
|
51
|
+
if (formattedSuffix) expect(formattedResult).toContain(formattedSuffix);
|
|
52
|
+
expect(
|
|
53
|
+
StringUtils.replaceAccentuatedChars(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME) || '', true).toLowerCase()
|
|
54
|
+
).toBe(formattedDataElementIdAttributeName);
|
|
55
|
+
}
|
|
30
56
|
|
|
31
57
|
test('1 - should add data-element-id with valid id "movFinanceira_snkApplication"', () => {
|
|
32
58
|
element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, "movFinanceira");
|
|
33
59
|
|
|
34
60
|
const result = ElementIDUtils.addIDInfo(element);
|
|
35
|
-
|
|
36
|
-
|
|
61
|
+
const dataElementIdAttributeName = "movFinanceira_snkApplication";
|
|
62
|
+
|
|
63
|
+
assertElementIdName({ dataElementIdAttributeName, result });
|
|
37
64
|
});
|
|
38
65
|
|
|
39
66
|
test('2 - should add data-element-id with valid id "brComSankhyaFinCadMovimentacaofinanceira_snkApplication"', () => {
|
|
40
|
-
const iDInfo
|
|
67
|
+
const iDInfo = { id: "br.com.sankhya.fin.cad.movimentacaoFinanceira" };
|
|
41
68
|
|
|
42
69
|
const result = ElementIDUtils.addIDInfo(element, undefined, iDInfo);
|
|
43
|
-
|
|
44
|
-
|
|
70
|
+
const dataElementIdAttributeName = "brComSankhyaFinCadMovimentacaofinanceira_snkApplication";
|
|
71
|
+
|
|
72
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result });
|
|
45
73
|
});
|
|
46
74
|
|
|
47
75
|
test('3 - should add data-element-id with valid id "movFinanceira_br.com.sankhya.fin.cad.movimentacaoFinanceira"', () => {
|
|
48
76
|
element.setAttribute("data-field-name", "movFinanceira");
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
77
|
+
const suffix = "br.com.sankhya.fin.cad.movimentacaoFinanceira";
|
|
78
|
+
const result = ElementIDUtils.addIDInfo(element, suffix);
|
|
79
|
+
const dataElementIdAttributeName = "movFinanceira_brComSankhyaFinCadMovimentacaofinanceira";
|
|
80
|
+
|
|
81
|
+
assertElementIdName({ dataElementIdAttributeName, result, suffix });
|
|
54
82
|
});
|
|
55
83
|
|
|
56
84
|
test('4 - should add data-element-id with valid id "meuID2_snkApplication"', () => {
|
|
57
85
|
element.setAttribute("id", "movFinanceira");
|
|
86
|
+
|
|
58
87
|
const iDInfo = {id: "meuID2"};
|
|
59
|
-
|
|
60
88
|
const result = ElementIDUtils.addIDInfo(element, undefined, iDInfo);
|
|
61
|
-
|
|
62
|
-
|
|
89
|
+
const dataElementIdAttributeName = "meuID2_snkApplication";
|
|
90
|
+
|
|
91
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result });
|
|
63
92
|
});
|
|
64
93
|
|
|
65
94
|
test('5 - should add data-element-id with valid id "movFinanceira_snkApplication"', () => {
|
|
@@ -67,8 +96,9 @@ describe('addIDInfo', () => {
|
|
|
67
96
|
element.setAttribute("name", "componenteNameTest");
|
|
68
97
|
|
|
69
98
|
const result = ElementIDUtils.addIDInfo(element);
|
|
70
|
-
|
|
71
|
-
|
|
99
|
+
const dataElementIdAttributeName = "movFinanceira_snkApplication";
|
|
100
|
+
|
|
101
|
+
assertElementIdName({ dataElementIdAttributeName, result });
|
|
72
102
|
});
|
|
73
103
|
|
|
74
104
|
test('6 - should add data-element-id with valid id "movFinanceira_snkApplication"', () => {
|
|
@@ -76,16 +106,18 @@ describe('addIDInfo', () => {
|
|
|
76
106
|
element.setAttribute("label", "componenteLabelTest");
|
|
77
107
|
|
|
78
108
|
const result = ElementIDUtils.addIDInfo(element);
|
|
79
|
-
|
|
80
|
-
|
|
109
|
+
const dataElementIdAttributeName = "movFinanceira_snkApplication";
|
|
110
|
+
|
|
111
|
+
assertElementIdName({ dataElementIdAttributeName, result });
|
|
81
112
|
});
|
|
82
113
|
|
|
83
114
|
test('7 - should add data-element-id with valid id "componenteNameTest_snkApplication"', () => {
|
|
84
115
|
element.setAttribute("name", "componenteNameTest");
|
|
85
116
|
|
|
86
117
|
const result = ElementIDUtils.addIDInfo(element);
|
|
87
|
-
|
|
88
|
-
|
|
118
|
+
const dataElementIdAttributeName = "componenteNameTest_snkApplication";
|
|
119
|
+
|
|
120
|
+
assertElementIdName({ dataElementIdAttributeName, result });
|
|
89
121
|
});
|
|
90
122
|
|
|
91
123
|
|
|
@@ -93,138 +125,148 @@ describe('addIDInfo', () => {
|
|
|
93
125
|
element.setAttribute("label", "componentLabel");
|
|
94
126
|
|
|
95
127
|
const result = ElementIDUtils.addIDInfo(element);
|
|
96
|
-
|
|
97
|
-
|
|
128
|
+
const dataElementIdAttributeName = "componentLabel_snkApplication";
|
|
129
|
+
|
|
130
|
+
assertElementIdName({ dataElementIdAttributeName, result });
|
|
98
131
|
});
|
|
99
132
|
|
|
100
133
|
test('9 - should add data-element-id with valid id "dataunitFinanceiro_br.com.sankhya.fin.cad.movimentacaoFinanceira"', () => {
|
|
101
|
-
|
|
102
134
|
const iDInfo = {dataUnit: dataUnit};
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
const result = ElementIDUtils.addIDInfo(element,
|
|
106
|
-
|
|
107
|
-
|
|
135
|
+
const suffix = "br.com.sankhya.fin.cad.movimentacaoFinanceira";
|
|
136
|
+
const dataElementIdAttributeName = `dataunitFinanceiro?uuid=${iDInfo.dataUnit.dataUnitId}_br.com.sankhya.fin.cad.movimentacaoFinanceira`;
|
|
137
|
+
const result = ElementIDUtils.addIDInfo(element, suffix, iDInfo);
|
|
138
|
+
|
|
139
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result, suffix });
|
|
108
140
|
});
|
|
109
141
|
|
|
110
142
|
test('10 - should add data-element-id with valid id "dataunitFinanceiro_meuIDTeste_br.com.sankhya.fin.cad.movimentacaoFinanceira"', () => {
|
|
111
143
|
const iDInfo = {id: "meuIDTeste", dataUnit: dataUnit};
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
144
|
+
const suffix = "br.com.sankhya.fin.cad.movimentacaoFinanceira";
|
|
145
|
+
const result = ElementIDUtils.addIDInfo(element, suffix, iDInfo);
|
|
146
|
+
const dataElementIdAttributeName = `dataunitFinanceiro?uuid=${iDInfo.dataUnit.dataUnitId}_meuIDTeste_br.com.sankhya.fin.cad.movimentacaoFinanceira`;
|
|
147
|
+
|
|
148
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result, suffix });
|
|
117
149
|
});
|
|
118
150
|
|
|
119
151
|
test('11 - should add data-element-id with valid id "dataunitFinanceiro_meuIDTeste_movimentacaoFinanceira"', () => {
|
|
120
152
|
const iDInfo = {id: "meuIDTeste", dataUnit: dataUnit};
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
const result = ElementIDUtils.addIDInfo(element,
|
|
124
|
-
|
|
125
|
-
|
|
153
|
+
const suffix = "movimentacaoFinanceira";
|
|
154
|
+
const dataElementIdAttributeName = `dataunitFinanceiro?uuid=${iDInfo.dataUnit.dataUnitId}_meuIDTeste_movimentacaoFinanceira`;
|
|
155
|
+
const result = ElementIDUtils.addIDInfo(element, suffix, iDInfo);
|
|
156
|
+
|
|
157
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result, suffix });
|
|
126
158
|
});
|
|
127
159
|
|
|
128
160
|
test('12 - should add data-element-id with valid id "dataunitFinanceiro_movFinanceira_movimentacaoFinanceira"', () => {
|
|
129
|
-
const iDInfo = {id: "meuIDTeste", dataUnit: dataUnit};
|
|
130
|
-
const sufix = "movimentacaoFinanceira";
|
|
131
161
|
element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, "movFinanceira");
|
|
162
|
+
|
|
163
|
+
const iDInfo = {id: "meuIDTeste", dataUnit: dataUnit};
|
|
164
|
+
const suffix = "movimentacaoFinanceira";
|
|
165
|
+
const result = ElementIDUtils.addIDInfo(element, suffix, iDInfo);
|
|
166
|
+
const dataElementIdAttributeName = `dataunitFinanceiro?uuid=${iDInfo.dataUnit.dataUnitId}_movFinanceira_movimentacaoFinanceira`;
|
|
132
167
|
|
|
133
|
-
|
|
134
|
-
expect(result).toBe("dataunitFinanceiro_movFinanceira_movimentacaoFinanceira");
|
|
135
|
-
expect(element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME)).toBe("dataunitFinanceiro_movFinanceira_movimentacaoFinanceira");
|
|
168
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result, suffix });
|
|
136
169
|
});
|
|
137
170
|
|
|
138
171
|
test('13 - should add data-element-id with valid id "dataunitFinanceiro_meuIDTeste_movimentacaoFinanceira"', () => {
|
|
139
|
-
const iDInfo = {id: "meuIDTeste", dataUnit: dataUnit};
|
|
140
|
-
const sufix = "movimentacaoFinanceira";
|
|
141
172
|
element.setAttribute("id", "movFinanceira");
|
|
142
|
-
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
173
|
+
|
|
174
|
+
const iDInfo = {id: "meuIDTeste", dataUnit: dataUnit};
|
|
175
|
+
const suffix = "movimentacaoFinanceira";
|
|
176
|
+
const result = ElementIDUtils.addIDInfo(element, suffix, iDInfo);
|
|
177
|
+
const dataElementIdAttributeName = `dataunitFinanceiro?uuid=${iDInfo.dataUnit.dataUnitId}_meuIDTeste_movimentacaoFinanceira`;
|
|
178
|
+
|
|
179
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result, suffix });
|
|
146
180
|
});
|
|
147
181
|
|
|
148
182
|
test('14 - should add data-element-id with valid id "dataunitFinanceiro_meuIdTeste_movimentacaoFinanceira"', () => {
|
|
149
|
-
const iDInfo = {id: "meu-id-teste", dataUnit: dataUnit};
|
|
150
|
-
const sufix = "movimentacao Financeira";
|
|
151
183
|
element.setAttribute("id", "mov-financeira-snk");
|
|
152
|
-
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
184
|
+
|
|
185
|
+
const iDInfo = {id: "meu-id-teste", dataUnit: dataUnit};
|
|
186
|
+
const suffix = "movimentacao Financeira";
|
|
187
|
+
const result = ElementIDUtils.addIDInfo(element, suffix, iDInfo);
|
|
188
|
+
const dataElementIdAttributeName = `dataunitFinanceiro?uuid=${iDInfo.dataUnit.dataUnitId}_meuIdTeste_movimentacaoFinanceira`;
|
|
189
|
+
|
|
190
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result, suffix });
|
|
156
191
|
});
|
|
157
192
|
|
|
158
193
|
test('15 - should add data-element-id with valid id "dataunitFinanceiro_meuIdTeste_snkApplication"', () => {
|
|
159
|
-
const iDInfo = {id: "meu-id-teste", dataUnit: dataUnit};
|
|
160
194
|
element.setAttribute("id", "mov-financeira-snk");
|
|
161
|
-
|
|
195
|
+
|
|
196
|
+
const iDInfo = {id: "meu-id-teste", dataUnit: dataUnit};
|
|
162
197
|
const result = ElementIDUtils.addIDInfo(element, undefined, iDInfo);
|
|
163
|
-
|
|
164
|
-
|
|
198
|
+
const dataElementIdAttributeName = `dataunitFinanceiro?uuid=${iDInfo.dataUnit.dataUnitId}_meuIdTeste_snkApplication`;
|
|
199
|
+
|
|
200
|
+
assertElementIdName({ dataElementIdAttributeName, iDInfo, result });
|
|
165
201
|
});
|
|
166
202
|
|
|
167
203
|
test('16 - should add data-element-id with valid id "dataunitFinanceiro_meuIdTeste_snkApplication"', () => {
|
|
168
204
|
const iDInfo = {id: "meu-id-teste", dataUnit: dataUnit};
|
|
169
|
-
|
|
170
205
|
const result = ElementIDUtils.addIDInfo(element, undefined, iDInfo);
|
|
171
|
-
|
|
172
|
-
|
|
206
|
+
const dataElementIdAttributeName = `dataunitFinanceiro?uuid=${iDInfo.dataUnit.dataUnitId}_meuIdTeste_snkApplication`;
|
|
207
|
+
|
|
208
|
+
assertElementIdName({ iDInfo, result, dataElementIdAttributeName });
|
|
173
209
|
});
|
|
174
210
|
|
|
175
211
|
test('17 - should add data-element-id with valid id "movFinanceira_movimentacaoFinanceira"', () => {
|
|
176
|
-
const
|
|
212
|
+
const suffix = "movimentacao-financeira";
|
|
177
213
|
element.setAttribute("id", "mov-financeira");
|
|
178
214
|
|
|
179
|
-
const result = ElementIDUtils.addIDInfo(element,
|
|
180
|
-
|
|
181
|
-
|
|
215
|
+
const result = ElementIDUtils.addIDInfo(element, suffix);
|
|
216
|
+
const dataElementIdAttributeName = `movFinanceira_movimentacaoFinanceira`;
|
|
217
|
+
|
|
218
|
+
assertElementIdName({ dataElementIdAttributeName, result, suffix });
|
|
182
219
|
});
|
|
183
220
|
|
|
184
221
|
test('18 - should add data-element-id with valid id "movFinanceira_movimentacaoFinanceira"', () => {
|
|
185
|
-
const
|
|
222
|
+
const suffix = "movimentacao-financeira";
|
|
186
223
|
element.setAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME, "mov-financeira");
|
|
187
224
|
|
|
188
|
-
const result = ElementIDUtils.addIDInfo(element,
|
|
189
|
-
|
|
190
|
-
|
|
225
|
+
const result = ElementIDUtils.addIDInfo(element, suffix);
|
|
226
|
+
const dataElementIdAttributeName = `movFinanceira_movimentacaoFinanceira`;
|
|
227
|
+
|
|
228
|
+
assertElementIdName({ dataElementIdAttributeName, result, suffix });
|
|
191
229
|
});
|
|
192
230
|
|
|
193
231
|
|
|
194
232
|
test('19 - should add data-element-id with valid id "movFinanceira_movimentacaoFinanceira"', () => {
|
|
195
|
-
const
|
|
233
|
+
const suffix = "movimentacao-financeira";
|
|
196
234
|
element.setAttribute("data-field-name", "mov-financeira");
|
|
197
235
|
|
|
198
|
-
const result = ElementIDUtils.addIDInfo(element,
|
|
199
|
-
|
|
200
|
-
|
|
236
|
+
const result = ElementIDUtils.addIDInfo(element, suffix);
|
|
237
|
+
const dataElementIdAttributeName = `movFinanceira_movimentacaoFinanceira`;
|
|
238
|
+
|
|
239
|
+
assertElementIdName({ dataElementIdAttributeName, result, suffix });
|
|
201
240
|
});
|
|
202
241
|
|
|
203
242
|
test('20 - should add data-element-id with valid id "movFinanceira_movimentacaoFinanceira"', () => {
|
|
204
|
-
const
|
|
243
|
+
const suffix = "movimentacao-financeira";
|
|
205
244
|
element.setAttribute("name", "mov-financeira");
|
|
206
245
|
|
|
207
|
-
const result = ElementIDUtils.addIDInfo(element,
|
|
208
|
-
|
|
209
|
-
|
|
246
|
+
const result = ElementIDUtils.addIDInfo(element, suffix);
|
|
247
|
+
const dataElementIdAttributeName = `movFinanceira_movimentacaoFinanceira`;
|
|
248
|
+
|
|
249
|
+
assertElementIdName({ dataElementIdAttributeName, result, suffix });
|
|
210
250
|
});
|
|
211
251
|
|
|
212
252
|
test('21 - should add data-element-id with valid id "movFinanceira_movimentacaoFinanceira"', () => {
|
|
213
|
-
const
|
|
253
|
+
const suffix = "movimentacao-financeira";
|
|
214
254
|
element.setAttribute("label", "mov-financeira");
|
|
215
255
|
|
|
216
|
-
const result = ElementIDUtils.addIDInfo(element,
|
|
217
|
-
|
|
218
|
-
|
|
256
|
+
const result = ElementIDUtils.addIDInfo(element, suffix);
|
|
257
|
+
const dataElementIdAttributeName = `movFinanceira_movimentacaoFinanceira`;
|
|
258
|
+
|
|
259
|
+
assertElementIdName({ dataElementIdAttributeName, result, suffix });
|
|
219
260
|
});
|
|
220
261
|
|
|
221
262
|
test('22 - should add data-element-id with valid id "bancoObrigatorio_movimentacaoFinanceira"', () => {
|
|
222
|
-
const
|
|
263
|
+
const suffix = "movimentacao-financeira";
|
|
223
264
|
element.setAttribute("name", "Banco (obrigatório) *");
|
|
224
265
|
|
|
225
|
-
const result = ElementIDUtils.addIDInfo(element,
|
|
226
|
-
|
|
227
|
-
|
|
266
|
+
const result = ElementIDUtils.addIDInfo(element, suffix);
|
|
267
|
+
const dataElementIdAttributeName = `bancoObrigatorio_movimentacaoFinanceira`;
|
|
268
|
+
|
|
269
|
+
assertElementIdName({ dataElementIdAttributeName, result, suffix });
|
|
228
270
|
});
|
|
229
271
|
|
|
230
272
|
});
|
|
@@ -153,5 +153,27 @@ describe('StringUtils', function () {
|
|
|
153
153
|
})
|
|
154
154
|
|
|
155
155
|
});
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
const testCasesTo_round = [
|
|
159
|
+
{ decimal: undefined, inputValue: 100.12, outPutValue: 100.12 },
|
|
160
|
+
{ decimal: 1, inputValue: 100.12, outPutValue: 100.1 },
|
|
161
|
+
{ decimal: 2, inputValue: 100.12, outPutValue: 100.12 },
|
|
162
|
+
{ decimal: 3, inputValue: 100.12, outPutValue: 100.12 },
|
|
163
|
+
{ decimal: 1, inputValue: 100.15, outPutValue: 100.2 },
|
|
164
|
+
{ decimal: 2, inputValue: 100.15, outPutValue: 100.15 },
|
|
165
|
+
{ decimal: 3, inputValue: 100.15, outPutValue: 100.15 },
|
|
166
|
+
{ decimal: 1, inputValue: 100.16, outPutValue: 100.2 },
|
|
167
|
+
{ decimal: 2, inputValue: 100.16, outPutValue: 100.16 },
|
|
168
|
+
{ decimal: 3, inputValue: 100.16, outPutValue: 100.16 },
|
|
169
|
+
]
|
|
170
|
+
|
|
171
|
+
it('format round number', function () {
|
|
172
|
+
let result: number;
|
|
173
|
+
testCasesTo_round.forEach(e => {
|
|
174
|
+
result = NumberUtils.round(e.inputValue, e.decimal);
|
|
175
|
+
expect(result).toBe(e.outPutValue);
|
|
176
|
+
})
|
|
177
|
+
});
|
|
156
178
|
|
|
157
179
|
});
|