@sis-cc/dotstatsuite-components 15.0.20 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/LICENSE +1 -1
  2. package/lib/rules/src/index.js +1 -145
  3. package/lib/rules/src/table/index.js +0 -42
  4. package/lib/rules/src/v8-transformer.js +6 -5
  5. package/lib/rules2/src/constants.js +3 -1
  6. package/lib/rules2/src/enhanceObservations.js +98 -0
  7. package/lib/rules2/src/getAttributesSeries.js +33 -0
  8. package/lib/rules2/src/getCombinationDefinitions.js +48 -0
  9. package/lib/rules2/src/getHeaderCombinations.js +42 -0
  10. package/lib/rules2/src/getHeaderSubtitle.js +41 -0
  11. package/lib/rules2/src/getManyValuesDimensions.js +39 -0
  12. package/lib/rules2/src/getNotDisplayedIds.js +5 -1
  13. package/lib/rules2/src/getOneValueDimensions.js +46 -0
  14. package/lib/rules2/src/hasCellMetadata.js +1 -1
  15. package/lib/rules2/src/index.js +186 -18
  16. package/lib/rules2/src/parseAttributes.js +50 -0
  17. package/lib/rules2/src/parseCombinations.js +54 -0
  18. package/lib/rules2/src/prepareData.js +74 -0
  19. package/lib/{rules/src/table/preparators/getAttributeValue.js → rules2/src/refineAttributes.js} +13 -11
  20. package/lib/rules2/src/table/getCells.js +74 -0
  21. package/lib/rules2/src/table/getCellsAttributesIds.js +63 -0
  22. package/lib/rules2/src/table/getCombinationDimensionsData.js +47 -0
  23. package/lib/rules2/src/table/getCuratedCells.js +28 -0
  24. package/lib/rules2/src/table/getFlagsAndNotes.js +28 -0
  25. package/lib/rules2/src/table/getIndexedCombinationsByDisplay.js +31 -0
  26. package/lib/rules2/src/table/getLayout.js +93 -0
  27. package/lib/rules2/src/table/getLayoutData.js +202 -0
  28. package/lib/{rules/src/table/factories → rules2/src/table}/getSortedLayoutIndexes.js +55 -40
  29. package/lib/rules2/src/table/getTableProps.js +64 -0
  30. package/lib/rules2/src/table/parseValueHierarchy.js +55 -0
  31. package/lib/{rules/src/table/factories → rules2/src/table}/refineLayoutSize.js +17 -8
  32. package/lib/rules2/src/{hasLayoutEntryMetadata.js → utils.js} +9 -6
  33. package/package.json +1 -1
  34. package/src/rules/src/index.js +1 -19
  35. package/src/rules/src/table/index.js +0 -4
  36. package/src/rules/src/v8-transformer.js +75 -74
  37. package/src/rules2/src/constants.js +2 -0
  38. package/src/rules2/src/enhanceObservations.js +88 -0
  39. package/src/rules2/src/getAttributesSeries.js +29 -0
  40. package/src/rules2/src/getCombinationDefinitions.js +29 -0
  41. package/src/rules2/src/getHeaderCombinations.js +39 -0
  42. package/src/rules2/src/getHeaderSubtitle.js +34 -0
  43. package/src/rules2/src/getManyValuesDimensions.js +34 -0
  44. package/src/rules2/src/getNotDisplayedIds.js +5 -1
  45. package/src/rules2/src/getOneValueDimensions.js +33 -0
  46. package/src/rules2/src/hasCellMetadata.js +1 -1
  47. package/src/rules2/src/index.js +21 -6
  48. package/src/rules2/src/parseAttributes.js +36 -0
  49. package/src/rules2/src/parseCombinations.js +36 -0
  50. package/src/rules2/src/prepareData.js +50 -0
  51. package/src/rules2/src/refineAttributes.js +16 -0
  52. package/src/rules2/src/table/getCells.js +72 -0
  53. package/src/rules2/src/table/getCellsAttributesIds.js +38 -0
  54. package/src/rules2/src/table/getCombinationDimensionsData.js +38 -0
  55. package/src/rules2/src/table/getCuratedCells.js +33 -0
  56. package/src/rules2/src/table/getFlagsAndNotes.js +21 -0
  57. package/src/rules2/src/table/getIndexedCombinationsByDisplay.js +16 -0
  58. package/src/rules2/src/table/getLayout.js +80 -0
  59. package/src/rules2/src/table/getLayoutData.js +183 -0
  60. package/src/rules2/src/table/getSortedLayoutIndexes.js +119 -0
  61. package/src/rules2/src/table/getTableProps.js +36 -0
  62. package/src/rules2/src/table/parseValueHierarchy.js +27 -0
  63. package/src/{rules/src/table/factories → rules2/src/table}/refineLayoutSize.js +24 -8
  64. package/src/rules2/src/utils.js +12 -0
  65. package/test/enhanceObservations2.test.js +219 -0
  66. package/test/getAttributesSeries.test.js +58 -0
  67. package/test/getCells.test.js +6 -40
  68. package/test/getCombinationDimensionsData.test.js +48 -0
  69. package/test/getNotDisplayedIds.test.js +15 -2
  70. package/test/getSortedLayoutIndexes.test.js +1025 -3
  71. package/test/parseAttributes.test.js +17 -62
  72. package/test/parseValueHierarchy.test.js +88 -0
  73. package/test/refineLayoutSize.test.js +2621 -1
  74. package/lib/rules/src/table/factories/getCells.js +0 -97
  75. package/lib/rules/src/table/factories/getConfirmedSeriesAttributesIds.js +0 -26
  76. package/lib/rules/src/table/factories/getCuratedCells.js +0 -45
  77. package/lib/rules/src/table/factories/getLayoutData.js +0 -168
  78. package/lib/rules/src/table/factories/getLayoutWithFlags.js +0 -133
  79. package/lib/rules/src/table/factories/getTableCells.js +0 -24
  80. package/lib/rules/src/table/factories/getTableData.js +0 -98
  81. package/lib/rules/src/table/preparators/getDimensionsAttributesRegisters.js +0 -43
  82. package/lib/rules/src/table/preparators/getManyValuesDimensions.js +0 -33
  83. package/lib/rules/src/table/preparators/getOneValueDimensions.js +0 -24
  84. package/lib/rules/src/table/preparators/getUniqValuesAttributes.js +0 -36
  85. package/lib/rules/src/table/preparators/parseAttributes.js +0 -84
  86. package/lib/rules/src/table/preparators/parseAttributesValuesFromObservations.js +0 -22
  87. package/lib/rules/src/table/preparators/parseDimensionsIds.js +0 -22
  88. package/lib/rules/src/table/preparators/prepareData.js +0 -191
  89. package/lib/rules/src/table/preparators/refineObservationsAttributesValues.js +0 -31
  90. package/lib/rules/src/table/preparators/refineSeriesAttributesValues.js +0 -23
  91. package/lib/rules/src/table/units/appendUnitsInLayoutData.js +0 -82
  92. package/lib/rules/src/table/units/appendUnitsInLayoutDataEntry.js +0 -45
  93. package/lib/rules/src/table/units/cleanUnitsInLayoutData.js +0 -66
  94. package/lib/rules/src/table/units/getAttachmentSeriesIndexes.js +0 -25
  95. package/lib/rules/src/table/units/getHeaderUnits.js +0 -35
  96. package/lib/rules/src/table/units/getUnitsArtefacts.js +0 -85
  97. package/lib/rules/src/table/units/getUnitsCodes.js +0 -23
  98. package/lib/rules/src/table/units/getUnitsDefinition.js +0 -33
  99. package/lib/rules/src/table/units/getUnitsDisplay.js +0 -33
  100. package/lib/rules/src/table/units/getUnitsSerieIndexes.js +0 -23
  101. package/lib/rules/src/table/units/getUnitsSeries.js +0 -49
  102. package/lib/rules/src/table/units/getUnitsinLayout.js +0 -74
  103. package/lib/rules/src/table/units/refineDimSeriesUnits.js +0 -44
  104. package/lib/rules2/src/getAdvancedAttributes.js +0 -124
  105. package/lib/rules2/src/invertTime.js +0 -33
  106. package/src/rules/src/table/factories/getCells.js +0 -102
  107. package/src/rules/src/table/factories/getConfirmedSeriesAttributesIds.js +0 -27
  108. package/src/rules/src/table/factories/getCuratedCells.js +0 -40
  109. package/src/rules/src/table/factories/getLayoutData.js +0 -171
  110. package/src/rules/src/table/factories/getLayoutWithFlags.js +0 -137
  111. package/src/rules/src/table/factories/getSortedLayoutIndexes.js +0 -108
  112. package/src/rules/src/table/factories/getTableCells.js +0 -16
  113. package/src/rules/src/table/factories/getTableData.js +0 -86
  114. package/src/rules/src/table/preparators/getAttributeValue.js +0 -17
  115. package/src/rules/src/table/preparators/getDimensionsAttributesRegisters.js +0 -51
  116. package/src/rules/src/table/preparators/getManyValuesDimensions.js +0 -19
  117. package/src/rules/src/table/preparators/getOneValueDimensions.js +0 -17
  118. package/src/rules/src/table/preparators/getUniqValuesAttributes.js +0 -24
  119. package/src/rules/src/table/preparators/parseAttributes.js +0 -113
  120. package/src/rules/src/table/preparators/parseAttributesValuesFromObservations.js +0 -16
  121. package/src/rules/src/table/preparators/parseDimensionsIds.js +0 -17
  122. package/src/rules/src/table/preparators/prepareData.js +0 -197
  123. package/src/rules/src/table/preparators/refineObservationsAttributesValues.js +0 -22
  124. package/src/rules/src/table/preparators/refineSeriesAttributesValues.js +0 -11
  125. package/src/rules/src/table/units/appendUnitsInLayoutData.js +0 -56
  126. package/src/rules/src/table/units/appendUnitsInLayoutDataEntry.js +0 -38
  127. package/src/rules/src/table/units/cleanUnitsInLayoutData.js +0 -65
  128. package/src/rules/src/table/units/getAttachmentSeriesIndexes.js +0 -27
  129. package/src/rules/src/table/units/getHeaderUnits.js +0 -32
  130. package/src/rules/src/table/units/getUnitsArtefacts.js +0 -90
  131. package/src/rules/src/table/units/getUnitsCodes.js +0 -22
  132. package/src/rules/src/table/units/getUnitsDefinition.js +0 -34
  133. package/src/rules/src/table/units/getUnitsDisplay.js +0 -19
  134. package/src/rules/src/table/units/getUnitsSerieIndexes.js +0 -12
  135. package/src/rules/src/table/units/getUnitsSeries.js +0 -41
  136. package/src/rules/src/table/units/getUnitsinLayout.js +0 -71
  137. package/src/rules/src/table/units/refineDimSeriesUnits.js +0 -26
  138. package/src/rules2/src/getAdvancedAttributes.js +0 -111
  139. package/src/rules2/src/hasLayoutEntryMetadata.js +0 -9
  140. package/src/rules2/src/invertTime.js +0 -22
  141. package/test/advanced-attributes-parsing-perf.test.js +0 -16
  142. package/test/appendUnitsInLayoutDataEntry.test.js +0 -65
  143. package/test/cleanUnitsInLayoutData.test.js +0 -85
  144. package/test/enhanceObservations.test.js +0 -340
  145. package/test/getAttachmentSeriesIndexes.test.js +0 -35
  146. package/test/getConfirmedSeriesAttributesIds.test.js +0 -27
  147. package/test/getDataflowAdvancedAttributes.test.js +0 -32
  148. package/test/getHeaderUnits.test.js +0 -51
  149. package/test/getLayoutData.test.js +0 -206
  150. package/test/getLayoutDataWithFlags.test.js +0 -142
  151. package/test/getOneValueDimensions.test.js +0 -26
  152. package/test/getSeriesAdvancedAttributes.test.js +0 -32
  153. package/test/getSubtitleFlags.test.js +0 -42
  154. package/test/getTableData.test.js +0 -1317
  155. package/test/getUnitsArtefacts.test.js +0 -117
  156. package/test/getUnitsDefinition.test.js +0 -37
  157. package/test/getUnitsInLayout.test.js +0 -77
  158. package/test/getUnitsSeries.test.js +0 -154
  159. package/test/invertTime.test.js +0 -77
  160. package/test/parseAttributesValuesFromObservations.test.js +0 -45
  161. package/test/parseDimensionsIds.test.js +0 -20
  162. package/test/prepareData.test.js +0 -29
  163. package/test/refineObservationsAttributesValues.test.js +0 -33
  164. package/test/table-invert-time-perf.test.js +0 -11
  165. package/test/table-layout-perf.test.js +0 -74
  166. package/test/table-prep-duplicate-perf.test.js +0 -15
  167. package/test/table-prep-perf.test.js +0 -61
