@qrvey/filters 0.0.45 → 0.1.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 (279) hide show
  1. package/README.md +63 -1
  2. package/dist/cjs/classes/FilterAdapter.js +1 -80
  3. package/dist/cjs/classes/FilterBuilder.js +32 -251
  4. package/dist/cjs/classes/FilterManager.js +7 -64
  5. package/dist/cjs/classes/FilterResources.js +3 -116
  6. package/dist/cjs/classes/FilterSearcher.js +0 -77
  7. package/dist/cjs/classes/FilterValidation.js +0 -93
  8. package/dist/cjs/classes/FilterValues.js +0 -24
  9. package/dist/cjs/classes/index.js +8 -21
  10. package/dist/cjs/helpers/filter-adapt.helpers.js +3 -46
  11. package/dist/cjs/helpers/filter-adapt.legacy.helpers.js +6 -53
  12. package/dist/cjs/helpers/filter-adapt.logic.helpers.js +7 -128
  13. package/dist/cjs/helpers/filter-builder.helpers.js +1 -8
  14. package/dist/cjs/helpers/filter-settings.helpers.js +6 -41
  15. package/dist/cjs/helpers/filter-validators.helpers.js +15 -9
  16. package/dist/cjs/helpers/filter-verbose.helpers.js +211 -0
  17. package/dist/cjs/helpers/getAggregateFilters.js +11 -0
  18. package/dist/cjs/helpers/getFilterId.js +1 -17
  19. package/dist/cjs/helpers/getFilterType.js +1 -8
  20. package/dist/cjs/helpers/index.js +12 -20
  21. package/dist/cjs/helpers/isDateDistinctGrouping.js +15 -0
  22. package/dist/cjs/helpers/isRankingFilter.js +10 -0
  23. package/dist/cjs/helpers/resolveFilterConditions.js +2 -10
  24. package/dist/cjs/helpers/utils.helpers.js +2 -19
  25. package/dist/cjs/index.js +5 -18
  26. package/dist/cjs/models/index.js +4 -17
  27. package/dist/cjs/resources/filter-grouping.resources.js +0 -18
  28. package/dist/cjs/resources/filter-logic.resources.js +0 -3
  29. package/dist/cjs/resources/filter-scopes.resources.js +10 -27
  30. package/dist/cjs/resources/filter-validators.resources.js +0 -3
  31. package/dist/cjs/resources/filter-verbose.resources.js +13 -0
  32. package/dist/cjs/resources/filters.resources.js +0 -12
  33. package/dist/cjs/resources/index.js +12 -24
  34. package/dist/classes/FilterAdapter.d.ts +0 -80
  35. package/dist/classes/FilterAdapter.js +1 -80
  36. package/dist/classes/FilterBuilder.d.ts +2 -177
  37. package/dist/classes/FilterBuilder.js +32 -251
  38. package/dist/classes/FilterManager.d.ts +7 -62
  39. package/dist/classes/FilterManager.js +7 -64
  40. package/dist/classes/FilterResources.d.ts +1 -115
  41. package/dist/classes/FilterResources.js +3 -116
  42. package/dist/classes/FilterSearcher.d.ts +2 -77
  43. package/dist/classes/FilterSearcher.js +0 -77
  44. package/dist/classes/FilterValidation.d.ts +1 -47
  45. package/dist/classes/FilterValidation.js +0 -93
  46. package/dist/classes/FilterValues.d.ts +0 -25
  47. package/dist/classes/FilterValues.js +0 -24
  48. package/dist/classes/index.d.ts +0 -1
  49. package/dist/helpers/filter-adapt.helpers.d.ts +0 -15
  50. package/dist/helpers/filter-adapt.helpers.js +1 -43
  51. package/dist/helpers/filter-adapt.legacy.helpers.d.ts +0 -20
  52. package/dist/helpers/filter-adapt.legacy.helpers.js +3 -49
  53. package/dist/helpers/filter-adapt.logic.helpers.d.ts +0 -22
  54. package/dist/helpers/filter-adapt.logic.helpers.js +3 -123
  55. package/dist/helpers/filter-builder.helpers.d.ts +0 -7
  56. package/dist/helpers/filter-builder.helpers.js +0 -6
  57. package/dist/helpers/filter-settings.helpers.d.ts +0 -35
  58. package/dist/helpers/filter-settings.helpers.js +0 -34
  59. package/dist/helpers/filter-validators.helpers.d.ts +3 -6
  60. package/dist/helpers/filter-validators.helpers.js +11 -7
  61. package/dist/helpers/filter-verbose.helpers.d.ts +6 -0
  62. package/dist/helpers/filter-verbose.helpers.js +206 -0
  63. package/dist/helpers/getAggregateFilters.d.ts +3 -0
  64. package/dist/helpers/getAggregateFilters.js +7 -0
  65. package/dist/helpers/getFilterId.d.ts +0 -16
  66. package/dist/helpers/getFilterId.js +0 -15
  67. package/dist/helpers/getFilterType.d.ts +0 -7
  68. package/dist/helpers/getFilterType.js +0 -6
  69. package/dist/helpers/index.d.ts +5 -1
  70. package/dist/helpers/index.js +5 -0
  71. package/dist/helpers/isDateDistinctGrouping.d.ts +2 -0
  72. package/dist/helpers/isDateDistinctGrouping.js +12 -0
  73. package/dist/helpers/isRankingFilter.d.ts +2 -0
  74. package/dist/helpers/isRankingFilter.js +7 -0
  75. package/dist/helpers/resolveFilterConditions.d.ts +0 -8
  76. package/dist/helpers/resolveFilterConditions.js +1 -8
  77. package/dist/helpers/utils.helpers.d.ts +0 -17
  78. package/dist/helpers/utils.helpers.js +0 -16
  79. package/dist/index.d.ts +0 -1
  80. package/dist/models/filter-builder.models.d.ts +0 -156
  81. package/dist/models/filter-resources.models.d.ts +0 -53
  82. package/dist/models/filter-searcher.models.d.ts +5 -34
  83. package/dist/models/filter-validation.models.d.ts +0 -40
  84. package/dist/models/index.d.ts +0 -1
  85. package/dist/resources/filter-functions.resources.d.ts +0 -49
  86. package/dist/resources/filter-grouping.resources.d.ts +0 -7
  87. package/dist/resources/filter-grouping.resources.js +0 -18
  88. package/dist/resources/filter-logic.resources.d.ts +0 -79
  89. package/dist/resources/filter-logic.resources.js +0 -3
  90. package/dist/resources/filter-operators.resources.d.ts +0 -1
  91. package/dist/resources/filter-panel.interfaces.d.ts +0 -49
  92. package/dist/resources/filter-scopes.resources.d.ts +2 -25
  93. package/dist/resources/filter-scopes.resources.js +10 -27
  94. package/dist/resources/filter-validation.resources.d.ts +0 -1
  95. package/dist/resources/filter-validators.resources.d.ts +0 -1
  96. package/dist/resources/filter-validators.resources.js +0 -3
  97. package/dist/resources/filter-values.resources.d.ts +0 -13
  98. package/dist/resources/filter-verbose.resources.d.ts +23 -0
  99. package/dist/resources/filter-verbose.resources.js +10 -0
  100. package/dist/resources/filter-visual.resources.d.ts +0 -50
  101. package/dist/resources/filters.resources.d.ts +1 -102
  102. package/dist/resources/filters.resources.js +0 -12
  103. package/dist/resources/index.d.ts +1 -1
  104. package/dist/resources/index.js +1 -0
  105. package/package.json +59 -44
  106. package/.eslintignore +0 -6
  107. package/.eslintrc.json +0 -122
  108. package/.husky/pre-commit +0 -4
  109. package/.lintstagedrc +0 -7
  110. package/.prettierignore +0 -6
  111. package/.prettierrc.json +0 -1
  112. package/CHANGELOG.md +0 -274
  113. package/CODE_OF_CONDUCT.md +0 -132
  114. package/bitbucket-pipelines.yml +0 -92
  115. package/dist/cjs/classes/FilterAdapter.d.ts +0 -107
  116. package/dist/cjs/classes/FilterAdapter.d.ts.map +0 -1
  117. package/dist/cjs/classes/FilterBuilder.d.ts +0 -206
  118. package/dist/cjs/classes/FilterBuilder.d.ts.map +0 -1
  119. package/dist/cjs/classes/FilterManager.d.ts +0 -84
  120. package/dist/cjs/classes/FilterManager.d.ts.map +0 -1
  121. package/dist/cjs/classes/FilterResources.d.ts +0 -139
  122. package/dist/cjs/classes/FilterResources.d.ts.map +0 -1
  123. package/dist/cjs/classes/FilterSearcher.d.ts +0 -90
  124. package/dist/cjs/classes/FilterSearcher.d.ts.map +0 -1
  125. package/dist/cjs/classes/FilterValidation.d.ts +0 -58
  126. package/dist/cjs/classes/FilterValidation.d.ts.map +0 -1
  127. package/dist/cjs/classes/FilterValues.d.ts +0 -33
  128. package/dist/cjs/classes/FilterValues.d.ts.map +0 -1
  129. package/dist/cjs/classes/index.d.ts +0 -8
  130. package/dist/cjs/classes/index.d.ts.map +0 -1
  131. package/dist/cjs/helpers/filter-adapt.helpers.d.ts +0 -21
  132. package/dist/cjs/helpers/filter-adapt.helpers.d.ts.map +0 -1
  133. package/dist/cjs/helpers/filter-adapt.legacy.helpers.d.ts +0 -26
  134. package/dist/cjs/helpers/filter-adapt.legacy.helpers.d.ts.map +0 -1
  135. package/dist/cjs/helpers/filter-adapt.logic.helpers.d.ts +0 -29
  136. package/dist/cjs/helpers/filter-adapt.logic.helpers.d.ts.map +0 -1
  137. package/dist/cjs/helpers/filter-builder.helpers.d.ts +0 -11
  138. package/dist/cjs/helpers/filter-builder.helpers.d.ts.map +0 -1
  139. package/dist/cjs/helpers/filter-settings.helpers.d.ts +0 -42
  140. package/dist/cjs/helpers/filter-settings.helpers.d.ts.map +0 -1
  141. package/dist/cjs/helpers/filter-validators.helpers.d.ts +0 -8
  142. package/dist/cjs/helpers/filter-validators.helpers.d.ts.map +0 -1
  143. package/dist/cjs/helpers/getFilterId.d.ts +0 -18
  144. package/dist/cjs/helpers/getFilterId.d.ts.map +0 -1
  145. package/dist/cjs/helpers/getFilterType.d.ts +0 -11
  146. package/dist/cjs/helpers/getFilterType.d.ts.map +0 -1
  147. package/dist/cjs/helpers/index.d.ts +0 -7
  148. package/dist/cjs/helpers/index.d.ts.map +0 -1
  149. package/dist/cjs/helpers/resolveFilterConditions.d.ts +0 -11
  150. package/dist/cjs/helpers/resolveFilterConditions.d.ts.map +0 -1
  151. package/dist/cjs/helpers/utils.helpers.d.ts +0 -26
  152. package/dist/cjs/helpers/utils.helpers.d.ts.map +0 -1
  153. package/dist/cjs/index.d.ts +0 -5
  154. package/dist/cjs/index.d.ts.map +0 -1
  155. package/dist/cjs/models/filter-builder.models.d.ts +0 -203
  156. package/dist/cjs/models/filter-builder.models.d.ts.map +0 -1
  157. package/dist/cjs/models/filter-resources.models.d.ts +0 -71
  158. package/dist/cjs/models/filter-resources.models.d.ts.map +0 -1
  159. package/dist/cjs/models/filter-searcher.models.d.ts +0 -42
  160. package/dist/cjs/models/filter-searcher.models.d.ts.map +0 -1
  161. package/dist/cjs/models/filter-validation.models.d.ts +0 -59
  162. package/dist/cjs/models/filter-validation.models.d.ts.map +0 -1
  163. package/dist/cjs/models/index.d.ts +0 -4
  164. package/dist/cjs/models/index.d.ts.map +0 -1
  165. package/dist/cjs/resources/filter-functions.resources.d.ts +0 -94
  166. package/dist/cjs/resources/filter-functions.resources.d.ts.map +0 -1
  167. package/dist/cjs/resources/filter-grouping.resources.d.ts +0 -103
  168. package/dist/cjs/resources/filter-grouping.resources.d.ts.map +0 -1
  169. package/dist/cjs/resources/filter-logic.resources.d.ts +0 -135
  170. package/dist/cjs/resources/filter-logic.resources.d.ts.map +0 -1
  171. package/dist/cjs/resources/filter-operators.resources.d.ts +0 -16
  172. package/dist/cjs/resources/filter-operators.resources.d.ts.map +0 -1
  173. package/dist/cjs/resources/filter-panel.interfaces.d.ts +0 -80
  174. package/dist/cjs/resources/filter-panel.interfaces.d.ts.map +0 -1
  175. package/dist/cjs/resources/filter-scopes.resources.d.ts +0 -62
  176. package/dist/cjs/resources/filter-scopes.resources.d.ts.map +0 -1
  177. package/dist/cjs/resources/filter-validation.resources.d.ts +0 -20
  178. package/dist/cjs/resources/filter-validation.resources.d.ts.map +0 -1
  179. package/dist/cjs/resources/filter-validators.resources.d.ts +0 -80
  180. package/dist/cjs/resources/filter-validators.resources.d.ts.map +0 -1
  181. package/dist/cjs/resources/filter-values.resources.d.ts +0 -40
  182. package/dist/cjs/resources/filter-values.resources.d.ts.map +0 -1
  183. package/dist/cjs/resources/filter-visual.resources.d.ts +0 -77
  184. package/dist/cjs/resources/filter-visual.resources.d.ts.map +0 -1
  185. package/dist/cjs/resources/filters.resources.d.ts +0 -168
  186. package/dist/cjs/resources/filters.resources.d.ts.map +0 -1
  187. package/dist/cjs/resources/index.d.ts +0 -11
  188. package/dist/cjs/resources/index.d.ts.map +0 -1
  189. package/dist/classes/FilterAdapter.d.ts.map +0 -1
  190. package/dist/classes/FilterBuilder.d.ts.map +0 -1
  191. package/dist/classes/FilterManager.d.ts.map +0 -1
  192. package/dist/classes/FilterResources.d.ts.map +0 -1
  193. package/dist/classes/FilterSearcher.d.ts.map +0 -1
  194. package/dist/classes/FilterValidation.d.ts.map +0 -1
  195. package/dist/classes/FilterValues.d.ts.map +0 -1
  196. package/dist/classes/index.d.ts.map +0 -1
  197. package/dist/helpers/filter-adapt.helpers.d.ts.map +0 -1
  198. package/dist/helpers/filter-adapt.legacy.helpers.d.ts.map +0 -1
  199. package/dist/helpers/filter-adapt.logic.helpers.d.ts.map +0 -1
  200. package/dist/helpers/filter-builder.helpers.d.ts.map +0 -1
  201. package/dist/helpers/filter-settings.helpers.d.ts.map +0 -1
  202. package/dist/helpers/filter-validators.helpers.d.ts.map +0 -1
  203. package/dist/helpers/getFilterId.d.ts.map +0 -1
  204. package/dist/helpers/getFilterType.d.ts.map +0 -1
  205. package/dist/helpers/index.d.ts.map +0 -1
  206. package/dist/helpers/resolveFilterConditions.d.ts.map +0 -1
  207. package/dist/helpers/utils.helpers.d.ts.map +0 -1
  208. package/dist/index.d.ts.map +0 -1
  209. package/dist/models/filter-builder.models.d.ts.map +0 -1
  210. package/dist/models/filter-resources.models.d.ts.map +0 -1
  211. package/dist/models/filter-searcher.models.d.ts.map +0 -1
  212. package/dist/models/filter-validation.models.d.ts.map +0 -1
  213. package/dist/models/index.d.ts.map +0 -1
  214. package/dist/resources/filter-functions.resources.d.ts.map +0 -1
  215. package/dist/resources/filter-grouping.resources.d.ts.map +0 -1
  216. package/dist/resources/filter-logic.resources.d.ts.map +0 -1
  217. package/dist/resources/filter-operators.resources.d.ts.map +0 -1
  218. package/dist/resources/filter-panel.interfaces.d.ts.map +0 -1
  219. package/dist/resources/filter-scopes.resources.d.ts.map +0 -1
  220. package/dist/resources/filter-validation.resources.d.ts.map +0 -1
  221. package/dist/resources/filter-validators.resources.d.ts.map +0 -1
  222. package/dist/resources/filter-values.resources.d.ts.map +0 -1
  223. package/dist/resources/filter-visual.resources.d.ts.map +0 -1
  224. package/dist/resources/filters.resources.d.ts.map +0 -1
  225. package/dist/resources/index.d.ts.map +0 -1
  226. package/jest.config.js +0 -10
  227. package/jsdoc.config.json +0 -14
  228. package/scripts/clean-build/index.js +0 -62
  229. package/sonar-project.properties +0 -2
  230. package/src/classes/FilterAdapter.ts +0 -208
  231. package/src/classes/FilterBuilder.ts +0 -822
  232. package/src/classes/FilterManager.ts +0 -126
  233. package/src/classes/FilterResources.ts +0 -411
  234. package/src/classes/FilterSearcher.ts +0 -243
  235. package/src/classes/FilterValidation.ts +0 -221
  236. package/src/classes/FilterValues.ts +0 -89
  237. package/src/classes/index.ts +0 -7
  238. package/src/helpers/filter-adapt.helpers.ts +0 -204
  239. package/src/helpers/filter-adapt.legacy.helpers.ts +0 -298
  240. package/src/helpers/filter-adapt.logic.helpers.ts +0 -631
  241. package/src/helpers/filter-builder.helpers.ts +0 -28
  242. package/src/helpers/filter-settings.helpers.ts +0 -133
  243. package/src/helpers/filter-validators.helpers.ts +0 -15
  244. package/src/helpers/getFilterId.ts +0 -35
  245. package/src/helpers/getFilterType.ts +0 -23
  246. package/src/helpers/index.ts +0 -6
  247. package/src/helpers/resolveFilterConditions.ts +0 -29
  248. package/src/helpers/utils.helpers.ts +0 -37
  249. package/src/index.ts +0 -4
  250. package/src/models/filter-builder.models.ts +0 -256
  251. package/src/models/filter-resources.models.ts +0 -89
  252. package/src/models/filter-searcher.models.ts +0 -61
  253. package/src/models/filter-validation.models.ts +0 -71
  254. package/src/models/index.ts +0 -3
  255. package/src/resources/filter-functions.resources.ts +0 -132
  256. package/src/resources/filter-grouping.resources.ts +0 -531
  257. package/src/resources/filter-logic.resources.ts +0 -148
  258. package/src/resources/filter-operators.resources.ts +0 -40
  259. package/src/resources/filter-panel.interfaces.ts +0 -86
  260. package/src/resources/filter-scopes.resources.ts +0 -152
  261. package/src/resources/filter-validation.resources.ts +0 -90
  262. package/src/resources/filter-validators.resources.ts +0 -411
  263. package/src/resources/filter-values.resources.ts +0 -57
  264. package/src/resources/filter-visual.resources.ts +0 -86
  265. package/src/resources/filters.resources.ts +0 -232
  266. package/src/resources/index.ts +0 -10
  267. package/tests/classes/FilterAdapter.test.ts +0 -124
  268. package/tests/classes/FilterBuilder.test.ts +0 -903
  269. package/tests/classes/FilterResources.test.ts +0 -267
  270. package/tests/classes/FilterSearcher.test.ts +0 -188
  271. package/tests/classes/FilterValidation.test.ts +0 -54
  272. package/tests/helpers/getFilterId.test.ts +0 -121
  273. package/tests/mock/datasets.mock.ts +0 -61
  274. package/tests/mock/filters-adapter.mock.ts +0 -646
  275. package/tests/mock/filters-interactive-table.mock.ts +0 -59
  276. package/tests/mock/filters.mock.ts +0 -277
  277. package/tsconfig.doc.json +0 -4
  278. package/tsconfig.eslint.json +0 -4
  279. package/tsconfig.json +0 -113
