dyo-tools 0.3.2 → 0.4.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 (239) hide show
  1. package/{dist/constants.d.ts → constants.d.ts} +1 -0
  2. package/constants.d.ts.map +1 -0
  3. package/constants.js +67 -0
  4. package/constants.js.map +1 -0
  5. package/core/DTAction.d.ts +12 -0
  6. package/core/DTAction.d.ts.map +1 -0
  7. package/{dist/core → core}/DTAction.js +3 -6
  8. package/core/DTAction.js.map +1 -0
  9. package/{dist/core → core}/DTBunch.d.ts +8 -5
  10. package/core/DTBunch.d.ts.map +1 -0
  11. package/{dist/core → core}/DTBunch.js +53 -19
  12. package/core/DTBunch.js.map +1 -0
  13. package/core/DTComponent.d.ts +31 -0
  14. package/core/DTComponent.d.ts.map +1 -0
  15. package/{dist/core → core}/DTComponent.js +23 -10
  16. package/core/DTComponent.js.map +1 -0
  17. package/core/DTComponentPhysical.d.ts +16 -0
  18. package/core/DTComponentPhysical.d.ts.map +1 -0
  19. package/core/DTComponentPhysical.js +37 -0
  20. package/core/DTComponentPhysical.js.map +1 -0
  21. package/core/DTComponentWithMeta.d.ts +12 -0
  22. package/core/DTComponentWithMeta.d.ts.map +1 -0
  23. package/core/DTComponentWithMeta.js +46 -0
  24. package/core/DTComponentWithMeta.js.map +1 -0
  25. package/core/DTElement.d.ts +15 -0
  26. package/core/DTElement.d.ts.map +1 -0
  27. package/{dist/core → core}/DTElement.js +8 -9
  28. package/core/DTElement.js.map +1 -0
  29. package/core/DTError.d.ts +14 -0
  30. package/core/DTError.d.ts.map +1 -0
  31. package/{dist/core → core}/DTError.js +1 -5
  32. package/core/DTError.js.map +1 -0
  33. package/core/DTManager.d.ts +36 -0
  34. package/core/DTManager.d.ts.map +1 -0
  35. package/{dist/core → core}/DTManager.js +84 -26
  36. package/core/DTManager.js.map +1 -0
  37. package/core/DTMaster.d.ts +27 -0
  38. package/core/DTMaster.d.ts.map +1 -0
  39. package/{dist/core → core}/DTMaster.js +48 -31
  40. package/core/DTMaster.js.map +1 -0
  41. package/core/DTModule.d.ts +17 -0
  42. package/core/DTModule.d.ts.map +1 -0
  43. package/{dist/core → core}/DTModule.js +6 -6
  44. package/core/DTModule.js.map +1 -0
  45. package/{src/index.ts → index.d.ts} +14 -17
  46. package/index.d.ts.map +1 -0
  47. package/{dist/index.d.ts → index.js} +1 -0
  48. package/index.js.map +1 -0
  49. package/{dist/libs → libs}/DYOFinder.d.ts +1 -0
  50. package/libs/DYOFinder.d.ts.map +1 -0
  51. package/{dist/libs → libs}/DYOFinder.js +10 -14
  52. package/libs/DYOFinder.js.map +1 -0
  53. package/libs/dix/DIXModule.module.d.ts +8 -0
  54. package/libs/dix/DIXModule.module.d.ts.map +1 -0
  55. package/libs/dix/DIXModule.module.js +73 -0
  56. package/libs/player/DTPlayer.element.d.ts +6 -0
  57. package/libs/player/DTPlayer.element.d.ts.map +1 -0
  58. package/libs/player/DTPlayer.element.js +7 -0
  59. package/libs/player/DTPlayer.element.js.map +1 -0
  60. package/libs/player/DTPlayer.manager.d.ts +12 -0
  61. package/libs/player/DTPlayer.manager.d.ts.map +1 -0
  62. package/libs/player/DTPlayer.manager.js +35 -0
  63. package/libs/player/DTPlayer.manager.js.map +1 -0
  64. package/package.json +9 -47
  65. package/tsconfig.dev.tsbuildinfo +1 -0
  66. package/tsconfig.tsbuildinfo +1 -0
  67. package/{dist/types → types}/core.d.ts +40 -12
  68. package/types/core.d.ts.map +1 -0
  69. package/{dist/types → types}/core.js +2 -6
  70. package/types/core.js.map +1 -0
  71. package/{src/types/index.ts → types/index.d.ts} +3 -2
  72. package/types/index.d.ts.map +1 -0
  73. package/types/index.js.map +1 -0
  74. package/{dist/types → types}/player.d.ts +1 -1
  75. package/types/player.d.ts.map +1 -0
  76. package/types/player.js +1 -0
  77. package/.c8rc.json +0 -4
  78. package/.eslintignore +0 -2
  79. package/.eslintrc.json +0 -47
  80. package/Makefile +0 -34
  81. package/README.md +0 -0
  82. package/babel.config.js +0 -1
  83. package/cucumber-report.html +0 -48
  84. package/dist/constants.js +0 -63
  85. package/dist/constants.js.map +0 -1
  86. package/dist/core/DTAction.d.ts +0 -10
  87. package/dist/core/DTAction.js.map +0 -1
  88. package/dist/core/DTBunch.js.map +0 -1
  89. package/dist/core/DTComponent.d.ts +0 -28
  90. package/dist/core/DTComponent.js.map +0 -1
  91. package/dist/core/DTComponentPhysical.d.ts +0 -13
  92. package/dist/core/DTComponentPhysical.js +0 -22
  93. package/dist/core/DTComponentPhysical.js.map +0 -1
  94. package/dist/core/DTComponentWithMeta.d.ts +0 -9
  95. package/dist/core/DTComponentWithMeta.js +0 -32
  96. package/dist/core/DTComponentWithMeta.js.map +0 -1
  97. package/dist/core/DTElement.d.ts +0 -13
  98. package/dist/core/DTElement.js.map +0 -1
  99. package/dist/core/DTError.d.ts +0 -13
  100. package/dist/core/DTError.js.map +0 -1
  101. package/dist/core/DTManager.d.ts +0 -33
  102. package/dist/core/DTManager.js.map +0 -1
  103. package/dist/core/DTMaster.d.ts +0 -24
  104. package/dist/core/DTMaster.js.map +0 -1
  105. package/dist/core/DTModule.d.ts +0 -14
  106. package/dist/core/DTModule.js.map +0 -1
  107. package/dist/index.js +0 -28
  108. package/dist/index.js.map +0 -1
  109. package/dist/libs/DYOFinder.js.map +0 -1
  110. package/dist/libs/player/DTPlayer.element.d.ts +0 -5
  111. package/dist/libs/player/DTPlayer.element.js +0 -11
  112. package/dist/libs/player/DTPlayer.element.js.map +0 -1
  113. package/dist/libs/player/DTPlayer.manager.d.ts +0 -11
  114. package/dist/libs/player/DTPlayer.manager.js +0 -42
  115. package/dist/libs/player/DTPlayer.manager.js.map +0 -1
  116. package/dist/tsconfig.tsbuildinfo +0 -1
  117. package/dist/types/core.js.map +0 -1
  118. package/dist/types/index.js +0 -19
  119. package/dist/types/index.js.map +0 -1
  120. package/dist/types/player.js +0 -3
  121. package/docs/.nojekyll +0 -1
  122. package/docs/assets/highlight.css +0 -29
  123. package/docs/assets/main.js +0 -59
  124. package/docs/assets/navigation.js +0 -1
  125. package/docs/assets/search.js +0 -1
  126. package/docs/assets/style.css +0 -1414
  127. package/docs/classes/core_DTAction.DYOToolsAction.html +0 -89
  128. package/docs/classes/core_DTBunch.DYOToolsBunch.html +0 -254
  129. package/docs/classes/core_DTComponent.DYOToolsComponent.html +0 -76
  130. package/docs/classes/core_DTComponentPhysical.DYOToolsComponentPhysical.html +0 -110
  131. package/docs/classes/core_DTComponentWithMeta.DYOToolsComponentWithMeta.html +0 -96
  132. package/docs/classes/core_DTElement.DYOToolsElement.html +0 -135
  133. package/docs/classes/core_DTError.DYOToolsError.html +0 -37
  134. package/docs/classes/core_DTManager.DYOToolsManager.html +0 -237
  135. package/docs/classes/core_DTMaster.DYOToolsMaster.html +0 -150
  136. package/docs/classes/core_DTModule.DYOToolsModule.html +0 -92
  137. package/docs/classes/libs_DYOFinder.DYOFinder.html +0 -34
  138. package/docs/classes/libs_player_DTPlayer_element.DYOToolsPlayer.html +0 -134
  139. package/docs/classes/libs_player_DTPlayer_manager.DYOToolsPlayerManager.html +0 -243
  140. package/docs/enums/types_core.FilterOperatorType.html +0 -10
  141. package/docs/hierarchy.html +0 -1
  142. package/docs/index.html +0 -1
  143. package/docs/interfaces/types_core.DTBunchFilters.html +0 -6
  144. package/docs/interfaces/types_core.DTBunchOptions.html +0 -19
  145. package/docs/interfaces/types_core.DTBunchToObject.html +0 -7
  146. package/docs/interfaces/types_core.DTComponentOptions.html +0 -5
  147. package/docs/interfaces/types_core.DTComponentToObject.html +0 -4
  148. package/docs/interfaces/types_core.DTElementToObject.html +0 -7
  149. package/docs/interfaces/types_core.DTManagerFilters.html +0 -6
  150. package/docs/interfaces/types_core.DTManagerOptions.html +0 -8
  151. package/docs/interfaces/types_core.DTManagerToObject.html +0 -5
  152. package/docs/interfaces/types_core.DTMasterToObject.html +0 -8
  153. package/docs/interfaces/types_core.DTModuleToObject.html +0 -6
  154. package/docs/interfaces/types_core.DYOFinderConfigurationPropDefault.html +0 -4
  155. package/docs/interfaces/types_core.DYOFinderConfigurationPropObjectSearch.html +0 -4
  156. package/docs/interfaces/types_core.DYOFinderFilterOperatorAdvanced.html +0 -5
  157. package/docs/interfaces/types_core.DYOFinderFilterOperatorBase.html +0 -5
  158. package/docs/interfaces/types_player.DTPlayerManagerSimpleConfiguration.html +0 -3
  159. package/docs/modules/constants.html +0 -6
  160. package/docs/modules/core_DTAction.html +0 -2
  161. package/docs/modules/core_DTBunch.html +0 -2
  162. package/docs/modules/core_DTComponent.html +0 -2
  163. package/docs/modules/core_DTComponentPhysical.html +0 -2
  164. package/docs/modules/core_DTComponentWithMeta.html +0 -2
  165. package/docs/modules/core_DTElement.html +0 -2
  166. package/docs/modules/core_DTError.html +0 -2
  167. package/docs/modules/core_DTManager.html +0 -2
  168. package/docs/modules/core_DTMaster.html +0 -2
  169. package/docs/modules/core_DTModule.html +0 -2
  170. package/docs/modules/libs_DYOFinder.html +0 -2
  171. package/docs/modules/libs_player_DTPlayer_element.html +0 -2
  172. package/docs/modules/libs_player_DTPlayer_manager.html +0 -2
  173. package/docs/modules/types.html +0 -29
  174. package/docs/modules/types_core.html +0 -28
  175. package/docs/modules/types_player.html +0 -2
  176. package/docs/types/types_core.DTAcceptedMetaData.html +0 -2
  177. package/docs/types/types_core.DTManagerItemType.html +0 -1
  178. package/docs/types/types_core.DTManagerItemsType.html +0 -2
  179. package/docs/types/types_core.DYOFinderComponentType.html +0 -1
  180. package/docs/types/types_core.DYOFinderConfiguration.html +0 -2
  181. package/docs/types/types_core.DYOFinderConfigurationProp.html +0 -1
  182. package/docs/types/types_core.DYOFinderFilterOperator.html +0 -1
  183. package/docs/types/types_core.DYOFinderFilterOperatorArgument.html +0 -1
  184. package/docs/types/types_core.DYOFinderFilters.html +0 -1
  185. package/docs/types/types_core.StandardPrimitiveType.html +0 -2
  186. package/docs/types/types_core.StandardPrimitiveTypeWithArray.html +0 -1
  187. package/docs/variables/constants.bunchDefaultOptions.html +0 -2
  188. package/docs/variables/constants.componentBunchDefaultFinderConfiguration.html +0 -1
  189. package/docs/variables/constants.componentManagerDefaultFinderConfiguration.html +0 -1
  190. package/docs/variables/constants.componentPhysicalDefaultFinderConfiguration.html +0 -1
  191. package/docs/variables/constants.managerDefaultOptions.html +0 -2
  192. package/jest.config.js +0 -6
  193. package/src/constants.ts +0 -85
  194. package/src/core/DTAction.ts +0 -52
  195. package/src/core/DTBunch.ts +0 -467
  196. package/src/core/DTComponent.ts +0 -225
  197. package/src/core/DTComponentPhysical.ts +0 -54
  198. package/src/core/DTComponentWithMeta.ts +0 -65
  199. package/src/core/DTElement.ts +0 -102
  200. package/src/core/DTError.ts +0 -78
  201. package/src/core/DTManager.ts +0 -465
  202. package/src/core/DTMaster.ts +0 -318
  203. package/src/core/DTModule.ts +0 -90
  204. package/src/libs/DYOFinder.ts +0 -175
  205. package/src/libs/player/DTPlayer.element.ts +0 -9
  206. package/src/libs/player/DTPlayer.manager.ts +0 -84
  207. package/src/types/core.ts +0 -169
  208. package/src/types/player.ts +0 -6
  209. package/test/core/DTAction.double.ts +0 -78
  210. package/test/core/DTAction.spec.ts +0 -76
  211. package/test/core/DTBunch.double.ts +0 -261
  212. package/test/core/DTBunch.spec.ts +0 -910
  213. package/test/core/DTComponent.double.ts +0 -164
  214. package/test/core/DTComponent.spec.ts +0 -295
  215. package/test/core/DTComponentPhysical.double.ts +0 -76
  216. package/test/core/DTComponentPhysical.spec.ts +0 -78
  217. package/test/core/DTComponentWithMeta.double.ts +0 -115
  218. package/test/core/DTComponentWithMeta.spec.ts +0 -124
  219. package/test/core/DTElement.double.ts +0 -163
  220. package/test/core/DTElement.spec.ts +0 -146
  221. package/test/core/DTError.double.ts +0 -92
  222. package/test/core/DTError.spec.ts +0 -89
  223. package/test/core/DTManager.double.ts +0 -216
  224. package/test/core/DTManager.spec.ts +0 -965
  225. package/test/core/DTMaster.double.ts +0 -141
  226. package/test/core/DTMaster.spec.ts +0 -584
  227. package/test/core/DTModule.double.ts +0 -80
  228. package/test/core/DTModule.spec.ts +0 -138
  229. package/test/core/copy.spec.ts +0 -243
  230. package/test/libs/DYOFinder.double.ts +0 -152
  231. package/test/libs/DYOFinder.spec.ts +0 -194
  232. package/test/libs/player/DTPlayer.element.double.ts +0 -55
  233. package/test/libs/player/DTPlayer.element.spec.ts +0 -28
  234. package/test/libs/player/DTPlayer.manager.double.ts +0 -92
  235. package/test/libs/player/DTPlayer.manager.spec.ts +0 -178
  236. package/tsconfig.dev.json +0 -22
  237. package/tsconfig.json +0 -21
  238. /package/{dist/types/index.d.ts → types/index.js} +0 -0
  239. /package/{dist/types → types}/player.js.map +0 -0
