@genesislcap/pbc-reporting-ui 15.19.0 → 15.19.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.
Files changed (247) hide show
  1. package/dist/custom-elements.json +4247 -5382
  2. package/dist/dts/react.d.ts +44 -44
  3. package/dist/react.cjs +65 -65
  4. package/dist/react.mjs +57 -57
  5. package/package.json +22 -23
  6. package/.env +0 -3
  7. package/api-extractor.json +0 -4
  8. package/dist/dts/new/main/edit-config/col-filters/col-filters-grid.helpers.test.d.ts +0 -2
  9. package/dist/dts/new/main/edit-config/col-filters/col-filters-grid.helpers.test.d.ts.map +0 -1
  10. package/dist/dts/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.test.d.ts +0 -2
  11. package/dist/dts/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.test.d.ts.map +0 -1
  12. package/dist/dts/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.test.d.ts +0 -2
  13. package/dist/dts/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.test.d.ts.map +0 -1
  14. package/dist/dts/new/main/edit-config/datasource-config/datasources-config-container.helpers.test.d.ts +0 -2
  15. package/dist/dts/new/main/edit-config/datasource-config/datasources-config-container.helpers.test.d.ts.map +0 -1
  16. package/dist/dts/new/main/edit-config/row-filters/row-filters.helpers.test.d.ts +0 -2
  17. package/dist/dts/new/main/edit-config/row-filters/row-filters.helpers.test.d.ts.map +0 -1
  18. package/dist/dts/new/main/edit-config/shared/datasource-data-base-component.test.d.ts +0 -5
  19. package/dist/dts/new/main/edit-config/shared/datasource-data-base-component.test.d.ts.map +0 -1
  20. package/dist/dts/new/utils/alias-generator.test.d.ts +0 -2
  21. package/dist/dts/new/utils/alias-generator.test.d.ts.map +0 -1
  22. package/dist/dts/new/utils/endpoint.test.d.ts +0 -2
  23. package/dist/dts/new/utils/endpoint.test.d.ts.map +0 -1
  24. package/dist/dts/new/utils/transformers.test.d.ts +0 -2
  25. package/dist/dts/new/utils/transformers.test.d.ts.map +0 -1
  26. package/dist/dts/new/utils/validators.test.d.ts +0 -2
  27. package/dist/dts/new/utils/validators.test.d.ts.map +0 -1
  28. package/dist/dts/old/main/main.test.d.ts +0 -2
  29. package/dist/dts/old/main/main.test.d.ts.map +0 -1
  30. package/dist/dts/old/utils/filterObjectArray.test.d.ts +0 -2
  31. package/dist/dts/old/utils/filterObjectArray.test.d.ts.map +0 -1
  32. package/dist/esm/new/main/edit-config/col-filters/col-filters-grid.helpers.test.js +0 -200
  33. package/dist/esm/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.test.js +0 -152
  34. package/dist/esm/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.test.js +0 -629
  35. package/dist/esm/new/main/edit-config/datasource-config/datasources-config-container.helpers.test.js +0 -268
  36. package/dist/esm/new/main/edit-config/row-filters/row-filters.helpers.test.js +0 -1
  37. package/dist/esm/new/main/edit-config/shared/datasource-data-base-component.test.js +0 -426
  38. package/dist/esm/new/utils/alias-generator.test.js +0 -36
  39. package/dist/esm/new/utils/endpoint.test.js +0 -162
  40. package/dist/esm/new/utils/transformers.test.js +0 -469
  41. package/dist/esm/new/utils/validators.test.js +0 -139
  42. package/dist/esm/old/main/main.test.js +0 -5
  43. package/dist/esm/old/utils/filterObjectArray.test.js +0 -46
  44. package/dist/tsconfig.tsbuildinfo +0 -1
  45. package/src/globals.d.ts +0 -7
  46. package/src/index.federated.ts +0 -1
  47. package/src/index.ts +0 -8
  48. package/src/new/components/clone-report-config-modal/clone-report-config-modal.styles.ts +0 -47
  49. package/src/new/components/clone-report-config-modal/clone-report-config-modal.template.ts +0 -55
  50. package/src/new/components/clone-report-config-modal/clone-report-config-modal.ts +0 -173
  51. package/src/new/components/components.ts +0 -118
  52. package/src/new/components/renderers/data-transform-renderer.ts +0 -111
  53. package/src/new/components/reporting-configurations/reporting-configurations.styles.ts +0 -42
  54. package/src/new/components/reporting-configurations/reporting-configurations.template.ts +0 -59
  55. package/src/new/components/reporting-configurations/reporting-configurations.ts +0 -366
  56. package/src/new/components/shared/file-template-picker.template.ts +0 -45
  57. package/src/new/lib/redux-store/README.md +0 -55
  58. package/src/new/lib/redux-store/index.ts +0 -2
  59. package/src/new/lib/redux-store/state-utils.ts +0 -1
  60. package/src/new/lib/redux-store/store.ts +0 -135
  61. package/src/new/main/edit-config/base-config/base-config.styles.ts +0 -26
  62. package/src/new/main/edit-config/base-config/base-config.template.ts +0 -71
  63. package/src/new/main/edit-config/base-config/base-config.ts +0 -116
  64. package/src/new/main/edit-config/col-filters/col-filters-grid.helpers.test.ts +0 -232
  65. package/src/new/main/edit-config/col-filters/col-filters-grid.helpers.ts +0 -35
  66. package/src/new/main/edit-config/col-filters/col-filters-grid.styles.ts +0 -22
  67. package/src/new/main/edit-config/col-filters/col-filters-grid.ts +0 -150
  68. package/src/new/main/edit-config/col-filters/col-filters-grid.types.ts +0 -7
  69. package/src/new/main/edit-config/col-filters/col-filters-tutorial.ts +0 -25
  70. package/src/new/main/edit-config/col-filters/col-fitlers-grid.template.ts +0 -15
  71. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.test.ts +0 -187
  72. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.helpers.ts +0 -89
  73. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.styles.ts +0 -22
  74. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.template.ts +0 -14
  75. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.ts +0 -119
  76. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-grid.types.ts +0 -10
  77. package/src/new/main/edit-config/col-rename-alias/col-rename-alias-tutorial.ts +0 -33
  78. package/src/new/main/edit-config/config-journey-orchestrator.styles.ts +0 -120
  79. package/src/new/main/edit-config/config-journey-orchestrator.template.ts +0 -149
  80. package/src/new/main/edit-config/config-journey-orchestrator.ts +0 -92
  81. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms-tutorial.ts +0 -127
  82. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.test.ts +0 -799
  83. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.helpers.ts +0 -371
  84. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.styles.ts +0 -22
  85. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.template.ts +0 -21
  86. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.ts +0 -162
  87. package/src/new/main/edit-config/data-transforms-derived-fields/data-transforms.types.ts +0 -211
  88. package/src/new/main/edit-config/data-transforms-derived-fields/date-format-modal/date-format-modal.styles.ts +0 -79
  89. package/src/new/main/edit-config/data-transforms-derived-fields/date-format-modal/date-format-modal.template.ts +0 -217
  90. package/src/new/main/edit-config/data-transforms-derived-fields/date-format-modal/date-format-modal.ts +0 -280
  91. package/src/new/main/edit-config/data-transforms-derived-fields/date-format-modal/index.ts +0 -1
  92. package/src/new/main/edit-config/data-transforms-derived-fields/format-warning.ts +0 -43
  93. package/src/new/main/edit-config/data-transforms-derived-fields/number-format-modal/index.ts +0 -1
  94. package/src/new/main/edit-config/data-transforms-derived-fields/number-format-modal/number-format-modal.styles.ts +0 -68
  95. package/src/new/main/edit-config/data-transforms-derived-fields/number-format-modal/number-format-modal.template.ts +0 -93
  96. package/src/new/main/edit-config/data-transforms-derived-fields/number-format-modal/number-format-modal.ts +0 -152
  97. package/src/new/main/edit-config/datasource-config/datasource-config-container.styles.ts +0 -22
  98. package/src/new/main/edit-config/datasource-config/datasource-config-item.styles.ts +0 -76
  99. package/src/new/main/edit-config/datasource-config/datasource-config-item.template.ts +0 -141
  100. package/src/new/main/edit-config/datasource-config/datasource-config-item.ts +0 -212
  101. package/src/new/main/edit-config/datasource-config/datasources-config-container.helpers.test.ts +0 -341
  102. package/src/new/main/edit-config/datasource-config/datasources-config-container.helpers.ts +0 -99
  103. package/src/new/main/edit-config/datasource-config/datasources-config-container.template.ts +0 -68
  104. package/src/new/main/edit-config/datasource-config/datasources-config-container.ts +0 -55
  105. package/src/new/main/edit-config/datasource-config/types.ts +0 -6
  106. package/src/new/main/edit-config/outputs-config/outputs-config.style.ts +0 -11
  107. package/src/new/main/edit-config/outputs-config/outputs-config.template.ts +0 -66
  108. package/src/new/main/edit-config/outputs-config/outputs-config.ts +0 -66
  109. package/src/new/main/edit-config/row-filters/row-filters-tutorial.styles.ts +0 -16
  110. package/src/new/main/edit-config/row-filters/row-filters-tutorial.template.ts +0 -229
  111. package/src/new/main/edit-config/row-filters/row-filters-tutorial.ts +0 -15
  112. package/src/new/main/edit-config/row-filters/row-filters.helpers.test.ts +0 -2
  113. package/src/new/main/edit-config/row-filters/row-filters.helpers.ts +0 -53
  114. package/src/new/main/edit-config/row-filters/row-filters.styles.ts +0 -23
  115. package/src/new/main/edit-config/row-filters/row-filters.template.ts +0 -15
  116. package/src/new/main/edit-config/row-filters/row-filters.ts +0 -58
  117. package/src/new/main/edit-config/row-filters/row-filters.types.ts +0 -14
  118. package/src/new/main/edit-config/scheduling/scheduling.styles.ts +0 -59
  119. package/src/new/main/edit-config/scheduling/scheduling.template.ts +0 -80
  120. package/src/new/main/edit-config/scheduling/scheduling.ts +0 -101
  121. package/src/new/main/edit-config/shared/datasource-data-base-component.helpers.ts.ts +0 -250
  122. package/src/new/main/edit-config/shared/datasource-data-base-component.test.ts +0 -568
  123. package/src/new/main/edit-config/shared/datasource-data-base-component.ts +0 -65
  124. package/src/new/main/edit-config/shared/datasource-data-base-component.types.ts +0 -55
  125. package/src/new/main/edit-config/shared/index.ts +0 -3
  126. package/src/new/main/edit-config/tabbed-datasource-container/index.ts +0 -2
  127. package/src/new/main/edit-config/tabbed-datasource-container/tabbed-datasource-container.styles.ts +0 -12
  128. package/src/new/main/edit-config/tabbed-datasource-container/tabbed-datasource-container.template.ts +0 -29
  129. package/src/new/main/edit-config/tabbed-datasource-container/tabbed-datasource-container.ts +0 -69
  130. package/src/new/main/edit-config/tabbed-datasource-container/tabbed-datasource-container.types.ts +0 -7
  131. package/src/new/main/generated-reports/generated-reports.styles.ts +0 -15
  132. package/src/new/main/generated-reports/generated-reports.template.ts +0 -29
  133. package/src/new/main/generated-reports/generated-reports.ts +0 -270
  134. package/src/new/main/index.ts +0 -3
  135. package/src/new/main/main.styles.ts +0 -31
  136. package/src/new/main/main.template.ts +0 -92
  137. package/src/new/main/main.ts +0 -117
  138. package/src/new/main/report-destinations/report-destinations.template.ts +0 -39
  139. package/src/new/main/report-destinations/report-destinations.ts +0 -63
  140. package/src/new/store/index.ts +0 -3
  141. package/src/new/store/slices/base-config.ts +0 -50
  142. package/src/new/store/slices/datasources-config.ts +0 -297
  143. package/src/new/store/slices/index.ts +0 -3
  144. package/src/new/store/slices/types.ts +0 -90
  145. package/src/new/store/store.ts +0 -36
  146. package/src/new/store/types.ts +0 -10
  147. package/src/new/styles/constraints.styles.ts +0 -32
  148. package/src/new/styles/forms.styles.ts +0 -38
  149. package/src/new/styles/index.ts +0 -3
  150. package/src/new/styles/misc.styles.ts +0 -25
  151. package/src/new/types/display.ts +0 -4
  152. package/src/new/types/index.ts +0 -4
  153. package/src/new/types/misc.ts +0 -73
  154. package/src/new/types/redux.ts +0 -73
  155. package/src/new/types/rights.ts +0 -28
  156. package/src/new/utils/alias-generator.test.ts +0 -44
  157. package/src/new/utils/alias-generator.ts +0 -18
  158. package/src/new/utils/date-filter-params.ts +0 -28
  159. package/src/new/utils/endpoint.test.ts +0 -193
  160. package/src/new/utils/endpoint.ts +0 -62
  161. package/src/new/utils/event-map.ts +0 -11
  162. package/src/new/utils/format-utils.ts +0 -22
  163. package/src/new/utils/formatters.ts +0 -36
  164. package/src/new/utils/index.ts +0 -10
  165. package/src/new/utils/notifications.ts +0 -9
  166. package/src/new/utils/renderer.ts +0 -38
  167. package/src/new/utils/rights.ts +0 -66
  168. package/src/new/utils/sorter.ts +0 -19
  169. package/src/new/utils/tooltip.ts +0 -94
  170. package/src/new/utils/transformers.test.ts +0 -549
  171. package/src/new/utils/transformers.ts +0 -174
  172. package/src/new/utils/validators.test.ts +0 -165
  173. package/src/new/utils/validators.ts +0 -81
  174. package/src/old/assets/images/index.ts +0 -69
  175. package/src/old/components/create-edit/create-edit.styles.ts +0 -16
  176. package/src/old/components/create-edit/create-edit.template.ts +0 -15
  177. package/src/old/components/create-edit/create-edit.ts +0 -70
  178. package/src/old/components/create-edit/index.ts +0 -3
  179. package/src/old/components/list/columns.ts +0 -175
  180. package/src/old/components/list/index.ts +0 -3
  181. package/src/old/components/list/list.styles.ts +0 -9
  182. package/src/old/components/list/list.template.ts +0 -40
  183. package/src/old/components/list/list.ts +0 -109
  184. package/src/old/components/preview/columns.ts +0 -58
  185. package/src/old/components/preview/index.ts +0 -3
  186. package/src/old/components/preview/preview.styles.ts +0 -22
  187. package/src/old/components/preview/preview.template.ts +0 -33
  188. package/src/old/components/preview/preview.ts +0 -143
  189. package/src/old/components/rapid-components.ts +0 -64
  190. package/src/old/components/renderers/custom-header-component.ts +0 -92
  191. package/src/old/components/renderers/filter-value-renderer.ts +0 -237
  192. package/src/old/components/renderers/row-select.renderer.ts +0 -148
  193. package/src/old/components/select-fields/columns.ts +0 -83
  194. package/src/old/components/select-fields/data.ts +0 -218
  195. package/src/old/components/select-fields/index.ts +0 -3
  196. package/src/old/components/select-fields/select-fields.styles.ts +0 -22
  197. package/src/old/components/select-fields/select-fields.template.ts +0 -58
  198. package/src/old/components/select-fields/select-fields.ts +0 -218
  199. package/src/old/components/select-filters/columns.ts +0 -78
  200. package/src/old/components/select-filters/index.ts +0 -3
  201. package/src/old/components/select-filters/select-filters.styles.ts +0 -21
  202. package/src/old/components/select-filters/select-filters.template.ts +0 -58
  203. package/src/old/components/select-filters/select-filters.ts +0 -255
  204. package/src/old/components/wizard/debug.ts +0 -35
  205. package/src/old/components/wizard/index.ts +0 -2
  206. package/src/old/components/wizard/steps/filters.ts +0 -13
  207. package/src/old/components/wizard/steps/index.ts +0 -4
  208. package/src/old/components/wizard/steps/name.ts +0 -72
  209. package/src/old/components/wizard/steps/run.ts +0 -14
  210. package/src/old/components/wizard/steps/select.ts +0 -14
  211. package/src/old/components/wizard/wizard.styles.ts +0 -198
  212. package/src/old/components/wizard/wizard.template.ts +0 -147
  213. package/src/old/components/wizard/wizard.ts +0 -398
  214. package/src/old/components/wizard/wizard.types.ts +0 -43
  215. package/src/old/components/zero-components.ts +0 -61
  216. package/src/old/config/config.ts +0 -59
  217. package/src/old/config/configure.ts +0 -66
  218. package/src/old/config/index.ts +0 -2
  219. package/src/old/config/templates.ts +0 -59
  220. package/src/old/constants/grid-config.ts +0 -19
  221. package/src/old/layouts/default.ts +0 -30
  222. package/src/old/layouts/index.ts +0 -2
  223. package/src/old/layouts/two-pane-horizontal.ts +0 -81
  224. package/src/old/main/index.ts +0 -3
  225. package/src/old/main/main.styles.ts +0 -69
  226. package/src/old/main/main.template.ts +0 -127
  227. package/src/old/main/main.test.ts +0 -7
  228. package/src/old/main/main.ts +0 -250
  229. package/src/old/main/types.ts +0 -29
  230. package/src/old/styles/colors.ts +0 -16
  231. package/src/old/styles/helpers.ts +0 -181
  232. package/src/old/styles/index.ts +0 -4
  233. package/src/old/styles/normalize.ts +0 -14
  234. package/src/old/styles/styles.ts +0 -24
  235. package/src/old/tags/index.ts +0 -1
  236. package/src/old/tags/tags.ts +0 -79
  237. package/src/old/tsconfig.json +0 -10
  238. package/src/old/utils/filterObjectArray.test.ts +0 -110
  239. package/src/old/utils/filterObjectArray.ts +0 -23
  240. package/src/old/utils/getFiltersByType.ts +0 -92
  241. package/src/old/utils/getSelectedFields.ts +0 -16
  242. package/src/old/utils/index.ts +0 -4
  243. package/src/old/utils/logger.ts +0 -3
  244. package/src/sandbox.ts +0 -51
  245. package/src/tsconfig.base.json +0 -24
  246. package/src/typings.d.ts +0 -1
  247. package/tsconfig.json +0 -9