@@ -1,903 +0,0 @@
1
- import { FilterBuilder } from "../../src/classes/FilterBuilder";
2
- import { FILTER_GROUPING } from "../../src/resources/filter-grouping.resources";
3
- import { FILTER_OPERATOR } from "../../src/resources/filter-operators.resources";
4
- import { FILTER_SCOPE } from "../../src/resources/filter-scopes.resources";
5
- import { FILTER_VALIDATOR } from "../../src/resources/filter-validators.resources";
6
- import {
7
- IFilterValue,
8
- IFilterValueRange,
9
- IFilterValueRegular,
10
- } from "../../src/resources/filter-values.resources";
11
- import { DEFAULT_FILTER, IFilter } from "../../src/resources/filters.resources";
12
- import {
13
- __mockFilter1,
14
- __mockFilter2,
15
- __mockFilter3,
16
- __mockFilter4,
17
- __mockFilter5,
18
- __mockFilter6,
19
- __mockFilters1,
20
- __mockFilters2,
21
- } from "../mock/filters.mock";
22
-
23
- describe("Testing wrong arguments", () => {
24
- test("Undefined argument", () => {
25
- const builder = new FilterBuilder(undefined);
26
- expect(builder.getFilters()).toEqual([]);
27
- });
28
-
29
- test("Null argument", () => {
30
- // @ts-expect-error: Expected wrong params
31
- const builder = new FilterBuilder(null);
32
- expect(builder.getFilters()).toEqual([]);
33
- });
34
-
35
- test("Boolean argument", () => {
36
- // @ts-expect-error: Expected wrong params
37
- const builder = new FilterBuilder(false);
38
- expect(builder.getFilters()).toEqual([]);
39
- });
40
-
41
- test("Numeric argument", () => {
42
- // @ts-expect-error: Expected wrong params
43
- const builder = new FilterBuilder(0);
44
- expect(builder.getFilters()).toEqual([]);
45
- });
46
-
47
- test("String argument", () => {
48
- // @ts-expect-error: Expected wrong params
49
- const builder = new FilterBuilder("Sales");
50
- expect(builder.getFilters()).toEqual([]);
51
- });
52
-
53
- test("Function-like argument", () => {
54
- // @ts-expect-error: Expected wrong params
55
- const builder = new FilterBuilder(() => "Hola");
56
- expect(builder.getFilters()).toEqual([]);
57
- });
58
- });
59
-
60
- describe("Testing Adding Filters - Empty Filters", () => {
61
- let builder: FilterBuilder;
62
- beforeEach(() => {
63
- builder = new FilterBuilder([]);
64
- });
65
-
66
- test("Adding single", () => {
67
- const resulting = builder.addSingle(__mockFilter1);
68
- const mockFilter1 = { ...__mockFilter1, id: "global|D123|C123|equals" };
69
-
70
- expect(resulting).toEqual({
71
- resulting: [mockFilter1],
72
- affected: mockFilter1,
73
- original: __mockFilter1,
74
- });
75
- expect(builder.getFilters()).toEqual([mockFilter1]);
76
- });
77
-
78
- test("Adding Multiple", () => {
79
- const resulting = builder.addMultiple([__mockFilter1, __mockFilter2]);
80
- const mockFilter1 = { ...__mockFilter1, id: "global|D123|C123|equals" };
81
- const mockFilter2 = { ...__mockFilter2, id: "global|D123|C456|equals|day" };
82
- const resultingFilters = [mockFilter1, mockFilter2];
83
-
84
- expect(resulting).toEqual({
85
- resulting: resultingFilters,
86
- affected: resultingFilters,
87
- original: [],
88
- });
89
- expect(builder.getFilters()).toEqual(resultingFilters);
90
- });
91
- });
92
-
93
- describe("Testing Adding Filters - With Filters", () => {
94
- let builder: FilterBuilder;
95
- beforeEach(() => {
96
- builder = new FilterBuilder(__mockFilters1);
97
- });
98
-
99
- test("Adding single", () => {
100
- const resulting = builder.addSingle(__mockFilter4);
101
- const mockFilter4 = { ...__mockFilter4, id: "page|D456|C654|greater_than" };
102
-
103
- const resultingFilters = [
104
- __mockFilter1,
105
- __mockFilter2,
106
- __mockFilter3,
107
- mockFilter4,
108
- ];
109
-
110
- expect(resulting).toEqual({
111
- resulting: resultingFilters,
112
- affected: mockFilter4,
113
- original: __mockFilter4,
114
- });
115
-
116
- expect(builder.getFilters()).toEqual(resultingFilters);
117
- });
118
-
119
- test("Adding single between items", () => {
120
- const resulting = builder.addSingle(__mockFilter6);
121
- const mockFilter6 = {
122
- ...__mockFilter6,
123
- id: "global|D123|C456|equals|week",
124
- };
125
- const mockFilter2 = {
126
- ...__mockFilter2,
127
- operator: FILTER_OPERATOR.AND,
128
- };
129
- const resultingFilters = [
130
- __mockFilter1,
131
- mockFilter2,
132
- mockFilter6,
133
- __mockFilter3,
134
- ];
135
-
136
- expect(resulting.resulting).toEqual(resultingFilters);
137
- expect(resulting.affected).toEqual(mockFilter6);
138
- expect(resulting.original).toEqual(__mockFilter6);
139
- expect(builder.getFilters()).toEqual(resultingFilters);
140
- });
141
-
142
- test("Adding single between items - Automatic Operator Off", () => {
143
- const resulting = builder.addSingle(__mockFilter6, undefined, {
144
- automaticOperator: false,
145
- });
146
- const mockFilter6 = {
147
- ...__mockFilter6,
148
- id: "global|D123|C456|equals|week",
149
- };
150
-
151
- const resultingFilters = [
152
- __mockFilter1,
153
- __mockFilter2,
154
- mockFilter6,
155
- __mockFilter3,
156
- ];
157
-
158
- expect(resulting.resulting).toEqual(resultingFilters);
159
- expect(resulting.affected).toEqual(mockFilter6);
160
- expect(resulting.original).toEqual(__mockFilter6);
161
- expect(builder.getFilters()).toEqual(resultingFilters);
162
- });
163
-
164
- test("Adding single between items - Custom Index - Automatic Operator Off", () => {
165
- const resulting = builder.addSingle(__mockFilter6, 1, {
166
- automaticOperator: false,
167
- });
168
- const mockFilter6 = {
169
- ...__mockFilter6,
170
- id: "global|D123|C456|equals|week",
171
- };
172
-
173
- const resultingFilters = [
174
- __mockFilter1,
175
- mockFilter6,
176
- __mockFilter2,
177
- __mockFilter3,
178
- ];
179
-
180
- expect(resulting.resulting).toEqual(resultingFilters);
181
- expect(resulting.affected).toEqual(mockFilter6);
182
- expect(resulting.original).toEqual(__mockFilter6);
183
- expect(builder.getFilters()).toEqual(resultingFilters);
184
- });
185
-
186
- test("Adding Multiple", () => {
187
- const resulting = builder.addMultiple([__mockFilter4, __mockFilter5]);
188
- const mockFilter4 = { ...__mockFilter4, id: "page|D456|C654|greater_than" };
189
- const mockFilter5 = { ...__mockFilter5, id: "page|D789|C135|not_equal" };
190
-
191
- const resultingFilters = [
192
- __mockFilter1,
193
- __mockFilter2,
194
- __mockFilter3,
195
- mockFilter4,
196
- mockFilter5,
197
- ];
198
- expect(resulting).toEqual({
199
- resulting: resultingFilters,
200
- affected: [mockFilter4, mockFilter5],
201
- original: __mockFilters1,
202
- });
203
- expect(builder.getFilters()).toEqual(resultingFilters);
204
- });
205
-
206
- test("No adding due to duplicate", () => {
207
- const resulting = builder.addSingle(__mockFilter2);
208
- expect(resulting).toEqual({
209
- resulting: __mockFilters1,
210
- });
211
- expect(builder.getFilters()).toEqual(__mockFilters1);
212
- });
213
- });
214
-
215
- describe("Testing Adding Filters Values", () => {
216
- let builder: FilterBuilder;
217
- beforeEach(() => {
218
- builder = new FilterBuilder(__mockFilters1);
219
- });
220
-
221
- test("Adding One value", () => {
222
- const newValue: IFilterValueRegular = {
223
- enabled: true,
224
- displayed: true,
225
- value: "Except this value",
226
- };
227
- const resulting = builder.addValue("F123", newValue);
228
-
229
- const mockFilter1: IFilter = { ...__mockFilter1, values: [newValue] };
230
- const resultingFilters: IFilter[] = [
231
- mockFilter1,
232
- __mockFilter2,
233
- __mockFilter3,
234
- ];
235
-
236
- expect(resulting).toEqual({
237
- resulting: resultingFilters,
238
- affected: mockFilter1,
239
- original: __mockFilter1,
240
- });
241
- expect(builder.getFilters()).toEqual(resultingFilters);
242
- });
243
-
244
- test("Adding Multiple values", () => {
245
- const newValues: IFilterValueRegular[] = [
246
- {
247
- enabled: true,
248
- displayed: true,
249
- value: "Except this value",
250
- },
251
- {
252
- enabled: true,
253
- displayed: true,
254
- value: "and this value",
255
- },
256
- ];
257
- const resulting = builder.addValues("F123", newValues);
258
-
259
- const mockFilter1: IFilter = { ...__mockFilter1, values: newValues };
260
- const resultingFilters: IFilter[] = [
261
- mockFilter1,
262
- __mockFilter2,
263
- __mockFilter3,
264
- ];
265
-
266
- expect(resulting).toEqual({
267
- resulting: resultingFilters,
268
- affected: mockFilter1,
269
- original: __mockFilter1,
270
- });
271
- expect(builder.getFilters()).toEqual(resultingFilters);
272
- });
273
- });
274
-
275
- describe("Testing Deleting Filters", () => {
276
- let builder: FilterBuilder;
277
- beforeEach(() => {
278
- builder = new FilterBuilder(__mockFilters1);
279
- });
280
-
281
- test("Deleting by Params", () => {
282
- const resulting = builder.deleteByParams({
283
- columnId: "C456",
284
- grouping: FILTER_GROUPING.DAY,
285
- });
286
- const resultingFilters = [__mockFilter1, __mockFilter3];
287
-
288
- expect(resulting).toEqual({
289
- resulting: resultingFilters,
290
- affected: [__mockFilter2],
291
- original: __mockFilters1,
292
- });
293
- expect(builder.getFilters()).toEqual(resultingFilters);
294
- });
295
-
296
- test("Deleting Single", () => {
297
- const resulting = builder.deleteSingle("F123");
298
- const resultingFilters = [__mockFilter2, __mockFilter3];
299
-
300
- expect(resulting).toEqual({
301
- resulting: resultingFilters,
302
- affected: __mockFilter1,
303
- original: __mockFilter1,
304
- });
305
- expect(builder.getFilters()).toEqual(resultingFilters);
306
- });
307
-
308
- test("Deleting Multiple", () => {
309
- const resulting = builder.deleteMultiple(["F123", "F789"]);
310
- const resultingFilters = [__mockFilter2];
311
-
312
- expect(resulting).toEqual({
313
- resulting: resultingFilters,
314
- affected: [__mockFilter1, __mockFilter3],
315
- original: __mockFilters1,
316
- });
317
- expect(builder.getFilters()).toEqual(resultingFilters);
318
- });
319
- });
320
-
321
- describe("Testing Deleting Filters Values", () => {
322
- test("no delete filter values because of Empty values", () => {
323
- const builder = new FilterBuilder(__mockFilters1);
324
-
325
- const resulting = builder.deleteValue("F123", 1);
326
-
327
- const resultingFilters: IFilter[] = [
328
- __mockFilter1,
329
- __mockFilter2,
330
- __mockFilter3,
331
- ];
332
-
333
- expect(resulting).toEqual({
334
- resulting: resultingFilters,
335
- affected: __mockFilter1,
336
- original: __mockFilter1,
337
- });
338
- expect(builder.getFilters()).toEqual(resultingFilters);
339
- });
340
-
341
- test("Deleting One value", () => {
342
- const builder = new FilterBuilder(__mockFilters1);
343
-
344
- const resulting = builder.deleteValue("F789", 0);
345
- const mockFilter3 = {
346
- ...__mockFilter3,
347
- values: [__mockFilter3.values![1]],
348
- };
349
- const affectedMockFilter3 = {
350
- ...__mockFilter3,
351
- values: [__mockFilter3.values![0]],
352
- };
353
- const resultingFilters: IFilter[] = [
354
- __mockFilter1,
355
- __mockFilter2,
356
- mockFilter3,
357
- ];
358
-
359
- expect(resulting).toEqual({
360
- resulting: resultingFilters,
361
- affected: affectedMockFilter3,
362
- original: __mockFilter3,
363
- });
364
- expect(builder.getFilters()).toEqual(resultingFilters);
365
- });
366
-
367
- test("Deleting multiples values", () => {
368
- const builder = new FilterBuilder(__mockFilters2);
369
-
370
- const resulting = builder.deleteValues("F457", [0, 3]);
371
- const resultingMockFilter6 = {
372
- ...__mockFilter6,
373
- values: [__mockFilter6.values![1], __mockFilter6.values![2]],
374
- };
375
- const affectedMockFilter6 = {
376
- ...__mockFilter6,
377
- values: [__mockFilter6.values![1], __mockFilter6.values![2]],
378
- };
379
- const resultingFilters: IFilter[] = [
380
- __mockFilter4,
381
- __mockFilter5,
382
- resultingMockFilter6,
383
- ];
384
-
385
- expect(resulting).toEqual({
386
- resulting: resultingFilters,
387
- affected: affectedMockFilter6,
388
- original: __mockFilter6,
389
- });
390
- expect(builder.getFilters()).toEqual(resultingFilters);
391
- });
392
- });
393
-
394
- describe("Testing Editing Filters", () => {
395
- let builder: FilterBuilder;
396
- beforeEach(() => {
397
- builder = new FilterBuilder(__mockFilters1);
398
- });
399
-
400
- test("Editing Single", () => {
401
- const filter: Partial<IFilter> = {
402
- grouping: FILTER_GROUPING.MONTH,
403
- values: [
404
- {
405
- displayed: true,
406
- enabled: true,
407
- value: "Jan 1991",
408
- },
409
- ],
410
- };
411
- const resulting = builder.editSingle("F456", filter);
412
- const mockFilter2 = {
413
- ...__mockFilter2,
414
- ...filter,
415
- id: "global|D123|C456|equals|month",
416
- };
417
- const resultingFilters = [__mockFilter1, mockFilter2, __mockFilter3];
418
-
419
- expect(resulting).toEqual({
420
- resulting: resultingFilters,
421
- affected: mockFilter2,
422
- original: __mockFilter2,
423
- });
424
- expect(builder.getFilters()).toEqual(resultingFilters);
425
- });
426
-
427
- test("Wrong parameters on Editing multiple filters", () => {
428
- const filter1: Partial<IFilter> = {
429
- validator: FILTER_VALIDATOR.NOT_EQUAL,
430
- };
431
-
432
- const resulting = builder.editMultiple(["F456", "F123"], [filter1], {
433
- automaticId: false,
434
- });
435
- expect(resulting).toEqual({
436
- resulting: __mockFilters1,
437
- });
438
- expect(builder.getFilters()).toEqual(__mockFilters1);
439
- });
440
-
441
- test("Editing Multiple", () => {
442
- const filter1: Partial<IFilter> = {
443
- validator: FILTER_VALIDATOR.NOT_EQUAL,
444
- };
445
- const filter2: Partial<IFilter> = {
446
- grouping: FILTER_GROUPING.MONTH,
447
- values: [
448
- {
449
- displayed: true,
450
- enabled: true,
451
- value: "Jan 1991",
452
- },
453
- ],
454
- };
455
-
456
- const resulting = builder.editMultiple(
457
- ["F456", "F123"],
458
- [filter2, filter1],
459
- { automaticId: false },
460
- );
461
- const mockFilter1 = {
462
- ...__mockFilter1,
463
- ...filter1,
464
- };
465
- const mockFilter2 = {
466
- ...__mockFilter2,
467
- ...filter2,
468
- };
469
- const resultingFilters = [mockFilter1, mockFilter2, __mockFilter3];
470
-
471
- expect(resulting).toEqual({
472
- resulting: resultingFilters,
473
- affected: [mockFilter2, mockFilter1],
474
- original: __mockFilters1,
475
- });
476
- expect(builder.getFilters()).toEqual(resultingFilters);
477
- });
478
-
479
- test("No editing due to duplicate", () => {
480
- const resulting = builder.editSingle("F456", __mockFilter3);
481
- expect(resulting).toEqual({
482
- resulting: __mockFilters1,
483
- });
484
- expect(builder.getFilters()).toEqual(__mockFilters1);
485
- });
486
- });
487
-
488
- describe("Cannot editing filter values", () => {
489
- let builder: FilterBuilder;
490
- beforeEach(() => {
491
- builder = new FilterBuilder(__mockFilters1);
492
- });
493
-
494
- test("Cannot edit one value", () => {
495
- const newValue: IFilterValueRegular = {
496
- enabled: false,
497
- displayed: true,
498
- value: "Hola",
499
- };
500
- const resulting = builder.editValue("F123", newValue, 0);
501
-
502
- expect(resulting).toEqual({
503
- resulting: __mockFilters1,
504
- });
505
- expect(builder.getFilters()).toEqual(__mockFilters1);
506
- });
507
-
508
- test("Cannot edit multiple values", () => {
509
- const newValues: IFilterValueRegular[] = [
510
- {
511
- enabled: false,
512
- displayed: true,
513
- value: "Hola",
514
- },
515
- {
516
- enabled: true,
517
- displayed: true,
518
- value: "Hello",
519
- },
520
- ];
521
- const resulting = builder.editValues("F457", newValues, [0, 3]);
522
-
523
- expect(resulting).toEqual({
524
- resulting: __mockFilters1,
525
- });
526
- expect(builder.getFilters()).toEqual(__mockFilters1);
527
- });
528
- });
529
-
530
- describe("Testing Editing Filters Values", () => {
531
- let builder: FilterBuilder;
532
- beforeEach(() => {
533
- builder = new FilterBuilder(__mockFilters2);
534
- });
535
-
536
- test("Editing One value", () => {
537
- const newValue: IFilterValueRegular = {
538
- enabled: false,
539
- displayed: true,
540
- value: "Q4 2023",
541
- };
542
- const resulting = builder.editValue("F457", newValue, 0);
543
-
544
- const mockFilter6: IFilter = {
545
- ...__mockFilter6,
546
- values: [
547
- newValue,
548
- __mockFilter6.values![1],
549
- __mockFilter6.values![2],
550
- __mockFilter6.values![3],
551
- ],
552
- };
553
- const resultingFilters: IFilter[] = [
554
- __mockFilter4,
555
- __mockFilter5,
556
- mockFilter6,
557
- ];
558
-
559
- expect(resulting).toEqual({
560
- resulting: resultingFilters,
561
- affected: mockFilter6,
562
- original: __mockFilter6,
563
- });
564
- expect(builder.getFilters()).toEqual(resultingFilters);
565
- });
566
-
567
- test("Editing Multiple values", () => {
568
- const newValues: IFilterValueRegular[] = [
569
- {
570
- enabled: false,
571
- displayed: true,
572
- value: "Q4 2023",
573
- },
574
- {
575
- enabled: true,
576
- displayed: true,
577
- value: "Q1 2025",
578
- },
579
- ];
580
- const resulting = builder.editValues("F457", newValues, [0, 3]);
581
-
582
- const mockFilter6: IFilter = {
583
- ...__mockFilter6,
584
- values: [
585
- newValues[0],
586
- __mockFilter6.values![1],
587
- __mockFilter6.values![2],
588
- newValues[1],
589
- ],
590
- };
591
- const resultingFilters: IFilter[] = [
592
- __mockFilter4,
593
- __mockFilter5,
594
- mockFilter6,
595
- ];
596
-
597
- expect(resulting.affected).toEqual(mockFilter6);
598
- expect(resulting.resulting).toEqual(resultingFilters);
599
- expect(resulting.original).toEqual(__mockFilter6);
600
-
601
- expect(builder.getFilters()).toEqual(resultingFilters);
602
- });
603
- });
604
-
605
- describe("Testing Merging Filters", () => {
606
- let builder: FilterBuilder;
607
- beforeEach(() => {
608
- builder = new FilterBuilder(__mockFilters1);
609
- });
610
-
611
- test("Merging Single", () => {
612
- const resulting = builder.mergeSingle(__mockFilter4);
613
- const mockFilter4 = {
614
- ...__mockFilter4,
615
- id: "page|D456|C654|greater_than",
616
- };
617
- const resultingFilters = [
618
- __mockFilter1,
619
- __mockFilter2,
620
- __mockFilter3,
621
- mockFilter4,
622
- ];
623
-
624
- expect(resulting.resulting).toEqual(resultingFilters);
625
- expect(resulting.affected).toEqual(mockFilter4);
626
- expect(resulting.original).toEqual(__mockFilter4);
627
- expect(builder.getFilters()).toEqual(resultingFilters);
628
- });
629
-
630
- test("Wrong parameters on Merging single filter", () => {
631
- // @ts-expect-error: Expected wrong params
632
- const resulting = builder.mergeSingle(undefined);
633
-
634
- expect(resulting).toEqual({
635
- resulting: __mockFilters1,
636
- });
637
- expect(builder.getFilters()).toEqual(__mockFilters1);
638
- });
639
-
640
- test("Merging Multiple", () => {
641
- const resulting = builder.mergeMultiple([__mockFilter5, __mockFilter6]);
642
- const mockFilter2 = {
643
- ...__mockFilter2,
644
- operator: FILTER_OPERATOR.AND,
645
- };
646
- const mockFilter5 = {
647
- ...__mockFilter5,
648
- id: "page|D789|C135|not_equal",
649
- };
650
- const mockFilter6 = {
651
- ...__mockFilter6,
652
- id: "global|D123|C456|equals|week",
653
- };
654
- const resultingFilters = [
655
- __mockFilter1,
656
- mockFilter2,
657
- mockFilter6,
658
- __mockFilter3,
659
- mockFilter5,
660
- ];
661
-
662
- expect(resulting.resulting).toEqual(resultingFilters);
663
- expect(resulting.affected).toEqual([mockFilter5, mockFilter6]);
664
- expect(resulting.original).toEqual(__mockFilters1);
665
- expect(builder.getFilters()).toEqual(resultingFilters);
666
- });
667
-
668
- test("Merging Multiple - Automatic Operator Off", () => {
669
- const resulting = builder.mergeMultiple([__mockFilter5, __mockFilter6], {
670
- automaticOperator: false,
671
- });
672
- const mockFilter5 = {
673
- ...__mockFilter5,
674
- id: "page|D789|C135|not_equal",
675
- };
676
- const mockFilter6 = {
677
- ...__mockFilter6,
678
- id: "global|D123|C456|equals|week",
679
- };
680
- const resultingFilters = [
681
- __mockFilter1,
682
- __mockFilter2,
683
- mockFilter6,
684
- __mockFilter3,
685
- mockFilter5,
686
- ];
687
-
688
- expect(resulting.resulting).toEqual(resultingFilters);
689
- expect(resulting.affected).toEqual([mockFilter5, mockFilter6]);
690
- expect(resulting.original).toEqual(__mockFilters1);
691
- expect(builder.getFilters()).toEqual(resultingFilters);
692
- });
693
-
694
- test("Wrong parameters on Merging multiple filter", () => {
695
- const resulting = builder.mergeMultiple([]);
696
- expect(resulting).toEqual({
697
- resulting: __mockFilters1,
698
- });
699
- expect(builder.getFilters()).toEqual(__mockFilters1);
700
- });
701
-
702
- test("No merging due to duplicate", () => {
703
- const resulting = builder.mergeMultiple([__mockFilter3]);
704
-
705
- expect(resulting.resulting).toEqual(__mockFilters1);
706
- expect(resulting.affected).toEqual([__mockFilter3]);
707
- expect(resulting.original).toEqual(__mockFilters1);
708
- expect(builder.getFilters()).toEqual(__mockFilters1);
709
- });
710
- });
711
-
712
- describe("Testing Merging Filters Values", () => {
713
- let builder: FilterBuilder;
714
- beforeEach(() => {
715
- builder = new FilterBuilder(__mockFilters1);
716
- });
717
-
718
- test("Merging Regular values", () => {
719
- const newValues: IFilterValueRegular[] = [
720
- {
721
- enabled: true,
722
- displayed: true,
723
- value: "Except this value",
724
- },
725
- {
726
- enabled: true,
727
- displayed: true,
728
- value: "and this value",
729
- },
730
- ];
731
- const resulting = builder.mergeValues("F456", newValues);
732
-
733
- const mockFilter2: IFilter = {
734
- ...__mockFilter2,
735
- values: [...(__mockFilter2.values ?? []), ...newValues],
736
- };
737
- const resultingFilters: IFilter[] = [
738
- __mockFilter1,
739
- mockFilter2,
740
- __mockFilter3,
741
- ];
742
-
743
- expect(resulting.resulting).toEqual(resultingFilters);
744
- expect(resulting.affected).toEqual(mockFilter2);
745
- expect(resulting.original).toEqual(__mockFilter2);
746
- expect(builder.getFilters()).toEqual(resultingFilters);
747
- });
748
-
749
- test("Merging Range values", () => {
750
- const newValues: IFilterValueRange[] = [
751
- {
752
- enabled: true,
753
- displayed: true,
754
- min: "0",
755
- },
756
- {
757
- enabled: true,
758
- displayed: true,
759
- min: "10",
760
- max: "100",
761
- },
762
- ];
763
- const resulting = builder.mergeValues("F789", newValues);
764
-
765
- const mockFilter3: IFilter = {
766
- ...__mockFilter3,
767
- values: [...(__mockFilter3.values ?? []), ...newValues],
768
- };
769
- const resultingFilters: IFilter[] = [
770
- __mockFilter1,
771
- __mockFilter2,
772
- mockFilter3,
773
- ];
774
-
775
- expect(resulting.resulting).toEqual(resultingFilters);
776
- expect(resulting.affected).toEqual(mockFilter3);
777
- expect(resulting.original).toEqual(__mockFilter3);
778
- expect(builder.getFilters()).toEqual(resultingFilters);
779
- });
780
-
781
- test("No Merging due to duplicate", () => {
782
- const newValues: IFilterValue[] = [
783
- __mockFilter3.values![0],
784
- __mockFilter3.values![1],
785
- ];
786
- const resulting = builder.mergeValues("F789", newValues);
787
-
788
- expect(resulting.resulting).toEqual(__mockFilters1);
789
- expect(resulting.affected).toEqual(__mockFilter3);
790
- expect(resulting.original).toEqual(__mockFilter3);
791
- expect(builder.getFilters()).toEqual(__mockFilters1);
792
- });
793
- });
794
-
795
- describe("Creating the masked Filter", () => {
796
- test("Default filter", () => {
797
- const filter: IFilter = FilterBuilder.createFilter({});
798
- expect(filter).toEqual({ ...DEFAULT_FILTER, id: "global|equals" });
799
- });
800
-
801
- test("Some custom properties", () => {
802
- const partialFilter: Partial<IFilter> = {
803
- columnId: "Column123",
804
- operator: FILTER_OPERATOR.OR,
805
- validator: FILTER_VALIDATOR.BETWEEN_EXCLUSIVE,
806
- };
807
- const filter: IFilter = FilterBuilder.createFilter(partialFilter);
808
- expect(filter).toEqual({
809
- ...DEFAULT_FILTER,
810
- ...partialFilter,
811
- id: "global|Column123|between_exclusive",
812
- });
813
- });
814
- });
815
-
816
- describe("Replacing filters", () => {
817
- let builder: FilterBuilder;
818
- beforeEach(() => {
819
- builder = new FilterBuilder(__mockFilters2);
820
- });
821
-
822
- test("By Params", () => {
823
- const filters: IFilter[] = [__mockFilter1, __mockFilter2];
824
- const params = { scope: FILTER_SCOPE.PAGE };
825
- const resulting = builder.replaceByParams(filters, params);
826
-
827
- const mockFilter1 = { ...__mockFilter1, id: "global|D123|C123|equals" };
828
- const mockFilter2 = { ...__mockFilter2, id: "global|D123|C456|equals|day" };
829
- const resultingFilters = [__mockFilter6, mockFilter2, mockFilter1];
830
- const affected = [mockFilter1, mockFilter2];
831
-
832
- expect(resulting.resulting).toEqual(resultingFilters);
833
- expect(resulting.affected).toEqual(affected);
834
- expect(resulting.original).toEqual(__mockFilters2);
835
- expect(builder.getFilters()).toEqual(resultingFilters);
836
- });
837
-
838
- test("By Params - Automatic Operator On", () => {
839
- const filters: IFilter[] = [__mockFilter1, __mockFilter2];
840
- const params = { scope: FILTER_SCOPE.PAGE };
841
- const resulting = builder.replaceByParams(filters, params, {
842
- automaticOperator: true,
843
- });
844
-
845
- const mockFilter1 = { ...__mockFilter1, id: "global|D123|C123|equals" };
846
- const mockFilter2 = { ...__mockFilter2, id: "global|D123|C456|equals|day" };
847
- const mockFilter6 = { ...__mockFilter6, operator: FILTER_OPERATOR.OR };
848
- const resultingFilters = [mockFilter6, mockFilter2, mockFilter1];
849
- const affected = [mockFilter1, mockFilter2];
850
-
851
- expect(resulting.resulting).toEqual(resultingFilters);
852
- expect(resulting.affected).toEqual(affected);
853
- expect(resulting.original).toEqual(__mockFilters2);
854
- expect(builder.getFilters()).toEqual(resultingFilters);
855
- });
856
-
857
- test("By Params - Adding In Same Index", () => {
858
- const filters: IFilter[] = [__mockFilter1, __mockFilter2];
859
- const params = { validator: FILTER_VALIDATOR.NOT_EQUAL };
860
- const resulting = builder.replaceByParams(filters, params, {
861
- addingInSameIndex: true,
862
- });
863
-
864
- const mockFilter1 = { ...__mockFilter1, id: "global|D123|C123|equals" };
865
- const mockFilter2 = { ...__mockFilter2, id: "global|D123|C456|equals|day" };
866
- const resultingFilters = [
867
- __mockFilter4,
868
- mockFilter1,
869
- __mockFilter6,
870
- mockFilter2,
871
- ];
872
- const affected = [mockFilter1, mockFilter2];
873
-
874
- expect(resulting.resulting).toEqual(resultingFilters);
875
- expect(resulting.affected).toEqual(affected);
876
- expect(resulting.original).toEqual(__mockFilters2);
877
- expect(builder.getFilters()).toEqual(resultingFilters);
878
- });
879
-
880
- test("By Params - Adding In Same Index Off", () => {
881
- const filters: IFilter[] = [__mockFilter1, __mockFilter2];
882
- const params = { validator: FILTER_VALIDATOR.NOT_EQUAL };
883
- const resulting = builder.replaceByParams(filters, params, {
884
- addingInSameIndex: false,
885
- });
886
-
887
- const mockFilter1 = { ...__mockFilter1, id: "global|D123|C123|equals" };
888
- const mockFilter2 = { ...__mockFilter2, id: "global|D123|C456|equals|day" };
889
- const resultingFilters = [
890
- __mockFilter4,
891
- __mockFilter6,
892
- mockFilter2,
893
- mockFilter1,
894
- ];
895
-
896
- const affected = [mockFilter1, mockFilter2];
897
-
898
- expect(resulting.resulting).toEqual(resultingFilters);
899
- expect(resulting.affected).toEqual(affected);
900
- expect(resulting.original).toEqual(__mockFilters2);
901
- expect(builder.getFilters()).toEqual(resultingFilters);
902
- });
903
- });