@@ -1,206 +0,0 @@
1
- import { expect } from 'chai';
2
- import { getLayoutData } from '../src/rules/src/table/factories/getLayoutData';
3
-
4
- describe('getLayoutData tests', () => {
5
- it ('simple single row diension case', () => {
6
- const layout = {
7
- header: [],
8
- sections: [],
9
- rows: [{ id: 'd0', values: [{ id: '0v0' }, { id: '0v1' }] }]
10
- };
11
-
12
- const indexes = {
13
- truncated: false,
14
- header: [],
15
- sections: [[[], [[0], [1]]]]
16
- };
17
-
18
- const expected = {
19
- truncated: false,
20
- headerData: [],
21
- sectionsData: [
22
- [
23
- [],
24
- [[{ dimension: { id: 'd0' }, value: { id: '0v0' } }], [{ dimension: { id: 'd0' }, value: { id: '0v1' } }]]
25
- ]
26
- ]
27
- };
28
-
29
- expect(getLayoutData(indexes, layout)).to.deep.equal(expected);
30
- });
31
- it('complete case', () => {
32
- const layout = {
33
- header: [{ id: 'd0', values: [{ id: '0v0' }, { id: '0v1' }] }],
34
- sections: [{ id: 'd1', values: [{ id: '1v0' }, { id: '1v1' }] }],
35
- rows: [
36
- {
37
- id: 'd2', values: [
38
- { id: '2v0', name: '2V0' },
39
- { id: '2v0.0', name: '2V0.0', parents: ['2v0'] },
40
- { id: '2v0.0.0', name: '2V0.0.0', parents: ['2v0', '2v0.0'] },
41
- { id: '2v0.0.1', name: '2V0.0.1', parents: ['2v0', '2v0.0'] }
42
- ]
43
- },
44
- {
45
- id: 'd3', values: [
46
- { id: '3v0', name: '3V0' },
47
- { id: '3v0.0', name: '3V0.0', parents: ['3v0'] },
48
- { id: '3v0.0.0', name: '3V0.0.0', parents: ['3v0', '3v0.0'] },
49
- { id: '3v0.0.1', name: '3V0.0.1', parents: ['3v0', '3v0.0'] },
50
- { id: '3v0.1', name: '3V0.1', parents: ['3v0'] },
51
- { id: '3v0.1.0', name: '3V0.1.0', parents: ['3v0', '3v0.1'] }
52
- ]
53
- },
54
- ]
55
- };
56
-
57
- const indexes = {
58
- truncated: false,
59
- header: [[0], [1]],
60
- sections: [
61
- [
62
- [0],
63
- [
64
- [0, 0],
65
- [0, 1],
66
- [0, 2],
67
- [0, 3],
68
- [1, 0],
69
- [1, 1],
70
- [1, 2],
71
- [1, 3],
72
- [2, 0],
73
- [2, 1],
74
- [2, 2],
75
- [2, 3],
76
- [3, 0],
77
- [3, 1],
78
- [3, 2],
79
- [3, 3],
80
- [3, 4],
81
- [3, 5]
82
- ]
83
- ],
84
- [
85
- [1],
86
- [
87
- [0, 1],
88
- [0, 2],
89
- [0, 3],
90
- [3, 3]
91
- ]
92
- ]
93
- ]
94
- }
95
-
96
- const expected = {
97
- truncated: false,
98
- headerData: [
99
- [{ dimension: { id: 'd0' }, value: { id: '0v0' } }],
100
- [{ dimension: { id: 'd0' }, value: { id: '0v1' } }],
101
- ],
102
- sectionsData: [
103
- [
104
- [{ dimension: { id: 'd1' }, value: { id: '1v0' } }],
105
- [
106
- [
107
- { dimension: { id: 'd2' }, value: { id: '2v0', name: '2V0' } },
108
- { dimension: { id: 'd3' }, value: { id: '3v0', name: '3V0' } }
109
- ],
110
- [
111
- { dimension: { id: 'd2' }, value: { id: '2v0', name: '2V0' } },
112
- { dimension: { id: 'd3' }, value: { id: '3v0.0', name: '3V0.0', parents: ['3v0'] } }
113
- ],
114
- [
115
- { dimension: { id: 'd2' }, value: { id: '2v0', name: '2V0' } },
116
- { dimension: { id: 'd3' }, value: { id: '3v0.0.0', name: '3V0.0.0', parents: ['3v0', '3v0.0'] } }
117
- ],
118
- [
119
- { dimension: { id: 'd2' }, value: { id: '2v0', name: '2V0' } },
120
- { dimension: { id: 'd3' }, value: { id: '3v0.0.1', name: '3V0.0.1', parents: ['3v0', '3v0.0'] } }
121
- ],
122
- [
123
- { dimension: { id: 'd2' }, value: { id: '2v0.0', name: '2V0.0', parents: ['2v0'] } },
124
- { dimension: { id: 'd3' }, value: { id: '3v0', name: '3V0' } }
125
- ],
126
- [
127
- { dimension: { id: 'd2' }, value: { id: '2v0.0', name: '2V0.0', parents: ['2v0'] } },
128
- { dimension: { id: 'd3' }, value: { id: '3v0.0', name: '3V0.0', parents: ['3v0'] } }
129
- ],
130
- [
131
- { dimension: { id: 'd2' }, value: { id: '2v0.0', name: '2V0.0', parents: ['2v0'] } },
132
- { dimension: { id: 'd3' }, value: { id: '3v0.0.0', name: '3V0.0.0', parents: ['3v0', '3v0.0'] } }
133
- ],
134
- [
135
- { dimension: { id: 'd2' }, value: { id: '2v0.0', name: '2V0.0', parents: ['2v0'] } },
136
- { dimension: { id: 'd3' }, value: { id: '3v0.0.1', name: '3V0.0.1', parents: ['3v0', '3v0.0'] } }
137
- ],
138
- [
139
- { dimension: { id: 'd2' }, value: { id: '2v0.0.0', name: '2V0.0.0', parents: ['2v0', '2v0.0'] } },
140
- { dimension: { id: 'd3' }, value: { id: '3v0', name: '3V0' } }
141
- ],
142
- [
143
- { dimension: { id: 'd2' }, value: { id: '2v0.0.0', name: '2V0.0.0', parents: ['2v0', '2v0.0'] } },
144
- { dimension: { id: 'd3' }, value: { id: '3v0.0', name: '3V0.0', parents: ['3v0'] } }
145
- ],
146
- [
147
- { dimension: { id: 'd2' }, value: { id: '2v0.0.0', name: '2V0.0.0', parents: ['2v0', '2v0.0'] } },
148
- { dimension: { id: 'd3' }, value: { id: '3v0.0.0', name: '3V0.0.0', parents: ['3v0', '3v0.0'] } }
149
- ],
150
- [
151
- { dimension: { id: 'd2' }, value: { id: '2v0.0.0', name: '2V0.0.0', parents: ['2v0', '2v0.0'] } },
152
- { dimension: { id: 'd3' }, value: { id: '3v0.0.1', name: '3V0.0.1', parents: ['3v0', '3v0.0'] } }
153
- ],
154
- [
155
- { dimension: { id: 'd2' }, value: { id: '2v0.0.1', name: '2V0.0.1', parents: ['2v0', '2v0.0'] } },
156
- { dimension: { id: 'd3' }, value: { id: '3v0', name: '3V0' } }
157
- ],
158
- [
159
- { dimension: { id: 'd2' }, value: { id: '2v0.0.1', name: '2V0.0.1', parents: ['2v0', '2v0.0'] } },
160
- { dimension: { id: 'd3' }, value: { id: '3v0.0', name: '3V0.0', parents: ['3v0'] } }
161
- ],
162
- [
163
- { dimension: { id: 'd2' }, value: { id: '2v0.0.1', name: '2V0.0.1', parents: ['2v0', '2v0.0'] } },
164
- { dimension: { id: 'd3' }, value: { id: '3v0.0.0', name: '3V0.0.0', parents: ['3v0', '3v0.0'] } }
165
- ],
166
- [
167
- { dimension: { id: 'd2' }, value: { id: '2v0.0.1', name: '2V0.0.1', parents: ['2v0', '2v0.0'] } },
168
- { dimension: { id: 'd3' }, value: { id: '3v0.0.1', name: '3V0.0.1', parents: ['3v0', '3v0.0'] } }
169
- ],
170
- [
171
- { dimension: { id: 'd2' }, value: { id: '2v0.0.1', name: '2V0.0.1', parents: ['2v0', '2v0.0'] } },
172
- { dimension: { id: 'd3' }, value: { id: '3v0.1', name: '3V0.1', parents: ['3v0'] } }
173
- ],
174
- [
175
- { dimension: { id: 'd2' }, value: { id: '2v0.0.1', name: '2V0.0.1', parents: ['2v0', '2v0.0'] } },
176
- { dimension: { id: 'd3' }, value: { id: '3v0.1.0', name: '3V0.1.0', parents: ['3v0', '3v0.1'] } }
177
- ]
178
- ]
179
- ],
180
- [
181
- [{ dimension: { id: 'd1' }, value: { id: '1v1' } }],
182
- [
183
- [
184
- { dimension: { id: 'd2' }, value: { id: '2v0', name: '2V0' } },
185
- { dimension: { id: 'd3' }, value: { id: '3v0.0', name: '3V0 > 3V0.0', parents: [] } }
186
- ],
187
- [
188
- { dimension: { id: 'd2' }, value: { id: '2v0', name: '2V0' } },
189
- { dimension: { id: 'd3' }, value: { id: '3v0.0.0', name: '3V0.0.0', parents: ['3v0.0'] } }
190
- ],
191
- [
192
- { dimension: { id: 'd2' }, value: { id: '2v0', name: '2V0' } },
193
- { dimension: { id: 'd3' }, value: { id: '3v0.0.1', name: '3V0.0.1', parents: ['3v0.0'] } }
194
- ],
195
- [
196
- { dimension: { id: 'd2' }, value: { id: '2v0.0.1', name: '2V0.0 > 2V0.0.1', parents: ['2v0'] } },
197
- { dimension: { id: 'd3' }, value: { id: '3v0.0.1', name: '3V0 > 3V0.0 > 3V0.0.1', parents: [] } }
198
- ]
199
- ]
200
- ]
201
- ]
202
- }
203
-
204
- expect(getLayoutData(indexes, layout)).to.deep.equal(expected);
205
- });
206
- });
@@ -1,142 +0,0 @@
1
- import { expect } from 'chai';
2
- import { getLayoutDataWithFlags } from '../src/rules/src/table/factories/getLayoutWithFlags';
3
-
4
- const customAttributes = { flags: ['a1', 'a2'], notes: ['a3', 'a4'] };
5
-
6
- const layoutData = {
7
- headerData: [
8
- [{ dimension: { id: 'COL1', __index: 0 }, value: { id: 'COL1V1', __index: 0 } }, { dimension: { id: 'COL2', __index: 1 }, value: { id: 'COL2V1', __index: 0 } }],
9
- [{ dimension: { id: 'COL1', __index: 0 }, value: { id: 'COL1V2', __index: 1 } }, { dimension: { id: 'COL2', __index: 1 }, value: { id: 'COL2V1', __index: 0 } }]
10
- ],
11
- sectionsData: [
12
- [
13
- [{ dimension: { id: 'SEC', __index: 2 }, value: { id: 'SECV1', __index: 0 } }],
14
- [
15
- [{ dimension: { id: 'ROW1', __index: 3 }, value: { id: 'ROW1V1', __index: 0 } }, { dimension: { id: 'ROW2', __index: 4 }, value: { id: 'ROW2V1', __index: 0 } }],
16
- [{ dimension: { id: 'ROW1', __index: 3 }, value: { id: 'ROW1V1', __index: 0 } }, { dimension: { id: 'ROW2', __index: 4 }, value: { id: 'ROW2V2', __index: 1 } }],
17
- [{ dimension: { id: 'ROW1', __index: 3 }, value: { id: 'ROW1V1', __index: 0 } }, { dimension: { id: 'ROW2', __index: 4 }, value: { id: 'ROW2V3', __index: 2 } }],
18
- ]
19
- ],
20
- [
21
- [{ dimension: { id: 'SEC', __index: 2 }, value: { id: 'SECV2', __index: 1 } }],
22
- [
23
- [{ dimension: { id: 'ROW1', __index: 3 }, value: { id: 'ROW1V1', __index: 0 } }, { dimension: { id: 'ROW2', __index: 4 }, value: { id: 'ROW2V1', __index: 0 } }],
24
- [{ dimension: { id: 'ROW1', __index: 3 }, value: { id: 'ROW1V1', __index: 0 } }, { dimension: { id: 'ROW2', __index: 4 }, value: { id: 'ROW2V2', __index: 1 } }],
25
- [{ dimension: { id: 'ROW1', __index: 3 }, value: { id: 'ROW1V1', __index: 0 } }, { dimension: { id: 'ROW2', __index: 4 }, value: { id: 'ROW2V3', __index: 2 } }],
26
- ]
27
- ]
28
- ]
29
- };
30
-
31
- const attributesValues = {
32
- a: { attributes: { a1: { id: 'A1', value: { id: 'A1VAL' } }, a3: { id: 'A3', value: { id: 'A3VAL' } } }, serie: ['0', '0', 'x', 'x', 'x', 'x', 'x'] },
33
- b: { attributes: { a4: { id: 'A4', value: { id: 'A4VAL' } } }, serie: ['x', 'x', '1', 'x', '1', 'x', 'x'] }
34
- };
35
-
36
- const expected = {
37
- headerData: [
38
- {
39
- data: [
40
- { dimension: { id: 'COL1', label: 'COL1', flags: [] }, value: { id: 'COL1V1', label: 'COL1V1', flags: [] } },
41
- { dimension: { id: 'COL2', label: 'COL2', flags: [] }, value: { id: 'COL2V1', label: 'COL2V1', flags: [] } }
42
- ],
43
- key: '0:0',
44
- flags: [{ code: 'A1VAL', label: 'A1: A1VAL' }, { label: 'A3: A3VAL' }],
45
- sideProps: null
46
- },
47
- {
48
- data: [
49
- { dimension: { id: 'COL1', label: 'COL1', flags: [] }, value: { id: 'COL1V2', label: 'COL1V2', flags: [] } },
50
- { dimension: { id: 'COL2', label: 'COL2', flags: [] }, value: { id: 'COL2V1', label: 'COL2V1', flags: [] } }
51
- ],
52
- key: '1:0',
53
- flags: [],
54
- sideProps: null
55
- }
56
- ],
57
- sectionsData: [
58
- [
59
- {
60
- data: [{ dimension: { id: 'SEC', label: 'SEC', flags: [] }, value: { id: 'SECV1', label: 'SECV1', flags: [] } }],
61
- key: '0',
62
- flags: [],
63
- sideProps: null
64
- },
65
- [
66
- {
67
- data: [
68
- { dimension: { id: 'ROW1', label: 'ROW1', flags: [] }, value: { id: 'ROW1V1', label: 'ROW1V1', flags: [] } },
69
- { dimension: { id: 'ROW2', label: 'ROW2', flags: [] }, value: { id: 'ROW2V1', label: 'ROW2V1', flags: [] } }
70
- ],
71
- key: '0:0',
72
- flags: [],
73
- sideProps: null
74
- },
75
- {
76
- data: [
77
- { dimension: { id: 'ROW1', label: 'ROW1', flags: [] }, value: { id: 'ROW1V1', label: 'ROW1V1', flags: [] } },
78
- { dimension: { id: 'ROW2', label: 'ROW2', flags: [] }, value: { id: 'ROW2V2', label: 'ROW2V2', flags: [] } }
79
- ],
80
- key: '0:1',
81
- flags: [],
82
- sideProps: null
83
- },
84
- {
85
- data: [
86
- { dimension: { id: 'ROW1', label: 'ROW1', flags: [] }, value: { id: 'ROW1V1', label: 'ROW1V1', flags: [] } },
87
- { dimension: { id: 'ROW2', label: 'ROW2', flags: [] }, value: { id: 'ROW2V3', label: 'ROW2V3', flags: [] } }
88
- ],
89
- key: '0:2',
90
- flags: [],
91
- sideProps: null
92
- },
93
- ]
94
- ],
95
- [
96
- {
97
- data: [{ dimension: { id: 'SEC', label: 'SEC', flags: [] }, value: { id: 'SECV2', label: 'SECV2', flags: [] } }],
98
- key: '1',
99
- flags: [],
100
- sideProps: null
101
- },
102
- [
103
- {
104
- data: [
105
- { dimension: { id: 'ROW1', label: 'ROW1', flags: [] }, value: { id: 'ROW1V1', label: 'ROW1V1', flags: [] } },
106
- { dimension: { id: 'ROW2', label: 'ROW2', flags: [] }, value: { id: 'ROW2V1', label: 'ROW2V1', flags: [] } }
107
- ],
108
- key: '0:0',
109
- flags: [],
110
- sideProps: null
111
- },
112
- {
113
- data: [
114
- { dimension: { id: 'ROW1', label: 'ROW1', flags: [] }, value: { id: 'ROW1V1', label: 'ROW1V1', flags: [] } },
115
- { dimension: { id: 'ROW2', label: 'ROW2', flags: [] }, value: { id: 'ROW2V2', label: 'ROW2V2', flags: [] } }
116
- ],
117
- key: '0:1',
118
- flags: [{ label: 'A4: A4VAL' }],
119
- sideProps: null
120
- },
121
- {
122
- data: [
123
- { dimension: { id: 'ROW1', label: 'ROW1', flags: [] }, value: { id: 'ROW1V1', label: 'ROW1V1', flags: [] } },
124
- { dimension: { id: 'ROW2', label: 'ROW2', flags: [] }, value: { id: 'ROW2V3', label: 'ROW2V3', flags: [] } }
125
- ],
126
- key: '0:2',
127
- flags: [],
128
- sideProps: null
129
- },
130
- ]
131
- ]
132
- ]
133
- };
134
-
135
- describe('getLayoutDataWithFlags test', () => {
136
- it('empty', () => {
137
- expect(getLayoutDataWithFlags({}, 'label', {}, {}, [])({ headerData: [], sectionsData: [] })).to.deep.equal({ headerData: [], sectionsData: [] });
138
- });
139
- it('multi cases', () => {
140
- expect(getLayoutDataWithFlags(attributesValues, 'code', customAttributes, {}, [])(layoutData)).to.deep.equal(expected);
141
- });
142
- });
@@ -1,26 +0,0 @@
1
- import { expect } from 'chai';
2
- import { getOneValueDimensions } from '../src/rules/src/table/preparators/getOneValueDimensions';
3
-
4
- describe('getOneValueDimensions tests', () => {
5
- it('no display indexes test', () => {
6
- const dimensions = [
7
- { id: '0', display: true, values: [{ id: '0.1', display: true }] },
8
- { id: '1', display: true, values: [{ id: '1.1', display: true }] },
9
- { id: '2', display: false, values: [{ id: '2.1', display: true }] },
10
- { id: '3', display: true, values: [{ id: '3.1', display: true }] },
11
- { id: '4', display: true, values: [{ id: '4.1', display: false }] },
12
- { id: '5', display: false, values: [{ id: '5.1', display: true }] },
13
- { id: '6', display: true, values: [{ display: false, id: '6.1' }] },
14
- ];
15
-
16
- expect(getOneValueDimensions(dimensions, {}, [])).to.deep.equal([
17
- { id: '0', display: true, values: [{ id: '0.1', attributes: {}, display: true }] },
18
- { id: '1', display: true, values: [{ id: '1.1', attributes: {}, display: true }] },
19
- { id: '2', display: false, values: [{ id: '2.1', attributes: {}, display: true }] },
20
- { id: '3', display: true, values: [{ id: '3.1', attributes: {}, display: true }] },
21
- { id: '4', display: true, values: [{ id: '4.1', attributes: {}, display: false }] },
22
- { id: '5', display: false, values: [{ id: '5.1', attributes: {}, display: true }] },
23
- { id: '6', display: true, values: [{ id: '6.1', attributes: {}, display: false }] },
24
- ]);
25
- });
26
- });
@@ -1,32 +0,0 @@
1
- import { expect } from 'chai';
2
- import { getSeriesAdvancedAttributes } from '../src/rules2/src/getAdvancedAttributes';
3
-
4
- describe('getSeriesAdvancedAttributes tests', () => {
5
- it('complete case', () => {
6
- const seriesAttributes = {
7
- series: {
8
- '0:0:x:x:x': { attributes: { a0: { id: 'a0' } } },
9
- '0:1:0:x:x': { attributes: { a0: { id: 'a0' }, a1: { id: 'a1' } } },
10
- },
11
- dimensions: {
12
- '2:0': { attributes: { a1: { id: 'a1' } } },
13
- '3:0': { attributes: { a0: { id: 'a0' } } },
14
- '4:1': { attributes: { a0: { id: 'a0' }, a1: { id: 'a1' } } },
15
- }
16
- };
17
- const advancedAttributesIds = ['a1'];
18
- const dimensions = [
19
- { id: 'd0', values: [{ id: 'v0' }] },
20
- { id: 'd1', values: [{ id: 'v0' }, { id: 'v1' }] },
21
- { id: 'd2', values: [{ id: 'v0' }] },
22
- { id: 'd3', values: [{ id: 'v0' }] },
23
- { id: 'd4', values: [{ id: 'v0' }, { id: 'v1' }] },
24
- ];
25
-
26
- expect(getSeriesAdvancedAttributes(seriesAttributes, dimensions, advancedAttributesIds)).to.deep.equal({
27
- '0:1:0::': { attributes: { a1: { id: 'a1' } }, coordinates: { d0: 'v0', d1: 'v1', d2: 'v0' } },
28
- '::0::': { attributes: { a1: { id: 'a1' } }, coordinates: { d2: 'v0' } },
29
- '::::1': { attributes: { a1: { id: 'a1' } }, coordinates: { d4: 'v1' } }
30
- });
31
- });
32
- });
@@ -1,42 +0,0 @@
1
- import { expect } from 'chai';
2
- import { getSubtitleFlags } from '../src/rules/src/header';
3
-
4
- describe('getSubtitleFlags tests', () => {
5
- it('blank test', () => {
6
- expect(getSubtitleFlags({ customAttributes: {}, dimensions: {}, display: null, units: {} })).to.deep.equal([]);
7
- });
8
- it('no flags test', () => {
9
- expect(getSubtitleFlags({
10
- customAttributes: {
11
- flags: ['f1', 'f2']
12
- },
13
- dimensions: {
14
- one: {
15
- a: { id: 'a', __index: 0, attributes: {}, values: [{ id: 'a1' }] },
16
- b: { id: 'b', __index: 0, attributes: {}, values: [{ id: 'b1' }] },
17
- }
18
- },
19
- display: 'code',
20
- units: { values: [] }
21
- })).to.deep.equal([]);
22
- });
23
- it('simple test', () => {
24
- expect(getSubtitleFlags({
25
- customAttributes: { flags: [], notes: ['f1', 'f2'] },
26
- dimensions: {
27
- one: {
28
- a: {
29
- id: 'a', __index: 0,
30
- values: [{ id: 'a1', attributes: { f1: { id: 'f1', value: { id: 'v' } }, f2: { id: 'f2', value: { id: 'v' } }} }]
31
- },
32
- b: { id: 'b', __index: 0, values: [{ id: 'b1', attributes: { f1: { id: 'f1', value: { id: 'v' } } } }] },
33
- }
34
- },
35
- display: 'code',
36
- units: { values: [] }
37
- })).to.deep.equal([
38
- { header: 'a:', label: 'a1', sub: [{ label: 'f1: v' }, { label: 'f2: v' }] },
39
- { header: 'b:', label: 'b1', sub: [{ label: 'f1: v' }] }
40
- ]);
41
- })
42
- });