@@ -1,469 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { assert, sinon, suite } from '@genesislcap/foundation-testing';
3
- import { buildDatasourceName, transformFromServerPayload, transformToServerPayload, } from './transformers';
4
- const TransformFromServerPayload = suite('transformFromServerPayload');
5
- TransformFromServerPayload.before.each(() => {
6
- sinon.restore();
7
- });
8
- TransformFromServerPayload('cleans up orphaned fields from INCLUDE_COLUMNS', () => __awaiter(void 0, void 0, void 0, function* () {
9
- var _a, _b, _c, _d;
10
- const mockGetSchema = sinon.stub();
11
- const validSchema = {
12
- properties: {
13
- COUNTERPARTY_NAME: { genesisType: 'STRING' },
14
- AMOUNT: { genesisType: 'DOUBLE' },
15
- },
16
- };
17
- mockGetSchema.resolves(validSchema);
18
- const payload = {
19
- ID: 'test-id',
20
- NAME: 'Test Report',
21
- SCHEDULES: [],
22
- DATA_SOURCES: [
23
- {
24
- KEY: 'COUNTERPARTY',
25
- INPUT_TYPE: 'REQ_REP',
26
- NAME: 'COUNTERPARTY',
27
- OUTPUT_TYPE: 'TABLE',
28
- TRANSFORMER_CONFIGURATION: {
29
- INCLUDE_COLUMNS: ['COUNTERPARTY_NAME', 'AMOUNT', 'NAME'], // NAME is orphaned
30
- },
31
- },
32
- ],
33
- DESTINATION_IDS: [],
34
- OUTPUT_DIRECTORY: '/reports',
35
- };
36
- const result = yield transformFromServerPayload(payload, mockGetSchema);
37
- const datasourceKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
38
- const cleanedConfig = result.datasourceConfig[datasourceKey].TRANSFORMER_CONFIGURATION;
39
- assert.equal((_a = cleanedConfig.INCLUDE_COLUMNS) === null || _a === void 0 ? void 0 : _a.length, 2);
40
- assert.ok((_b = cleanedConfig.INCLUDE_COLUMNS) === null || _b === void 0 ? void 0 : _b.includes('COUNTERPARTY_NAME'));
41
- assert.ok((_c = cleanedConfig.INCLUDE_COLUMNS) === null || _c === void 0 ? void 0 : _c.includes('AMOUNT'));
42
- assert.ok(!((_d = cleanedConfig.INCLUDE_COLUMNS) === null || _d === void 0 ? void 0 : _d.includes('NAME')));
43
- }));
44
- TransformFromServerPayload('cleans up orphaned fields from COLUMN_RENAMES', () => __awaiter(void 0, void 0, void 0, function* () {
45
- var _a, _b, _c;
46
- const mockGetSchema = sinon.stub();
47
- const validSchema = {
48
- properties: {
49
- COUNTERPARTY_NAME: { genesisType: 'STRING' },
50
- AMOUNT: { genesisType: 'DOUBLE' },
51
- },
52
- };
53
- mockGetSchema.resolves(validSchema);
54
- const payload = {
55
- ID: 'test-id',
56
- NAME: 'Test Report',
57
- SCHEDULES: [],
58
- DATA_SOURCES: [
59
- {
60
- KEY: 'COUNTERPARTY',
61
- INPUT_TYPE: 'REQ_REP',
62
- NAME: 'COUNTERPARTY',
63
- OUTPUT_TYPE: 'TABLE',
64
- TRANSFORMER_CONFIGURATION: {
65
- COLUMN_RENAMES: {
66
- COUNTERPARTY_NAME: 'Counterparty Name',
67
- AMOUNT: 'Amount',
68
- NAME: 'Old Name', // orphaned
69
- },
70
- },
71
- },
72
- ],
73
- DESTINATION_IDS: [],
74
- OUTPUT_DIRECTORY: '/reports',
75
- };
76
- const result = yield transformFromServerPayload(payload, mockGetSchema);
77
- const datasourceKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
78
- const cleanedConfig = result.datasourceConfig[datasourceKey].TRANSFORMER_CONFIGURATION;
79
- assert.equal(Object.keys(cleanedConfig.COLUMN_RENAMES || {}).length, 2);
80
- assert.equal((_a = cleanedConfig.COLUMN_RENAMES) === null || _a === void 0 ? void 0 : _a['COUNTERPARTY_NAME'], 'Counterparty Name');
81
- assert.equal((_b = cleanedConfig.COLUMN_RENAMES) === null || _b === void 0 ? void 0 : _b['AMOUNT'], 'Amount');
82
- assert.ok(!((_c = cleanedConfig.COLUMN_RENAMES) === null || _c === void 0 ? void 0 : _c['NAME']));
83
- }));
84
- TransformFromServerPayload('cleans up orphaned fields from COLUMN_FORMATS', () => __awaiter(void 0, void 0, void 0, function* () {
85
- var _a, _b, _c;
86
- const mockGetSchema = sinon.stub();
87
- const validSchema = {
88
- properties: {
89
- COUNTERPARTY_NAME: { genesisType: 'STRING' },
90
- AMOUNT: { genesisType: 'DOUBLE' },
91
- },
92
- };
93
- mockGetSchema.resolves(validSchema);
94
- const payload = {
95
- ID: 'test-id',
96
- NAME: 'Test Report',
97
- SCHEDULES: [],
98
- DATA_SOURCES: [
99
- {
100
- KEY: 'COUNTERPARTY',
101
- INPUT_TYPE: 'REQ_REP',
102
- NAME: 'COUNTERPARTY',
103
- OUTPUT_TYPE: 'TABLE',
104
- TRANSFORMER_CONFIGURATION: {
105
- COLUMN_FORMATS: {
106
- COUNTERPARTY_NAME: 'text',
107
- AMOUNT: '#,##0.00',
108
- NAME: 'text', // orphaned
109
- },
110
- },
111
- },
112
- ],
113
- DESTINATION_IDS: [],
114
- OUTPUT_DIRECTORY: '/reports',
115
- };
116
- const result = yield transformFromServerPayload(payload, mockGetSchema);
117
- const datasourceKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
118
- const cleanedConfig = result.datasourceConfig[datasourceKey].TRANSFORMER_CONFIGURATION;
119
- assert.equal(Object.keys(cleanedConfig.COLUMN_FORMATS || {}).length, 2);
120
- assert.equal((_a = cleanedConfig.COLUMN_FORMATS) === null || _a === void 0 ? void 0 : _a['COUNTERPARTY_NAME'], 'text');
121
- assert.equal((_b = cleanedConfig.COLUMN_FORMATS) === null || _b === void 0 ? void 0 : _b['AMOUNT'], '#,##0.00');
122
- assert.ok(!((_c = cleanedConfig.COLUMN_FORMATS) === null || _c === void 0 ? void 0 : _c['NAME']));
123
- }));
124
- TransformFromServerPayload('cleans up orphaned fields from COLUMN_TRANSFORMS', () => __awaiter(void 0, void 0, void 0, function* () {
125
- var _a, _b, _c;
126
- const mockGetSchema = sinon.stub();
127
- const validSchema = {
128
- properties: {
129
- COUNTERPARTY_NAME: { genesisType: 'STRING' },
130
- AMOUNT: { genesisType: 'DOUBLE' },
131
- },
132
- };
133
- mockGetSchema.resolves(validSchema);
134
- const payload = {
135
- ID: 'test-id',
136
- NAME: 'Test Report',
137
- SCHEDULES: [],
138
- DATA_SOURCES: [
139
- {
140
- KEY: 'COUNTERPARTY',
141
- INPUT_TYPE: 'REQ_REP',
142
- NAME: 'COUNTERPARTY',
143
- OUTPUT_TYPE: 'TABLE',
144
- TRANSFORMER_CONFIGURATION: {
145
- COLUMN_TRANSFORMS: {
146
- COUNTERPARTY_NAME: { TYPE: 'BINARY_EXPRESSION', LEFT: {}, OPERATION: 'AND', RIGHT: {} },
147
- AMOUNT: { TYPE: 'METHOD_EXPRESSION', METHOD: 'TRIM', PARAMETERS: [] },
148
- NAME: { TYPE: 'BINARY_EXPRESSION', LEFT: {}, OPERATION: 'AND', RIGHT: {} }, // orphaned
149
- },
150
- },
151
- },
152
- ],
153
- DESTINATION_IDS: [],
154
- OUTPUT_DIRECTORY: '/reports',
155
- };
156
- const result = yield transformFromServerPayload(payload, mockGetSchema);
157
- const datasourceKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
158
- const cleanedConfig = result.datasourceConfig[datasourceKey].TRANSFORMER_CONFIGURATION;
159
- assert.equal(Object.keys(cleanedConfig.COLUMN_TRANSFORMS || {}).length, 2);
160
- assert.ok((_a = cleanedConfig.COLUMN_TRANSFORMS) === null || _a === void 0 ? void 0 : _a['COUNTERPARTY_NAME']);
161
- assert.ok((_b = cleanedConfig.COLUMN_TRANSFORMS) === null || _b === void 0 ? void 0 : _b['AMOUNT']);
162
- assert.ok(!((_c = cleanedConfig.COLUMN_TRANSFORMS) === null || _c === void 0 ? void 0 : _c['NAME']));
163
- }));
164
- TransformFromServerPayload('handles schema fetch failure gracefully', () => __awaiter(void 0, void 0, void 0, function* () {
165
- const mockGetSchema = sinon.stub();
166
- const consoleWarnStub = sinon.stub(console, 'warn');
167
- mockGetSchema.rejects(new Error('Schema fetch failed'));
168
- const originalConfig = {
169
- INCLUDE_COLUMNS: ['NAME', 'AMOUNT'],
170
- COLUMN_RENAMES: { NAME: 'Name' },
171
- };
172
- const payload = {
173
- ID: 'test-id',
174
- NAME: 'Test Report',
175
- SCHEDULES: [],
176
- DATA_SOURCES: [
177
- {
178
- KEY: 'COUNTERPARTY',
179
- INPUT_TYPE: 'REQ_REP',
180
- NAME: 'COUNTERPARTY',
181
- OUTPUT_TYPE: 'TABLE',
182
- TRANSFORMER_CONFIGURATION: originalConfig,
183
- },
184
- ],
185
- DESTINATION_IDS: [],
186
- OUTPUT_DIRECTORY: '/reports',
187
- };
188
- const result = yield transformFromServerPayload(payload, mockGetSchema);
189
- const datasourceKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
190
- const cleanedConfig = result.datasourceConfig[datasourceKey].TRANSFORMER_CONFIGURATION;
191
- // Should keep original config when schema fetch fails
192
- assert.equal(JSON.stringify(cleanedConfig), JSON.stringify(originalConfig));
193
- assert.ok(consoleWarnStub.calledOnce);
194
- assert.ok(consoleWarnStub.calledWithMatch(sinon.match.string, sinon.match.instanceOf(Error)));
195
- consoleWarnStub.restore();
196
- }));
197
- TransformFromServerPayload('handles multiple datasources independently', () => __awaiter(void 0, void 0, void 0, function* () {
198
- var _a, _b, _c, _d;
199
- const mockGetSchema = sinon.stub();
200
- mockGetSchema
201
- .onFirstCall()
202
- .resolves({
203
- properties: {
204
- COUNTERPARTY_NAME: { genesisType: 'STRING' },
205
- },
206
- })
207
- .onSecondCall()
208
- .resolves({
209
- properties: {
210
- TRADE_ID: { genesisType: 'STRING' },
211
- },
212
- });
213
- const payload = {
214
- ID: 'test-id',
215
- NAME: 'Test Report',
216
- SCHEDULES: [],
217
- DATA_SOURCES: [
218
- {
219
- KEY: 'COUNTERPARTY',
220
- INPUT_TYPE: 'REQ_REP',
221
- NAME: 'COUNTERPARTY',
222
- OUTPUT_TYPE: 'TABLE',
223
- TRANSFORMER_CONFIGURATION: {
224
- INCLUDE_COLUMNS: ['COUNTERPARTY_NAME', 'NAME'], // NAME is orphaned
225
- },
226
- },
227
- {
228
- KEY: 'TRADE',
229
- INPUT_TYPE: 'REQ_REP',
230
- NAME: 'TRADE',
231
- OUTPUT_TYPE: 'TABLE',
232
- TRANSFORMER_CONFIGURATION: {
233
- INCLUDE_COLUMNS: ['TRADE_ID', 'OLD_FIELD'], // OLD_FIELD is orphaned
234
- },
235
- },
236
- ],
237
- DESTINATION_IDS: [],
238
- OUTPUT_DIRECTORY: '/reports',
239
- };
240
- const result = yield transformFromServerPayload(payload, mockGetSchema);
241
- const counterpartyKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
242
- const tradeKey = buildDatasourceName('TRADE', 'TRADE', 'REQ_REP');
243
- assert.equal((_a = result.datasourceConfig[counterpartyKey].TRANSFORMER_CONFIGURATION.INCLUDE_COLUMNS) === null || _a === void 0 ? void 0 : _a.length, 1);
244
- assert.ok((_b = result.datasourceConfig[counterpartyKey].TRANSFORMER_CONFIGURATION.INCLUDE_COLUMNS) === null || _b === void 0 ? void 0 : _b.includes('COUNTERPARTY_NAME'));
245
- assert.equal((_c = result.datasourceConfig[tradeKey].TRANSFORMER_CONFIGURATION.INCLUDE_COLUMNS) === null || _c === void 0 ? void 0 : _c.length, 1);
246
- assert.ok((_d = result.datasourceConfig[tradeKey].TRANSFORMER_CONFIGURATION.INCLUDE_COLUMNS) === null || _d === void 0 ? void 0 : _d.includes('TRADE_ID'));
247
- }));
248
- TransformFromServerPayload('handles empty transformer configuration', () => __awaiter(void 0, void 0, void 0, function* () {
249
- const mockGetSchema = sinon.stub();
250
- const validSchema = {
251
- properties: {
252
- COUNTERPARTY_NAME: { genesisType: 'STRING' },
253
- },
254
- };
255
- mockGetSchema.resolves(validSchema);
256
- const payload = {
257
- ID: 'test-id',
258
- NAME: 'Test Report',
259
- SCHEDULES: [],
260
- DATA_SOURCES: [
261
- {
262
- KEY: 'COUNTERPARTY',
263
- INPUT_TYPE: 'REQ_REP',
264
- NAME: 'COUNTERPARTY',
265
- OUTPUT_TYPE: 'TABLE',
266
- TRANSFORMER_CONFIGURATION: {},
267
- },
268
- ],
269
- DESTINATION_IDS: [],
270
- OUTPUT_DIRECTORY: '/reports',
271
- };
272
- const result = yield transformFromServerPayload(payload, mockGetSchema);
273
- const datasourceKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
274
- const cleanedConfig = result.datasourceConfig[datasourceKey].TRANSFORMER_CONFIGURATION;
275
- assert.equal(JSON.stringify(cleanedConfig), JSON.stringify({}));
276
- }));
277
- TransformFromServerPayload('handles missing schema properties', () => __awaiter(void 0, void 0, void 0, function* () {
278
- var _a;
279
- const mockGetSchema = sinon.stub();
280
- const schemaWithoutProperties = {};
281
- mockGetSchema.resolves(schemaWithoutProperties);
282
- const payload = {
283
- ID: 'test-id',
284
- NAME: 'Test Report',
285
- SCHEDULES: [],
286
- DATA_SOURCES: [
287
- {
288
- KEY: 'COUNTERPARTY',
289
- INPUT_TYPE: 'REQ_REP',
290
- NAME: 'COUNTERPARTY',
291
- OUTPUT_TYPE: 'TABLE',
292
- TRANSFORMER_CONFIGURATION: {
293
- INCLUDE_COLUMNS: ['NAME', 'AMOUNT'],
294
- },
295
- },
296
- ],
297
- DESTINATION_IDS: [],
298
- OUTPUT_DIRECTORY: '/reports',
299
- };
300
- const result = yield transformFromServerPayload(payload, mockGetSchema);
301
- const datasourceKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
302
- const cleanedConfig = result.datasourceConfig[datasourceKey].TRANSFORMER_CONFIGURATION;
303
- // All fields should be removed when schema has no properties
304
- assert.equal((_a = cleanedConfig.INCLUDE_COLUMNS) === null || _a === void 0 ? void 0 : _a.length, 0);
305
- }));
306
- TransformFromServerPayload('preserves base config correctly', () => __awaiter(void 0, void 0, void 0, function* () {
307
- var _a, _b;
308
- const mockGetSchema = sinon.stub();
309
- const validSchema = {
310
- properties: {
311
- COUNTERPARTY_NAME: { genesisType: 'STRING' },
312
- },
313
- };
314
- mockGetSchema.resolves(validSchema);
315
- const payload = {
316
- ID: 'test-id',
317
- NAME: 'Test Report',
318
- DESCRIPTION: 'Test Description',
319
- OUTPUT_FORMAT: 'CSV',
320
- FILE_NAME: 'test.csv',
321
- AUTO_DISPATCH: true,
322
- DESTINATION_IDS: ['dest1', 'dest2'],
323
- OUTPUT_DIRECTORY: '/reports',
324
- DOCUMENT_TEMPLATE_ID: 'template-123',
325
- SCHEDULES: [
326
- {
327
- CRON_EXPRESSION: '0 0 0 * * ?',
328
- TIME_ZONE: 'UTC',
329
- },
330
- ],
331
- DATA_SOURCES: [
332
- {
333
- KEY: 'COUNTERPARTY',
334
- INPUT_TYPE: 'REQ_REP',
335
- NAME: 'COUNTERPARTY',
336
- OUTPUT_TYPE: 'TABLE',
337
- TRANSFORMER_CONFIGURATION: {},
338
- },
339
- ],
340
- };
341
- const result = yield transformFromServerPayload(payload, mockGetSchema);
342
- assert.equal(result.baseConfig.ID, 'test-id');
343
- assert.equal(result.baseConfig.NAME, 'Test Report');
344
- assert.equal(result.baseConfig.DESCRIPTION, 'Test Description');
345
- assert.equal(result.baseConfig.OUTPUT_FORMAT, 'CSV');
346
- assert.equal(result.baseConfig.FILE_NAME, 'test.csv');
347
- assert.equal(result.baseConfig.AUTO_DISPATCH, true);
348
- assert.equal(JSON.stringify(result.baseConfig.DESTINATION_IDS), JSON.stringify(['dest1', 'dest2']));
349
- assert.equal(result.baseConfig.OUTPUT_DIRECTORY, '/reports');
350
- assert.equal(result.baseConfig.DOCUMENT_TEMPLATE_ID, 'template-123');
351
- assert.ok(result.baseConfig.SCHEDULE);
352
- assert.equal((_a = result.baseConfig.SCHEDULE) === null || _a === void 0 ? void 0 : _a.CRON_EXPRESSION, '0 0 0 * * ?');
353
- assert.equal((_b = result.baseConfig.SCHEDULE) === null || _b === void 0 ? void 0 : _b.TIME_ZONE, 'UTC');
354
- }));
355
- TransformFromServerPayload('handles all transformer config types together', () => __awaiter(void 0, void 0, void 0, function* () {
356
- var _a, _b, _c, _d, _e, _f;
357
- const mockGetSchema = sinon.stub();
358
- const validSchema = {
359
- properties: {
360
- COUNTERPARTY_NAME: { genesisType: 'STRING' },
361
- AMOUNT: { genesisType: 'DOUBLE' },
362
- },
363
- };
364
- mockGetSchema.resolves(validSchema);
365
- const payload = {
366
- ID: 'test-id',
367
- NAME: 'Test Report',
368
- SCHEDULES: [],
369
- DATA_SOURCES: [
370
- {
371
- KEY: 'COUNTERPARTY',
372
- INPUT_TYPE: 'REQ_REP',
373
- NAME: 'COUNTERPARTY',
374
- OUTPUT_TYPE: 'TABLE',
375
- TRANSFORMER_CONFIGURATION: {
376
- INCLUDE_COLUMNS: ['COUNTERPARTY_NAME', 'AMOUNT', 'NAME'], // NAME orphaned
377
- COLUMN_RENAMES: {
378
- COUNTERPARTY_NAME: 'Counterparty',
379
- NAME: 'Old Name', // orphaned
380
- },
381
- COLUMN_FORMATS: {
382
- AMOUNT: '#,##0.00',
383
- NAME: 'text', // orphaned
384
- },
385
- COLUMN_TRANSFORMS: {
386
- COUNTERPARTY_NAME: { TYPE: 'BINARY_EXPRESSION', LEFT: {}, OPERATION: 'AND', RIGHT: {} },
387
- NAME: { TYPE: 'METHOD_EXPRESSION', METHOD: 'TRIM', PARAMETERS: [] }, // orphaned
388
- },
389
- ROW_FILTERS: {
390
- TYPE: 'PREDICATE_EXPRESSION',
391
- OPERATION: 'AND',
392
- EXPRESSIONS: [],
393
- },
394
- },
395
- },
396
- ],
397
- DESTINATION_IDS: [],
398
- OUTPUT_DIRECTORY: '/reports',
399
- };
400
- const result = yield transformFromServerPayload(payload, mockGetSchema);
401
- const datasourceKey = buildDatasourceName('COUNTERPARTY', 'COUNTERPARTY', 'REQ_REP');
402
- const cleanedConfig = result.datasourceConfig[datasourceKey].TRANSFORMER_CONFIGURATION;
403
- // INCLUDE_COLUMNS should only have valid fields
404
- assert.equal((_a = cleanedConfig.INCLUDE_COLUMNS) === null || _a === void 0 ? void 0 : _a.length, 2);
405
- assert.ok((_b = cleanedConfig.INCLUDE_COLUMNS) === null || _b === void 0 ? void 0 : _b.includes('COUNTERPARTY_NAME'));
406
- assert.ok((_c = cleanedConfig.INCLUDE_COLUMNS) === null || _c === void 0 ? void 0 : _c.includes('AMOUNT'));
407
- // COLUMN_RENAMES should only have valid fields
408
- assert.equal(Object.keys(cleanedConfig.COLUMN_RENAMES || {}).length, 1);
409
- assert.equal((_d = cleanedConfig.COLUMN_RENAMES) === null || _d === void 0 ? void 0 : _d['COUNTERPARTY_NAME'], 'Counterparty');
410
- // COLUMN_FORMATS should only have valid fields
411
- assert.equal(Object.keys(cleanedConfig.COLUMN_FORMATS || {}).length, 1);
412
- assert.equal((_e = cleanedConfig.COLUMN_FORMATS) === null || _e === void 0 ? void 0 : _e['AMOUNT'], '#,##0.00');
413
- // COLUMN_TRANSFORMS should only have valid fields
414
- assert.equal(Object.keys(cleanedConfig.COLUMN_TRANSFORMS || {}).length, 1);
415
- assert.ok((_f = cleanedConfig.COLUMN_TRANSFORMS) === null || _f === void 0 ? void 0 : _f['COUNTERPARTY_NAME']);
416
- // ROW_FILTERS should be preserved
417
- assert.ok(cleanedConfig.ROW_FILTERS);
418
- }));
419
- TransformFromServerPayload.run();
420
- const TransformToServerPayload = suite('transformToServerPayload');
421
- TransformToServerPayload('omits grouping fields when strategy is NONE', () => {
422
- const state = {
423
- baseConfig: {
424
- DESTINATION_IDS: [],
425
- OUTPUT_DIRECTORY: '/reports',
426
- },
427
- datasourceConfig: {
428
- REQ_REP_COUNTERPARTY_COUNTERPARTY: {
429
- KEY: 'COUNTERPARTY',
430
- INPUT_TYPE: 'REQ_REP',
431
- NAME: 'COUNTERPARTY',
432
- OUTPUT_TYPE: 'TABLE',
433
- TRANSFORMER_CONFIGURATION: {},
434
- GROUPING_STRATEGY: 'NONE',
435
- GROUP_KEY: null,
436
- },
437
- },
438
- };
439
- const result = transformToServerPayload(state);
440
- const ds = result.DATA_SOURCES[0];
441
- assert.equal(ds.KEY, 'COUNTERPARTY');
442
- assert.ok(!('GROUPING_STRATEGY' in ds));
443
- assert.ok(!('GROUP_KEY' in ds));
444
- });
445
- TransformToServerPayload('includes grouping fields when strategy is not NONE', () => {
446
- const state = {
447
- baseConfig: {
448
- DESTINATION_IDS: [],
449
- OUTPUT_DIRECTORY: '/reports',
450
- },
451
- datasourceConfig: {
452
- REQ_REP_COUNTERPARTY_COUNTERPARTY: {
453
- KEY: 'COUNTERPARTY',
454
- INPUT_TYPE: 'REQ_REP',
455
- NAME: 'COUNTERPARTY',
456
- OUTPUT_TYPE: 'TABLE',
457
- TRANSFORMER_CONFIGURATION: {},
458
- GROUPING_STRATEGY: 'MULTI_SHEET',
459
- GROUP_KEY: 'some_key',
460
- },
461
- },
462
- };
463
- const result = transformToServerPayload(state);
464
- const ds = result.DATA_SOURCES[0];
465
- assert.equal(ds.KEY, 'COUNTERPARTY');
466
- assert.equal(ds.GROUPING_STRATEGY, 'MULTI_SHEET');
467
- assert.equal(ds.GROUP_KEY, 'some_key');
468
- });
469
- TransformToServerPayload.run();
@@ -1,139 +0,0 @@
1
- import { assert, suite } from '@genesislcap/foundation-testing';
2
- import { validateDatasourceConfig } from './validators';
3
- const ValidateDatasourceConfig = suite('validateDatasourceConfig');
4
- ValidateDatasourceConfig('returns error when no datasources configured', () => {
5
- const config = {
6
- baseConfig: {
7
- DESTINATION_IDS: [],
8
- OUTPUT_DIRECTORY: 'test',
9
- },
10
- datasourceConfig: {},
11
- };
12
- const result = validateDatasourceConfig(config);
13
- assert.equal(result.k, 'err');
14
- if (result.k === 'err') {
15
- assert.ok(result.info.includes('At least one datasource needs to be configured'));
16
- }
17
- });
18
- ValidateDatasourceConfig('returns ok when single datasource configured', () => {
19
- const config = {
20
- baseConfig: {
21
- DESTINATION_IDS: [],
22
- OUTPUT_DIRECTORY: 'test',
23
- OUTPUT_FORMAT: 'CSV',
24
- },
25
- datasourceConfig: {
26
- REQ_REP_testSource_testAlias: {
27
- KEY: 'testAlias',
28
- NAME: 'testSource',
29
- INPUT_TYPE: 'REQ_REP',
30
- OUTPUT_TYPE: 'TABLE',
31
- TRANSFORMER_CONFIGURATION: {},
32
- GROUPING_STRATEGY: 'NONE',
33
- GROUP_KEY: null,
34
- },
35
- },
36
- };
37
- const result = validateDatasourceConfig(config);
38
- assert.equal(result.k, 'ok');
39
- });
40
- ValidateDatasourceConfig('returns ok when multiple datasources and PDF format', () => {
41
- const config = {
42
- baseConfig: {
43
- DESTINATION_IDS: [],
44
- OUTPUT_DIRECTORY: 'test',
45
- OUTPUT_FORMAT: 'PDF',
46
- DOCUMENT_TEMPLATE_ID: 'template1',
47
- },
48
- datasourceConfig: {
49
- REQ_REP_source1_alias1: {
50
- KEY: 'alias1',
51
- NAME: 'source1',
52
- INPUT_TYPE: 'REQ_REP',
53
- OUTPUT_TYPE: 'TABLE',
54
- TRANSFORMER_CONFIGURATION: {},
55
- GROUPING_STRATEGY: 'NONE',
56
- GROUP_KEY: null,
57
- },
58
- REQ_REP_source2_alias2: {
59
- KEY: 'alias2',
60
- NAME: 'source2',
61
- INPUT_TYPE: 'REQ_REP',
62
- OUTPUT_TYPE: 'TABLE',
63
- TRANSFORMER_CONFIGURATION: {},
64
- GROUPING_STRATEGY: 'NONE',
65
- GROUP_KEY: null,
66
- },
67
- },
68
- };
69
- const result = validateDatasourceConfig(config);
70
- assert.equal(result.k, 'ok');
71
- });
72
- ValidateDatasourceConfig('returns ok when multiple datasources and CSV format with template', () => {
73
- const config = {
74
- baseConfig: {
75
- DESTINATION_IDS: [],
76
- OUTPUT_DIRECTORY: 'test',
77
- OUTPUT_FORMAT: 'CSV',
78
- DOCUMENT_TEMPLATE_ID: 'template1',
79
- },
80
- datasourceConfig: {
81
- REQ_REP_source1_alias1: {
82
- KEY: 'alias1',
83
- NAME: 'source1',
84
- INPUT_TYPE: 'REQ_REP',
85
- OUTPUT_TYPE: 'TABLE',
86
- TRANSFORMER_CONFIGURATION: {},
87
- GROUPING_STRATEGY: 'NONE',
88
- GROUP_KEY: null,
89
- },
90
- REQ_REP_source2_alias2: {
91
- KEY: 'alias2',
92
- NAME: 'source2',
93
- INPUT_TYPE: 'REQ_REP',
94
- OUTPUT_TYPE: 'TABLE',
95
- TRANSFORMER_CONFIGURATION: {},
96
- GROUPING_STRATEGY: 'NONE',
97
- GROUP_KEY: null,
98
- },
99
- },
100
- };
101
- const result = validateDatasourceConfig(config);
102
- assert.equal(result.k, 'ok');
103
- });
104
- ValidateDatasourceConfig('returns error when multiple datasources and CSV format without template', () => {
105
- const config = {
106
- baseConfig: {
107
- DESTINATION_IDS: [],
108
- OUTPUT_DIRECTORY: 'test',
109
- OUTPUT_FORMAT: 'CSV',
110
- DOCUMENT_TEMPLATE_ID: undefined,
111
- },
112
- datasourceConfig: {
113
- REQ_REP_source1_alias1: {
114
- KEY: 'alias1',
115
- NAME: 'source1',
116
- INPUT_TYPE: 'REQ_REP',
117
- OUTPUT_TYPE: 'TABLE',
118
- TRANSFORMER_CONFIGURATION: {},
119
- GROUPING_STRATEGY: 'NONE',
120
- GROUP_KEY: null,
121
- },
122
- REQ_REP_source2_alias2: {
123
- KEY: 'alias2',
124
- NAME: 'source2',
125
- INPUT_TYPE: 'REQ_REP',
126
- OUTPUT_TYPE: 'TABLE',
127
- TRANSFORMER_CONFIGURATION: {},
128
- GROUPING_STRATEGY: 'NONE',
129
- GROUP_KEY: null,
130
- },
131
- },
132
- };
133
- const result = validateDatasourceConfig(config);
134
- assert.equal(result.k, 'err');
135
- if (result.k === 'err') {
136
- assert.ok(result.info.some((err) => err.includes('You cannot select more than one datasource')));
137
- }
138
- });
139
- ValidateDatasourceConfig.run();
@@ -1,5 +0,0 @@
1
- import { assert, test } from '@genesislcap/foundation-testing';
2
- test('baseline', () => {
3
- assert.is(true, true, 'Something is very wrong!');
4
- });
5
- test.run();
@@ -1,46 +0,0 @@
1
- import { suite, assert } from '@genesislcap/foundation-testing';
2
- import { filterObjectArray } from './filterObjectArray';
3
- const accesor = 'id';
4
- const baseArray = [{ id: '1' }, { id: '2' }, { id: '3' }];
5
- const FilterObjectArray = suite('filterObjectArray()');
6
- FilterObjectArray('should return an array of the desired objects', () => {
7
- const removalArray = [{ id: '2' }];
8
- const result = filterObjectArray(accesor, baseArray, removalArray);
9
- assert.is(result.length, 2);
10
- assert.is(result.findIndex((item) => item.id === '2'), -1);
11
- assert.is.not(result.findIndex((item) => item.id === '1'), -1);
12
- assert.is.not(result.findIndex((item) => item.id === '3'), -1);
13
- });
14
- FilterObjectArray('should return array with same entries as baseArray if removalArray is empty', () => {
15
- const removalArray = [];
16
- const result = filterObjectArray(accesor, baseArray, removalArray);
17
- assert.is(result.length, 3);
18
- assert.is.not(result.findIndex((item) => item.id === '1'), -1);
19
- assert.is.not(result.findIndex((item) => item.id === '2'), -1);
20
- assert.is.not(result.findIndex((item) => item.id === '3'), -1);
21
- });
22
- FilterObjectArray('should return same entries as baseArray if removalArray is empty', () => {
23
- const removalArray = [];
24
- const result = filterObjectArray(accesor, baseArray, removalArray);
25
- assert.is(result.length, 3);
26
- assert.is.not(result.findIndex((item) => item.id === '1'), -1);
27
- assert.is.not(result.findIndex((item) => item.id === '2'), -1);
28
- assert.is.not(result.findIndex((item) => item.id === '3'), -1);
29
- });
30
- FilterObjectArray('should return same entries as baseArray if removalArray object cannot be found', () => {
31
- const removalArray = [{ id: 'this does not exist' }];
32
- const result = filterObjectArray(accesor, baseArray, removalArray);
33
- assert.is(result.length, 3);
34
- assert.is.not(result.findIndex((item) => item.id === '1'), -1);
35
- assert.is.not(result.findIndex((item) => item.id === '2'), -1);
36
- assert.is.not(result.findIndex((item) => item.id === '3'), -1);
37
- });
38
- FilterObjectArray('should return original array if no accesor provided', () => {
39
- const removalArray = [{ id: '2' }];
40
- const result = filterObjectArray(undefined, baseArray, removalArray);
41
- assert.is(result.length, 3);
42
- assert.is.not(result.findIndex((item) => item.id === '1'), -1);
43
- assert.is.not(result.findIndex((item) => item.id === '2'), -1);
44
- assert.is.not(result.findIndex((item) => item.id === '3'), -1);
45
- });
46
- FilterObjectArray.run();