dyo-tools 0.1.0-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.c8rc.json +4 -0
- package/.eslintignore +2 -0
- package/.eslintrc.json +41 -0
- package/Makefile +34 -0
- package/README.md +0 -0
- package/TODO.md +18 -0
- package/babel.config.js +1 -0
- package/dist/core/DTBunch.d.ts +32 -0
- package/dist/core/DTBunch.js +283 -0
- package/dist/core/DTBunch.js.map +1 -0
- package/dist/core/DTComponent.d.ts +20 -0
- package/dist/core/DTComponent.js +41 -0
- package/dist/core/DTComponent.js.map +1 -0
- package/dist/core/DTComponentWithMeta.d.ts +9 -0
- package/dist/core/DTComponentWithMeta.js +32 -0
- package/dist/core/DTComponentWithMeta.js.map +1 -0
- package/dist/core/DTElement.d.ts +13 -0
- package/dist/core/DTElement.js +46 -0
- package/dist/core/DTElement.js.map +1 -0
- package/dist/core/DTError.d.ts +13 -0
- package/dist/core/DTError.js +28 -0
- package/dist/core/DTError.js.map +1 -0
- package/dist/core/DTPlayer.d.ts +8 -0
- package/dist/core/DTPlayer.js +30 -0
- package/dist/core/DTPlayer.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1321 -0
- package/dist/types/index.d.ts +58 -0
- package/dist/types/index.js +15 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/filters.d.ts +6 -0
- package/dist/utils/filters.js +39 -0
- package/dist/utils/filters.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +22 -0
- package/docs/assets/icons.css +1043 -0
- package/docs/assets/icons.png +0 -0
- package/docs/assets/icons@2x.png +0 -0
- package/docs/assets/main.js +52 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1388 -0
- package/docs/assets/widgets.png +0 -0
- package/docs/assets/widgets@2x.png +0 -0
- package/docs/classes/DTBunch.html +265 -0
- package/docs/classes/DTComponent.html +49 -0
- package/docs/classes/DTComponentWithMeta.html +73 -0
- package/docs/classes/DTElement.html +95 -0
- package/docs/classes/DTError.html +32 -0
- package/docs/classes/DTPlayer.html +86 -0
- package/docs/index.html +1 -0
- package/docs/modules.html +1 -0
- package/jest.config.js +6 -0
- package/package.json +41 -0
- package/src/core/DTBunch.ts +600 -0
- package/src/core/DTComponent.ts +135 -0
- package/src/core/DTComponentWithMeta.ts +62 -0
- package/src/core/DTElement.ts +96 -0
- package/src/core/DTError.ts +78 -0
- package/src/core/DTPlayer.ts +57 -0
- package/src/index.ts +7 -0
- package/src/types/index.ts +76 -0
- package/src/utils/filters.ts +64 -0
- package/test/core/DTBunch.double.ts +150 -0
- package/test/core/DTBunch.spec.ts +1374 -0
- package/test/core/DTComponent.double.ts +69 -0
- package/test/core/DTComponent.spec.ts +182 -0
- package/test/core/DTComponentWithMeta.double.ts +88 -0
- package/test/core/DTComponentWithMeta.spec.ts +112 -0
- package/test/core/DTElement.double.ts +27 -0
- package/test/core/DTElement.spec.ts +181 -0
- package/test/core/DTError.double.ts +43 -0
- package/test/core/DTError.spec.ts +106 -0
- package/test/core/DTPlayer.double.ts +49 -0
- package/test/core/DTPlayer.spec.ts +102 -0
- package/test/utils/filters.spec.ts +109 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { jest } from '@jest/globals';
|
|
2
|
+
import { DTBunch } from '../../src';
|
|
3
|
+
import {
|
|
4
|
+
BunchMetaData,
|
|
5
|
+
HaileiMetaData,
|
|
6
|
+
IldressMetaData,
|
|
7
|
+
IMetaDataTest,
|
|
8
|
+
MaydenaMetaData,
|
|
9
|
+
MeldrineMetaData,
|
|
10
|
+
YssaliaMetaData,
|
|
11
|
+
} from './DTComponentWithMeta.double';
|
|
12
|
+
import DYOToolsElement from '../../src/core/DTElement';
|
|
13
|
+
import { DTBunchOptionsConstructor, DTElementToObject } from '../../src/types';
|
|
14
|
+
import { DTErrorStub } from './DTError.double';
|
|
15
|
+
import Mocked = jest.Mocked;
|
|
16
|
+
|
|
17
|
+
// Mocking extra Components for using with Bunch
|
|
18
|
+
jest.mock('../../src/core/DTElement');
|
|
19
|
+
jest.mock('../../src/core/DTError');
|
|
20
|
+
jest.mock('../../src/utils/filters');
|
|
21
|
+
|
|
22
|
+
// Global Variables
|
|
23
|
+
export const IDTest = 'DTBunch-id-1234567';
|
|
24
|
+
export const KeyTest = 'DTBunch-key-1234567';
|
|
25
|
+
|
|
26
|
+
// Default options
|
|
27
|
+
export const defaultOptions: DTBunchOptionsConstructor = {
|
|
28
|
+
errors: false,
|
|
29
|
+
uniqueKey: false,
|
|
30
|
+
inheritOwner: false,
|
|
31
|
+
replaceIndex: false,
|
|
32
|
+
virtualContext: false,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
// Mock Constructor and parent methods for DTElement
|
|
36
|
+
export class DTBunchMock extends DTBunch<Mocked<DYOToolsElement<IMetaDataTest>>, IMetaDataTest> {
|
|
37
|
+
constructor(options: Partial<DTBunchOptionsConstructor> = {}) {
|
|
38
|
+
super();
|
|
39
|
+
this._id = IDTest;
|
|
40
|
+
this._key = KeyTest;
|
|
41
|
+
this._errors = [];
|
|
42
|
+
this._globalOptions = { ...defaultOptions, ...options };
|
|
43
|
+
this._items = [];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
getComponentType(): string {
|
|
47
|
+
return this._componentType;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
mockDefineItems(numberItems: number): void {
|
|
51
|
+
this._items = generateMockedElements(numberItems);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
mockDefineOptions(options: Partial<DTBunchOptionsConstructor>): void {
|
|
55
|
+
this._globalOptions = { ...this._globalOptions, ...options };
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
mockDefineErrors(errors: Array<DTErrorStub>): void {
|
|
59
|
+
this._errors = errors;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
mockItemGetter(index = 0): Mocked<DYOToolsElement<IMetaDataTest>> | undefined {
|
|
63
|
+
return this._items[index];
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
setManyMeta(metaValues: Partial<IMetaDataTest>) {
|
|
67
|
+
this._meta = BunchMetaData;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Global constants for Mocked DTElements
|
|
72
|
+
export const HaileiIdTest = 'DTElement-id-Hailei';
|
|
73
|
+
export const HaileiKeyTest = 'DTElement-key-Hailei';
|
|
74
|
+
export const HaileiToObjectTest = { id: 'DTElement-id-Hailei', key: 'DTElement-key-Hailei', type: 'element' };
|
|
75
|
+
export const MeldrineIdTest = 'DTElement-id-Meldrine';
|
|
76
|
+
export const MeldrineKeyTest = 'DTElement-key-Meldrine';
|
|
77
|
+
export const MeldrineToObjectTest = { id: 'DTElement-id-Meldrine', key: 'DTElement-key-Meldrine', type: 'element' };
|
|
78
|
+
export const MaydenaIdTest = 'DTElement-id-Maydena';
|
|
79
|
+
export const MaydenaKeyTest = 'DTElement-key-Maydena';
|
|
80
|
+
export const MaydenaToObjectTest = { id: 'DTElement-id-Maydena', key: 'DTElement-key-Maydena', type: 'element' };
|
|
81
|
+
export const IldressIdTest = 'DTElement-id-Ildress';
|
|
82
|
+
export const IldressKeyTest = 'DTElement-key-Ildress';
|
|
83
|
+
export const IldressToObjectTest = { id: 'DTElement-id-Ildress', key: 'DTElement-key-Ildress', type: 'element' };
|
|
84
|
+
export const YssaliaIdTest = 'DTElement-id-Yssalia';
|
|
85
|
+
export const YssaliaKeyTest = 'DTElement-key-Yssalia';
|
|
86
|
+
export const YssaliaToObjectTest = { id: 'DTElement-id-Yssalia', key: 'DTElement-key-Yssalia', type: 'element' };
|
|
87
|
+
|
|
88
|
+
// Function to generate Mocked DTElement for use in parent
|
|
89
|
+
export const generateMockedElements = (numberElements: number): Array<Mocked<DYOToolsElement<IMetaDataTest>>> => {
|
|
90
|
+
const mockedElements = [];
|
|
91
|
+
const mockedData: Array<{ id: string, key: string, meta: IMetaDataTest, toObject: DTElementToObject<IMetaDataTest> }> = [
|
|
92
|
+
{
|
|
93
|
+
id: HaileiIdTest,
|
|
94
|
+
key: HaileiKeyTest,
|
|
95
|
+
meta: HaileiMetaData,
|
|
96
|
+
toObject: HaileiToObjectTest,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: MeldrineIdTest,
|
|
100
|
+
key: MeldrineKeyTest,
|
|
101
|
+
meta: MeldrineMetaData,
|
|
102
|
+
toObject: MeldrineToObjectTest,
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
id: MaydenaIdTest,
|
|
106
|
+
key: MaydenaKeyTest,
|
|
107
|
+
meta: MaydenaMetaData,
|
|
108
|
+
toObject: MaydenaToObjectTest,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
id: IldressIdTest,
|
|
112
|
+
key: IldressKeyTest,
|
|
113
|
+
meta: IldressMetaData,
|
|
114
|
+
toObject: IldressToObjectTest,
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: YssaliaIdTest,
|
|
118
|
+
key: YssaliaKeyTest,
|
|
119
|
+
meta: YssaliaMetaData,
|
|
120
|
+
toObject: YssaliaToObjectTest,
|
|
121
|
+
},
|
|
122
|
+
];
|
|
123
|
+
|
|
124
|
+
for (let i = 0; i < numberElements; i++) {
|
|
125
|
+
const mockedElement = new DYOToolsElement() as Mocked<DYOToolsElement<IMetaDataTest>>;
|
|
126
|
+
const selectedMock = i % 5;
|
|
127
|
+
|
|
128
|
+
mockedElement.getId.mockReturnValue(`${mockedData[selectedMock].id}-${i}`);
|
|
129
|
+
mockedElement.getKey.mockReturnValue(mockedData[selectedMock].key);
|
|
130
|
+
mockedElement.getManyMeta.mockReturnValue(mockedData[selectedMock].meta);
|
|
131
|
+
mockedElement.setContext.mockImplementation(function (context) {
|
|
132
|
+
this._context = context;
|
|
133
|
+
});
|
|
134
|
+
mockedElement.getContext.mockImplementation(function () {
|
|
135
|
+
return this._context;
|
|
136
|
+
});
|
|
137
|
+
mockedElement.setOwner.mockImplementation(function (owner) {
|
|
138
|
+
this._owner = owner;
|
|
139
|
+
});
|
|
140
|
+
mockedElement.getOwner.mockImplementation(function () {
|
|
141
|
+
return this._owner;
|
|
142
|
+
});
|
|
143
|
+
mockedElement.copy.mockReturnValue(mockedElement);
|
|
144
|
+
mockedElement.toObject.mockReturnValue(mockedData[selectedMock].toObject);
|
|
145
|
+
|
|
146
|
+
mockedElements.push(mockedElement);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return mockedElements;
|
|
150
|
+
};
|