@@ -1,194 +0,0 @@
1
- import {
2
- afterEach, beforeEach, describe, expect, jest, test,
3
- } from '@jest/globals';
4
- import { DTBunchStub, IDTest } from '../core/DTBunch.double';
5
- import DYOFinderTest, { DefaultConfiguration, generateComponent } from './DYOFinder.double';
6
- import { FilterOperatorType } from '../../src/types';
7
-
8
- /** *********************** TESTS SUITES ****************************** */
9
- describe('class DYOFinder', () => {
10
- let bunchStubToFind: DTBunchStub;
11
- let finder: DYOFinderTest;
12
-
13
- beforeEach(() => {
14
- bunchStubToFind = generateComponent();
15
- finder = new DYOFinderTest(bunchStubToFind, DefaultConfiguration);
16
- });
17
-
18
- afterEach(() => {
19
- jest.resetAllMocks();
20
- });
21
-
22
- describe('constructor()', () => {
23
- test('simple initialisation', () => {
24
- const newFinder = new DYOFinderTest(bunchStubToFind, DefaultConfiguration);
25
-
26
- expect(newFinder.th_get_component().getId()).toBe(IDTest);
27
- expect(newFinder.th_get_configuration()).toStrictEqual(DefaultConfiguration);
28
- });
29
- });
30
-
31
- describe('execute()', () => {
32
- const finderExecutionTestValue = (results: any): [number, []] => [
33
- results.length,
34
- results.map((result) => result.parentIndex),
35
- ];
36
-
37
- test('find items - $eq operator case', () => {
38
- // String prop
39
- expect(finderExecutionTestValue(finder.execute({ propString: { $eq: 'item_prime' } }))).toStrictEqual([2, [0, 1]]);
40
- expect(finderExecutionTestValue(finder.execute({ propString: { $eq: 'invalid' } }))).toStrictEqual([0, []]);
41
- // Number prop
42
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $eq: 17 } }))).toStrictEqual([2, [0, 3]]);
43
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $eq: 24 } }))).toStrictEqual([0, []]);
44
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $eq: '17' } }))).toStrictEqual([0, []]);
45
- // Array prop
46
- expect(finderExecutionTestValue(finder.execute({ propArray: { $eq: 'tag1' } }))).toStrictEqual([0, []]);
47
- expect(finderExecutionTestValue(finder.execute({ propArray: { $eq: undefined } }))).toStrictEqual([1, [3]]);
48
- // Boolean prop
49
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $eq: true } }))).toStrictEqual([3, [0, 2, 4]]);
50
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $eq: false } }))).toStrictEqual([2, [1, 3]]);
51
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $eq: 'false' } }))).toStrictEqual([0, []]);
52
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $eq: null } }))).toStrictEqual([0, []]);
53
- // Object prop
54
- expect(finderExecutionTestValue(finder.execute({ propObject: { $eq: 'value' } }))).toStrictEqual([0, []]);
55
- expect(finderExecutionTestValue(finder.execute({ propObject: { $eq: "{ data: 'value' }" } }))).toStrictEqual([0, []]);
56
- expect(finderExecutionTestValue(finder.execute({ propObject: { $eq: null } }))).toStrictEqual([2, [3, 4]]);
57
- });
58
-
59
- test('find items - $ne operator case', () => {
60
- // String prop
61
- expect(finderExecutionTestValue(finder.execute({ propString: { $ne: 'item_prime' } }))).toStrictEqual([3, [2, 3, 4]]);
62
- expect(finderExecutionTestValue(finder.execute({ propString: { $ne: 'invalid' } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
63
- // Number prop
64
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $ne: 17 } }))).toStrictEqual([3, [1, 2, 4]]);
65
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $ne: 24 } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
66
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $ne: '17' } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
67
- // Array prop
68
- expect(finderExecutionTestValue(finder.execute({ propArray: { $ne: 'tag1' } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
69
- expect(finderExecutionTestValue(finder.execute({ propArray: { $ne: undefined } }))).toStrictEqual([4, [0, 1, 2, 4]]);
70
- // Boolean prop
71
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $ne: true } }))).toStrictEqual([2, [1, 3]]);
72
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $ne: false } }))).toStrictEqual([3, [0, 2, 4]]);
73
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $ne: 'false' } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
74
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $ne: null } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
75
- // Object prop
76
- expect(finderExecutionTestValue(finder.execute({ propObject: { $ne: 'value' } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
77
- expect(finderExecutionTestValue(finder.execute({ propObject: { $ne: "{ data: 'value' }" } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
78
- expect(finderExecutionTestValue(finder.execute({ propObject: { $ne: null } }))).toStrictEqual([3, [0, 1, 2]]);
79
- });
80
-
81
- test('find items - $in operator case', () => {
82
- // String prop
83
- expect(finderExecutionTestValue(finder.execute({ propString: { $in: ['item_prime', 'item_second'] } }))).toStrictEqual([4, [0, 1, 2, 4]]);
84
- expect(finderExecutionTestValue(finder.execute({ propString: { $in: ['item_third', 'invalid', false] } }))).toStrictEqual([1, [3]]);
85
- // Number prop
86
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $in: [17, 19] } }))).toStrictEqual([3, [0, 1, 3]]);
87
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $in: ['17', 24, false] } }))).toStrictEqual([0, []]);
88
- // Array prop
89
- expect(finderExecutionTestValue(finder.execute({ propArray: { $in: ['tag1'] } }))).toStrictEqual([0, []]);
90
- expect(finderExecutionTestValue(finder.execute({ propArray: { $in: ['tag1', 'tag2', undefined] } }))).toStrictEqual([1, [3]]);
91
- // Boolean prop
92
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $in: [true, false] } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
93
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $in: ['true', 'false', null] } }))).toStrictEqual([0, []]);
94
- // Object prop
95
- expect(finderExecutionTestValue(finder.execute({ propObject: { $in: ['value'] } }))).toStrictEqual([0, []]);
96
- expect(finderExecutionTestValue(finder.execute({ propObject: { $in: null } }))).toStrictEqual([0, []]);
97
- expect(finderExecutionTestValue(finder.execute({ propObject: { $in: [null] } }))).toStrictEqual([2, [3, 4]]);
98
- });
99
-
100
- test('find items - $nin operator case', () => {
101
- // String prop
102
- expect(finderExecutionTestValue(finder.execute({ propString: { $nin: ['item_prime', 'item_second'] } }))).toStrictEqual([1, [3]]);
103
- expect(finderExecutionTestValue(finder.execute({ propString: { $nin: ['item_third', 'invalid', false] } }))).toStrictEqual([4, [0, 1, 2, 4]]);
104
- // Number prop
105
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $nin: [17, 19] } }))).toStrictEqual([2, [2, 4]]);
106
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $nin: ['17', 24, false] } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
107
- // Array prop
108
- expect(finderExecutionTestValue(finder.execute({ propArray: { $nin: ['tag1'] } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
109
- expect(finderExecutionTestValue(finder.execute({ propArray: { $nin: ['tag1', 'tag2', undefined] } }))).toStrictEqual([4, [0, 1, 2, 4]]);
110
- // Boolean prop
111
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $nin: [true, false] } }))).toStrictEqual([0, []]);
112
- expect(finderExecutionTestValue(finder.execute({ propBoolean: { $nin: ['true', 'false', null] } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
113
- // Object prop
114
- expect(finderExecutionTestValue(finder.execute({ propObject: { $nin: ['value'] } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
115
- expect(finderExecutionTestValue(finder.execute({ propObject: { $nin: null } }))).toStrictEqual([0, []]);
116
- expect(finderExecutionTestValue(finder.execute({ propObject: { $nin: [null] } }))).toStrictEqual([3, [0, 1, 2]]);
117
- });
118
-
119
- test('find items - $lte operator case', () => {
120
- // Number prop
121
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $lte: 23 } }))).toStrictEqual([4, [0, 1, 2, 3]]);
122
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $lte: 1000 } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
123
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $lte: null } }))).toStrictEqual([0, []]);
124
- });
125
-
126
- test('find items - $gte operator case', () => {
127
- // Number prop
128
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $gte: 23 } }))).toStrictEqual([2, [2, 4]]);
129
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $gte: -1000 } }))).toStrictEqual([5, [0, 1, 2, 3, 4]]);
130
- expect(finderExecutionTestValue(finder.execute({ propNumber: { $gte: null } }))).toStrictEqual([0, []]);
131
- });
132
-
133
- test('find items - $contains operator case', () => {
134
- // Array prop
135
- expect(finderExecutionTestValue(finder.execute({ propArray: { $contains: 'tag1' } }))).toStrictEqual([3, [0, 1, 2]]);
136
- expect(finderExecutionTestValue(finder.execute({ propArray: { $contains: undefined } }))).toStrictEqual([0, []]);
137
- expect(finderExecutionTestValue(finder.execute({ propArray: { $contains: 'invalid_tag' } }))).toStrictEqual([0, []]);
138
- });
139
-
140
- test('find items - $ncontains operator case', () => {
141
- // Array prop
142
- expect(finderExecutionTestValue(finder.execute({ propArray: { $ncontains: 'tag1' } }))).toStrictEqual([1, [4]]);
143
- expect(finderExecutionTestValue(finder.execute({ propArray: { $ncontains: undefined } }))).toStrictEqual([4, [0, 1, 2, 4]]);
144
- expect(finderExecutionTestValue(finder.execute({ propArray: { $ncontains: 'invalid_tag' } }))).toStrictEqual([4, [0, 1, 2, 4]]);
145
- });
146
-
147
- test('disable filters by configuration', () => {
148
- finder.th_set_configuration({
149
- propString: {
150
- operators: [FilterOperatorType.NE],
151
- getValue: (item: any) => item.getPropString(),
152
- objectSearch: false,
153
- },
154
- });
155
-
156
- expect(finderExecutionTestValue(finder.execute({ propString: { $eq: 'item_prime' } }))).toStrictEqual([0, []]);
157
- expect(finderExecutionTestValue(finder.execute({ propString: { $in: ['item_prime', 'item_second'] } }))).toStrictEqual([0, []]);
158
- });
159
-
160
- test('returns no items when no filter passed', () => {
161
- expect(finderExecutionTestValue(finder.execute({}))).toStrictEqual([0, []]);
162
- });
163
-
164
- test('find items with object search property', () => {
165
- expect(finderExecutionTestValue(finder.execute(
166
- { propMeta: { meta1: { $eq: 'value1' } } },
167
- ))).toStrictEqual([2, [0, 1]]);
168
- expect(finderExecutionTestValue(finder.execute(
169
- { propMeta: { meta2: { $in: ['value2', 'value1'] } } },
170
- ))).toStrictEqual([2, [1, 2]]);
171
- expect(finderExecutionTestValue(finder.execute(
172
- { propMeta: { meta1: { $ne: 'value1' } } },
173
- ))).toStrictEqual([2, [2, 4]]);
174
- expect(finderExecutionTestValue(finder.execute(
175
- { propMeta: { meta1: { } } },
176
- ))).toStrictEqual([0, []]);
177
- });
178
-
179
- test('find items with complex and multiple filters', () => {
180
- // Multiple filters
181
- expect(finderExecutionTestValue(finder.execute(
182
- { propString: { $eq: 'item_prime' }, propNumber: { $lte: 18 } },
183
- ))).toStrictEqual([1, [0]]);
184
- // Multiple operators
185
- expect(finderExecutionTestValue(finder.execute(
186
- { propNumber: { $lte: 25, $gte: 15, $ne: 19 } },
187
- ))).toStrictEqual([3, [0, 2, 3]]);
188
- // Multiple filters and Object search
189
- expect(finderExecutionTestValue(finder.execute(
190
- { propString: { $in: ['item_prime', 'item_third'] }, propArray: { $ne: undefined }, propMeta: { meta2: { $ne: undefined } } },
191
- ))).toStrictEqual([1, [1]]);
192
- });
193
- });
194
- });
@@ -1,55 +0,0 @@
1
- import {DTPlayer} from '../../../src';
2
-
3
- /******************** STUB PROPERTIES CONSTANTS
4
- * Fixed properties to use with double classes, avoid auto generated and easy checking on test
5
- * *****/
6
- export const IDTest = 'DTPlayer-id-1234567';
7
- export const KeyTest = 'DTPlayer-key-1234567';
8
-
9
- // Specific elements constants
10
- export const KeyTest1 = 'DTPlayer-key-1234567-1';
11
- export const KeyTest2 = 'DTPlayer-key-1234567-2';
12
-
13
- /******************** HELPER TEST CLASS
14
- * Helper test class, inherits the main component
15
- * Providing methods to property access and other facilities, in order to avoid using class methods
16
- * *****/
17
- export class DTPlayerTest extends DTPlayer {
18
- th_get_id(): string {
19
- return this._id;
20
- }
21
-
22
- th_set_id(id: string): void {
23
- this._id = id;
24
- }
25
-
26
- th_get_key(): string {
27
- return this._key;
28
- }
29
-
30
- th_set_key(key: string): void {
31
- this._key = key;
32
- }
33
-
34
- th_get_domain(): string {
35
- return this._domain;
36
- }
37
- }
38
-
39
- /** ****************** STUB CLASS
40
- * Stub class, for using in other component
41
- * **** */
42
- export class DTPlayerStub extends DTPlayerTest {
43
- constructor(key: string) {
44
- super(key);
45
- this._key = key;
46
- this._id = IDTest;
47
- }
48
-
49
- getId(): string {
50
- return IDTest;
51
- }
52
- }
53
-
54
-
55
-
@@ -1,28 +0,0 @@
1
- import {afterEach, beforeEach, describe, expect, jest, test,} from '@jest/globals';
2
- import {DTPlayerTest} from "./DTPlayer.element.double";
3
- import {DTElement, DTPlayer} from "../../../src";
4
-
5
- /** *********************** TESTS SUITES ****************************** */
6
- describe('class DYOToolsPlayerElement', () => {
7
- let playerTest: DTPlayerTest;
8
-
9
- beforeEach(() => {
10
- playerTest = new DTPlayerTest();
11
- });
12
-
13
- afterEach(() => {
14
- jest.resetAllMocks();
15
- });
16
-
17
- describe('inheritance', () => {
18
- test('check good inheritance for class', () => {
19
- expect(DTPlayer.prototype instanceof DTElement).toBeTruthy();
20
- });
21
- });
22
-
23
- describe('_domain', () => {
24
- test('domain must be "player"', () => {
25
- expect(playerTest.th_get_domain()).toBe('player');
26
- });
27
- });
28
- });
@@ -1,92 +0,0 @@
1
- import {DTPlayer, DTPlayerManager} from '../../../src';
2
- import {DTAcceptedMetaData, DTManagerItemsType, DTManagerOptions} from "../../../src/types";
3
- import {DTBunchStubLibrary} from "../../core/DTBunch.double";
4
- import {DTPlayerStub} from "./DTPlayer.element.double";
5
-
6
- /******************** STUB PROPERTIES CONSTANTS
7
- * Fixed properties to use with double classes, avoid auto generated and easy checking on test
8
- * *****/
9
- export const IDTest = 'DTPlayerManager-id-1234567';
10
- export const KeyTest = 'DTPlayerManager-key-1234567';
11
-
12
- /******************** HELPER TEST CLASS
13
- * Helper test class, inherits the main component
14
- * Providing methods to property access and other facilities, in order to avoid using class methods
15
- * *****/
16
- export class DTPlayerManagerTest extends DTPlayerManager {
17
- th_get_id(): string {
18
- return this._id;
19
- }
20
-
21
- th_set_id(id: string): void {
22
- this._id = id;
23
- }
24
-
25
- th_get_key(): string {
26
- return this._key;
27
- }
28
-
29
- th_set_key(key: string): void {
30
- this._key = key;
31
- }
32
-
33
- th_get_domain(): string {
34
- return this._domain;
35
- }
36
-
37
- th_get_items(): any {
38
- return this._items;
39
- }
40
-
41
- th_set_items(items: DTManagerItemsType<DTPlayer<DTAcceptedMetaData>>): void {
42
- this._items = items;
43
- }
44
-
45
- th_get_single_item(id: string): any {
46
- return this._items[id];
47
- }
48
-
49
- th_get_scopes(): any {
50
- return this._scopes;
51
- }
52
-
53
- th_set_scopes(scopes: any): void {
54
- this._scopes = scopes;
55
- }
56
-
57
- th_get_library(): any {
58
- return this._library;
59
- }
60
-
61
- th_set_library(library: any): void {
62
- this._library = library;
63
- }
64
-
65
- th_get_options(): DTManagerOptions {
66
- return this._options;
67
- }
68
- }
69
-
70
- /** ****************** HELPER METHODS
71
- * Additional helper methods to use with testing
72
- * **** */
73
- export const populateManager = (manager: DTPlayerManagerTest): DTPlayerManagerTest => {
74
- const mockedElements = [];
75
-
76
- // Create players Stubs
77
- let nbPlayers = 3;
78
- while (nbPlayers > 0) {
79
- const player = new DTPlayerStub(`player${nbPlayers}`);
80
- mockedElements.push(player);
81
-
82
- nbPlayers--;
83
- }
84
-
85
- // Library
86
- manager.th_set_library(new DTBunchStubLibrary(mockedElements));
87
-
88
- return manager;
89
- }
90
-
91
-
92
-
@@ -1,178 +0,0 @@
1
- import {afterEach, beforeEach, describe, expect, jest, test,} from '@jest/globals';
2
- import {DTManager, DTPlayer, DTPlayerManager} from "../../../src";
3
- import {DTPlayerManagerTest} from "./DTPlayer.manager.double";
4
- import {DTPlayerStub, IDTest, KeyTest, KeyTest1, KeyTest2} from "./DTPlayer.element.double";
5
- import {managerDefaultOptions} from "../../../src/constants";
6
-
7
- /** ****************** MOCK DEPENDENCIES
8
- * Dependencies used by the component are mocked with Jest
9
- * **** */
10
- jest.mock('../../../src/libs/player/DTPlayer.element');
11
- jest.mock('../../../src/core/DTBunch');
12
-
13
- /** *********************** TESTS SUITES ****************************** */
14
- describe('class DYOToolsPlayerManager', () => {
15
- let playerManagerTest: DTPlayerManagerTest;
16
-
17
- beforeEach(() => {
18
- playerManagerTest = new DTPlayerManagerTest();
19
- });
20
-
21
- afterEach(() => {
22
- jest.resetAllMocks();
23
- });
24
-
25
- describe('inheritance', () => {
26
- test('check good inheritance for class', () => {
27
- expect(DTPlayerManager.prototype instanceof DTManager).toBeTruthy();
28
- });
29
- });
30
-
31
- describe('_domain', () => {
32
- test('domain must be "player"', () => {
33
- expect(playerManagerTest.th_get_domain()).toBe('player');
34
- });
35
- });
36
-
37
- describe('constructor()', () => {
38
- beforeEach(() => {
39
- (DTPlayer.prototype.getKey as any).mockImplementation(function() {
40
- return this._key;
41
- })
42
- });
43
-
44
- test('creation simple empty manager', () => {
45
- const newPlayerManager = new DTPlayerManagerTest();
46
-
47
- expect(newPlayerManager.th_get_key()).toBe('player');
48
- expect(newPlayerManager.th_get_items()).toStrictEqual({});
49
- expect(newPlayerManager.th_get_scopes()).toStrictEqual(['default', 'virtual']);
50
- expect(newPlayerManager.th_get_library()).toBeDefined();
51
- });
52
-
53
- test('creation with simple configuration - player number', () => {
54
- const configuration = {
55
- players: 3
56
- }
57
- const newPlayerManager = new DTPlayerManagerTest(configuration);
58
-
59
- expect(newPlayerManager.th_get_items()).toStrictEqual({});
60
-
61
- // Check creation of 3 DTPlayer
62
- let calls = 3;
63
- expect((DTPlayer.prototype.constructor as any).mock.calls.length).toBe(calls);
64
- while (calls > 0) {
65
- expect((DTPlayer.prototype.constructor as any).mock.calls[calls - 1][0]).toBe(`player${calls}`);
66
- calls--;
67
- }
68
-
69
- // Check adding 3 DTPlayer to library
70
- expect((newPlayerManager.th_get_library().add as any).mock.calls.length).toBe(3);
71
- });
72
-
73
- test('creation with simple configuration - player array', () => {
74
- const configuration = {
75
- players: [
76
- new DTPlayerStub(KeyTest),
77
- new DTPlayerStub(KeyTest1),
78
- new DTPlayerStub(KeyTest2),
79
- ]
80
- }
81
- const newPlayerManager = new DTPlayerManagerTest(configuration);
82
-
83
- expect(newPlayerManager.th_get_items()).toStrictEqual({});
84
- expect((newPlayerManager.th_get_library().addMany as any).mock.calls.length).toBe(1);
85
- expect((newPlayerManager.th_get_library().addMany as any).mock.calls[0][0].length).toBe(3);
86
- expect((newPlayerManager.th_get_library().addMany as any).mock.calls[0][0][0].th_get_key()).toBe(KeyTest);
87
- expect((newPlayerManager.th_get_library().addMany as any).mock.calls[0][0][1].th_get_key()).toBe(KeyTest1);
88
- expect((newPlayerManager.th_get_library().addMany as any).mock.calls[0][0][2].th_get_key()).toBe(KeyTest2);
89
- });
90
-
91
- test('creation with simple configuration - invalid player number', () => {
92
- const configuration = {
93
- players: -3
94
- }
95
- const newPlayerManager = new DTPlayerManagerTest(configuration);
96
-
97
- expect(newPlayerManager.th_get_items()).toStrictEqual({});
98
-
99
- // No creation and adding
100
- expect((DTPlayer.prototype.constructor as any).mock.calls.length).toBe(0);
101
- expect((newPlayerManager.th_get_library().add as any).mock.calls.length).toBe(0);
102
- });
103
-
104
- test('creation with simple configuration - errors manager option', () => {
105
- const configuration = {
106
- errors: true
107
- };
108
- const newPlayerManager = new DTPlayerManagerTest(configuration);
109
-
110
- expect(newPlayerManager.th_get_options()).toStrictEqual({
111
- ...managerDefaultOptions,
112
- errors: true
113
- });
114
- });
115
- });
116
-
117
- describe('getPlayer()', () => {
118
- beforeEach(() => {
119
- jest.spyOn(playerManagerTest, 'getLibrary').mockReturnValue(playerManagerTest.th_get_library());
120
- });
121
-
122
- test('alias - call get() of library', () => {
123
- const library = playerManagerTest.th_get_library();
124
-
125
- playerManagerTest.getPlayer(IDTest);
126
-
127
- expect((library.get).mock.calls.length).toBe(1);
128
- expect((library.get).mock.calls[0][0]).toBe(IDTest);
129
- });
130
- });
131
-
132
- describe('addPlayer()', () => {
133
- beforeEach(() => {
134
- jest.spyOn(playerManagerTest, 'getLibrary').mockReturnValue(playerManagerTest.th_get_library());
135
- });
136
-
137
- test('alias - call add() of library', () => {
138
- const library = playerManagerTest.th_get_library();
139
- const playerToAdd = new DTPlayerStub(KeyTest);
140
-
141
- playerManagerTest.addPlayer(playerToAdd);
142
-
143
- expect((library.add).mock.calls.length).toBe(1);
144
- expect((library.add).mock.calls[0][0]).toStrictEqual(playerToAdd);
145
- });
146
- });
147
-
148
- describe('removePlayer()', () => {
149
- beforeEach(() => {
150
- jest.spyOn(playerManagerTest, 'getLibrary').mockReturnValue(playerManagerTest.th_get_library());
151
- });
152
-
153
- test('alias - call remove() of library', () => {
154
- const library = playerManagerTest.th_get_library();
155
-
156
- playerManagerTest.removePlayer(IDTest);
157
-
158
- expect((library.remove).mock.calls.length).toBe(1);
159
- expect((library.remove).mock.calls[0][0]).toBe(IDTest);
160
- });
161
- });
162
-
163
- describe('findPlayers()', () => {
164
- beforeEach(() => {
165
- jest.spyOn(playerManagerTest, 'getLibrary').mockReturnValue(playerManagerTest.th_get_library());
166
- });
167
-
168
- test('alias - call find() of library', () => {
169
- const library = playerManagerTest.th_get_library();
170
- const testFilters = { id: { $eq: IDTest }, key: { $ne: KeyTest } };
171
-
172
- playerManagerTest.findPlayers(testFilters);
173
-
174
- expect((library.find).mock.calls.length).toBe(1);
175
- expect((library.find).mock.calls[0][0]).toStrictEqual(testFilters);
176
- });
177
- });
178
- });
package/tsconfig.dev.json DELETED
@@ -1,22 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "declaration": true,
5
- "removeComments": true,
6
- "emitDecoratorMetadata": true,
7
- "experimentalDecorators": true,
8
- "allowSyntheticDefaultImports": true,
9
- "target": "es2015",
10
- "sourceMap": true,
11
- "outDir": "./dist",
12
- "baseUrl": "./",
13
- "incremental": true
14
- },
15
- "include": [
16
- "src/**/*.ts",
17
- "test/**/*.ts"
18
- ],
19
- "exclude": [
20
- "node_modules"
21
- ]
22
- }
package/tsconfig.json DELETED
@@ -1,21 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "declaration": true,
5
- "removeComments": true,
6
- "emitDecoratorMetadata": true,
7
- "experimentalDecorators": true,
8
- "allowSyntheticDefaultImports": true,
9
- "target": "es2015",
10
- "sourceMap": true,
11
- "outDir": "./dist",
12
- "baseUrl": "./",
13
- "incremental": true
14
- },
15
- "include": [
16
- "src/**/*.ts"
17
- ],
18
- "exclude": [
19
- "node_modules"
20
- ]
21
- }
File without changes
File without changes