Skip to content

Commit 8647a83

Browse files
committed
fix unit tests (because of types)
1 parent cd14151 commit 8647a83

File tree

5 files changed

+82
-82
lines changed

5 files changed

+82
-82
lines changed

packages/cubejs-schema-compiler/test/unit/folders.test.ts

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,20 @@ describe('Cube Folders', () => {
2525
(it) => it.config.name === 'test_view'
2626
);
2727

28-
expect(emptyView.config.folders.length).toBe(2);
28+
expect(emptyView?.config.folders.length).toBe(2);
2929

30-
const folder1 = emptyView.config.folders.find(
30+
const folder1 = emptyView?.config.folders.find(
3131
(it) => it.name === 'folder1'
3232
);
33-
expect(folder1.members).toEqual([
33+
expect(folder1?.members).toEqual([
3434
'test_view.age',
3535
'test_view.renamed_gender',
3636
]);
3737

38-
const folder2 = emptyView.config.folders.find(
38+
const folder2 = emptyView?.config.folders.find(
3939
(it) => it.name === 'folder2'
4040
);
41-
expect(folder2.members).toEqual(
41+
expect(folder2?.members).toEqual(
4242
expect.arrayContaining(['test_view.age', 'test_view.renamed_gender'])
4343
);
4444
});
@@ -48,29 +48,29 @@ describe('Cube Folders', () => {
4848
(it) => it.config.name === 'test_view4'
4949
);
5050

51-
expect(testView.config.folders.length).toBe(3);
51+
expect(testView?.config.folders.length).toBe(3);
5252

53-
const folder1 = testView.config.folders.find(
53+
const folder1 = testView?.config.folders.find(
5454
(it) => it.name === 'folder1'
5555
);
56-
expect(folder1.members).toEqual([
56+
expect(folder1?.members).toEqual([
5757
'test_view4.users_age',
5858
'test_view4.users_state',
5959
'test_view4.renamed_orders_status',
6060
]);
6161

62-
const folder2 = testView.config.folders.find(
62+
const folder2 = testView?.config.folders.find(
6363
(it) => it.name === 'folder2'
6464
);
65-
expect(folder2.members).toEqual(
65+
expect(folder2?.members).toEqual(
6666
expect.arrayContaining(['test_view4.users_city', 'test_view4.users_renamed_in_view3_gender'])
6767
);
6868

69-
const folder3 = testView.config.folders.find(
69+
const folder3 = testView?.config.folders.find(
7070
(it) => it.name === 'folder3'
7171
);
72-
expect(folder3.members.length).toBe(9);
73-
expect(folder3.members).toEqual([
72+
expect(folder3?.members.length).toBe(9);
73+
expect(folder3?.members).toEqual([
7474
'test_view4.users_city',
7575
'test_view4.renamed_orders_status',
7676
'test_view4.renamed_orders_count',
@@ -99,43 +99,43 @@ describe('Cube Folders', () => {
9999
(it) => it.config.name === 'test_view4'
100100
);
101101

102-
expect(testView.config.folders.length).toBe(5);
102+
expect(testView?.config.folders.length).toBe(5);
103103

104-
const folder1 = testView.config.folders.find(
104+
const folder1 = testView?.config.folders.find(
105105
(it) => it.name === 'folder1'
106106
);
107-
expect(folder1.members).toEqual([
107+
expect(folder1?.members).toEqual([
108108
'test_view4.users_age',
109109
'test_view4.users_state',
110110
'test_view4.renamed_orders_status',
111111
]);
112112

113-
const folder2 = testView.config.folders.find(
113+
const folder2 = testView?.config.folders.find(
114114
(it) => it.name === 'folder2'
115115
);
116-
expect(folder2.members).toEqual(
116+
expect(folder2?.members).toEqual(
117117
expect.arrayContaining(['test_view4.users_city', 'test_view4.users_renamed_in_view3_gender'])
118118
);
119119

120-
const folder3 = testView.config.folders.find(
120+
const folder3 = testView?.config.folders.find(
121121
(it) => it.name === 'folder3'
122122
);
123-
expect(folder3.members.length).toBe(1);
124-
expect(folder3.members).toEqual([
123+
expect(folder3?.members.length).toBe(1);
124+
expect(folder3?.members).toEqual([
125125
'test_view4.users_city',
126126
]);
127127

128-
const folder4 = testView.config.folders.find(
128+
const folder4 = testView?.config.folders.find(
129129
(it) => it.name === 'folder3/inner folder 4'
130130
);
131-
expect(folder4.members.length).toBe(1);
132-
expect(folder4.members).toEqual(['test_view4.renamed_orders_status']);
131+
expect(folder4?.members.length).toBe(1);
132+
expect(folder4?.members).toEqual(['test_view4.renamed_orders_status']);
133133

134-
const folder5 = testView.config.folders.find(
134+
const folder5 = testView?.config.folders.find(
135135
(it) => it.name === 'folder3/inner folder 5'
136136
);
137-
expect(folder5.members.length).toBe(9);
138-
expect(folder5.members).toEqual([
137+
expect(folder5?.members.length).toBe(9);
138+
expect(folder5?.members).toEqual([
139139
'test_view4.renamed_orders_count',
140140
'test_view4.renamed_orders_id',
141141
'test_view4.renamed_orders_number',
@@ -153,33 +153,33 @@ describe('Cube Folders', () => {
153153
(it) => it.config.name === 'test_view4'
154154
);
155155

156-
expect(testView.config.nestedFolders.length).toBe(3);
156+
expect(testView?.config.nestedFolders.length).toBe(3);
157157

158-
const folder1 = testView.config.nestedFolders.find(
158+
const folder1 = testView?.config.nestedFolders.find(
159159
(it) => it.name === 'folder1'
160160
);
161-
expect(folder1.members).toEqual([
161+
expect(folder1?.members).toEqual([
162162
'test_view4.users_age',
163163
'test_view4.users_state',
164164
'test_view4.renamed_orders_status',
165165
]);
166166

167-
const folder2 = testView.config.nestedFolders.find(
167+
const folder2 = testView?.config.nestedFolders.find(
168168
(it) => it.name === 'folder2'
169169
);
170-
expect(folder2.members).toEqual(
170+
expect(folder2?.members).toEqual(
171171
expect.arrayContaining(['test_view4.users_city', 'test_view4.users_renamed_in_view3_gender'])
172172
);
173173

174-
const folder3 = testView.config.nestedFolders.find(
174+
const folder3 = testView?.config.nestedFolders.find(
175175
(it) => it.name === 'folder3'
176176
);
177-
expect(folder3.members.length).toBe(3);
178-
expect(folder3.members[1]).toEqual(
177+
expect(folder3?.members.length).toBe(3);
178+
expect(folder3?.members[1]).toEqual(
179179
{ name: 'inner folder 4', members: ['test_view4.renamed_orders_status'] }
180180
);
181-
expect(folder3.members[2].name).toEqual('inner folder 5');
182-
expect(folder3.members[2].members).toEqual([
181+
expect((folder3?.members[2] as any)?.name).toEqual('inner folder 5');
182+
expect((folder3?.members[2] as any)?.members).toEqual([
183183
'test_view4.renamed_orders_count',
184184
'test_view4.renamed_orders_id',
185185
'test_view4.renamed_orders_number',
@@ -200,31 +200,31 @@ describe('Cube Folders', () => {
200200
(it) => it.config.name === 'test_view3'
201201
);
202202

203-
expect(view2.config.folders.length).toBe(1);
204-
expect(view3.config.folders.length).toBe(2);
203+
expect(view2?.config.folders.length).toBe(1);
204+
expect(view3?.config.folders.length).toBe(2);
205205

206-
const folder1 = view2.config.folders.find(
206+
const folder1 = view2?.config.folders.find(
207207
(it) => it.name === 'folder1'
208208
);
209-
expect(folder1.members).toEqual([
209+
expect(folder1?.members).toEqual([
210210
'test_view2.users_age',
211211
'test_view2.users_state',
212212
'test_view2.renamed_orders_status',
213213
]);
214214

215-
const folder1v3 = view3.config.folders.find(
215+
const folder1v3 = view3?.config.folders.find(
216216
(it) => it.name === 'folder1'
217217
);
218-
expect(folder1v3.members).toEqual([
218+
expect(folder1v3?.members).toEqual([
219219
'test_view3.users_age',
220220
'test_view3.users_state',
221221
'test_view3.renamed_orders_status',
222222
]);
223223

224-
const folder2 = view3.config.folders.find(
224+
const folder2 = view3?.config.folders.find(
225225
(it) => it.name === 'folder2'
226226
);
227-
expect(folder2.members).toEqual(
227+
expect(folder2?.members).toEqual(
228228
expect.arrayContaining(['test_view3.users_city', 'test_view3.users_renamed_in_view3_gender'])
229229
);
230230
});
@@ -252,10 +252,10 @@ describe('Cube Folders', () => {
252252
(it) => it.config.name === 'test_view2'
253253
);
254254

255-
expect(view.config.folders.length).toBe(1);
255+
expect(view?.config.folders.length).toBe(1);
256256

257-
const folder1 = view.config.folders.find((it) => it.name === 'folder1');
258-
expect(folder1.members).toEqual([
257+
const folder1 = view?.config.folders.find((it) => it.name === 'folder1');
258+
expect(folder1?.members).toEqual([
259259
'test_view2.users_age',
260260
'test_view2.users_state',
261261
'test_view2.renamed_orders_status',

packages/cubejs-schema-compiler/test/unit/hierarchies.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ describe('Cube hierarchies', () => {
1717
(it) => it.config.name === 'orders_users_view'
1818
);
1919

20-
expect(ordersView.config.hierarchies.length).toBe(2);
21-
expect(ordersView.config.hierarchies).toEqual([
20+
expect(ordersView?.config.hierarchies.length).toBe(2);
21+
expect(ordersView?.config.hierarchies).toEqual([
2222
{
2323
name: 'orders_users_view.orders_hierarchy',
2424
title: 'Hello Hierarchy',
@@ -42,19 +42,19 @@ describe('Cube hierarchies', () => {
4242
const ordersIncludesExcludesView = metaTransformer.cubes.find(
4343
(it) => it.config.name === 'orders_includes_excludes_view'
4444
);
45-
expect(ordersIncludesExcludesView.config.hierarchies.length).toBe(1);
45+
expect(ordersIncludesExcludesView?.config.hierarchies.length).toBe(1);
4646

4747
const emptyView = metaTransformer.cubes.find(
4848
(it) => it.config.name === 'empty_view'
4949
);
50-
expect(emptyView.config.hierarchies.length).toBe(0);
50+
expect(emptyView?.config.hierarchies.length).toBe(0);
5151

5252
const allHierarchyView = metaTransformer.cubes.find(
5353
(it) => it.config.name === 'all_hierarchy_view'
5454
);
55-
expect(allHierarchyView.config.hierarchies.length).toBe(3);
55+
expect(allHierarchyView?.config.hierarchies.length).toBe(3);
5656

57-
const prefixedHierarchy = allHierarchyView.config.hierarchies.find((it) => it.name === 'all_hierarchy_view.users_users_hierarchy');
57+
const prefixedHierarchy = allHierarchyView?.config.hierarchies.find((it) => it.name === 'all_hierarchy_view.users_users_hierarchy');
5858
expect(prefixedHierarchy).toBeTruthy();
5959
expect(prefixedHierarchy?.aliasMember).toEqual('users.users_hierarchy');
6060
expect(prefixedHierarchy?.levels).toEqual(['all_hierarchy_view.users_age', 'all_hierarchy_view.users_city']);
@@ -73,7 +73,7 @@ describe('Cube hierarchies', () => {
7373
(it) => it.config.name === 'only_hierarchy_included_view'
7474
);
7575

76-
expect(view1.config.dimensions).toEqual(
76+
expect(view1?.config.dimensions).toEqual(
7777
expect.arrayContaining([
7878
expect.objectContaining({ name: 'only_hierarchy_included_view.status' }),
7979
expect.objectContaining({ name: 'only_hierarchy_included_view.number' }),
@@ -85,8 +85,8 @@ describe('Cube hierarchies', () => {
8585
const view2 = metaTransformer.cubes.find(
8686
(it) => it.config.name === 'auto_include_view'
8787
);
88-
expect(view2.config.dimensions.length).toEqual(2);
89-
expect(view2.config.dimensions).toEqual(
88+
expect(view2?.config.dimensions.length).toEqual(2);
89+
expect(view2?.config.dimensions).toEqual(
9090
expect.arrayContaining([
9191
expect.objectContaining({ name: 'auto_include_view.status' }),
9292
expect.objectContaining({ name: 'auto_include_view.number' }),
@@ -177,7 +177,7 @@ describe('Cube hierarchies', () => {
177177
(it) => it.config.name === 'orders'
178178
);
179179

180-
expect(ordersCube.config.hierarchies).toEqual([
180+
expect(ordersCube?.config.hierarchies).toEqual([
181181
{
182182
aliasMember: undefined,
183183
name: 'orders.hello',

packages/cubejs-schema-compiler/test/unit/schema.test.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,8 @@ describe('Schema Testing', () => {
350350
expect(dimensions.length).toBeGreaterThan(0);
351351
expect(dimensions.every((dimension) => dimension.primaryKey)).toBeDefined();
352352
expect(dimensions.every((dimension) => typeof dimension.primaryKey === 'boolean')).toBe(true);
353-
expect(dimensions.find((dimension) => dimension.name === 'CubeA.id').primaryKey).toBe(true);
354-
expect(dimensions.find((dimension) => dimension.name === 'CubeA.type').primaryKey).toBe(false);
353+
expect(dimensions.find((dimension) => dimension.name === 'CubeA.id')?.primaryKey).toBe(true);
354+
expect(dimensions.find((dimension) => dimension.name === 'CubeA.type')?.primaryKey).toBe(false);
355355
});
356356

357357
it('descriptions', async () => {
@@ -369,15 +369,15 @@ describe('Schema Testing', () => {
369369

370370
expect(dimensions).toBeDefined();
371371
expect(dimensions.length).toBeGreaterThan(0);
372-
expect(dimensions.find((dimension) => dimension.name === 'CubeA.id').description).toBe('id dimension from createCubeSchema');
372+
expect(dimensions.find((dimension) => dimension.name === 'CubeA.id')?.description).toBe('id dimension from createCubeSchema');
373373

374374
expect(measures).toBeDefined();
375375
expect(measures.length).toBeGreaterThan(0);
376-
expect(measures.find((measure) => measure.name === 'CubeA.count').description).toBe('count measure from createCubeSchema');
376+
expect(measures.find((measure) => measure.name === 'CubeA.count')?.description).toBe('count measure from createCubeSchema');
377377

378378
expect(segments).toBeDefined();
379379
expect(segments.length).toBeGreaterThan(0);
380-
expect(segments.find((segment) => segment.name === 'CubeA.sfUsers').description).toBe('SF users segment from createCubeSchema');
380+
expect(segments.find((segment) => segment.name === 'CubeA.sfUsers')?.description).toBe('SF users segment from createCubeSchema');
381381
});
382382

383383
it('custom granularities in meta', async () => {
@@ -393,27 +393,27 @@ describe('Schema Testing', () => {
393393

394394
const dg = dimensions.find((dimension) => dimension.name === 'orders.createdAt');
395395
expect(dg).toBeDefined();
396-
expect(dg.granularities).toBeDefined();
397-
expect(dg.granularities.length).toBeGreaterThan(0);
396+
expect(dg?.granularities).toBeDefined();
397+
expect(dg?.granularities?.length).toBeGreaterThan(0);
398398

399399
// Granularity defined with title
400-
let gr = dg.granularities.find(g => g.name === 'half_year');
400+
let gr = dg?.granularities?.find(g => g.name === 'half_year');
401401
expect(gr).toBeDefined();
402-
expect(gr.title).toBe('6 month intervals');
403-
expect(gr.interval).toBe('6 months');
402+
expect(gr?.title).toBe('6 month intervals');
403+
expect(gr?.interval).toBe('6 months');
404404

405-
gr = dg.granularities.find(g => g.name === 'half_year_by_1st_april');
405+
gr = dg?.granularities?.find(g => g.name === 'half_year_by_1st_april');
406406
expect(gr).toBeDefined();
407-
expect(gr.title).toBe('Half year from Apr to Oct');
408-
expect(gr.interval).toBe('6 months');
409-
expect(gr.offset).toBe('3 months');
407+
expect(gr?.title).toBe('Half year from Apr to Oct');
408+
expect(gr?.interval).toBe('6 months');
409+
expect(gr?.offset).toBe('3 months');
410410

411411
// // Granularity defined without title -> titlize()
412-
gr = dg.granularities.find(g => g.name === 'half_year_by_1st_june');
412+
gr = dg?.granularities?.find(g => g.name === 'half_year_by_1st_june');
413413
expect(gr).toBeDefined();
414-
expect(gr.title).toBe('Half Year By1 St June');
415-
expect(gr.interval).toBe('6 months');
416-
expect(gr.origin).toBe('2020-06-01 10:00:00');
414+
expect(gr?.title).toBe('Half Year By1 St June');
415+
expect(gr?.interval).toBe('6 months');
416+
expect(gr?.origin).toBe('2020-06-01 10:00:00');
417417
});
418418

419419
describe('Joins', () => {

packages/cubejs-schema-compiler/test/unit/switch-dimension.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ describe('Switch Dimension', () => {
1818
const statusDim = cube.config.dimensions.find((d) => d.name === 'orders.status');
1919
const currencyDim = cube.config.dimensions.find((d) => d.name === 'orders.currency');
2020

21-
expect(numberDim.type).toBe('number');
22-
expect(statusDim.type).toBe('string');
23-
expect(currencyDim.type).toBe('string');
21+
expect(numberDim?.type).toBe('number');
22+
expect(statusDim?.type).toBe('string');
23+
expect(currencyDim?.type).toBe('string');
2424
});
2525
});

packages/cubejs-schema-compiler/test/unit/yaml-schema.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,15 +386,15 @@ describe('Yaml Schema Testing', () => {
386386

387387
expect(dimensions).toBeDefined();
388388
expect(dimensions.length).toBeGreaterThan(0);
389-
expect(dimensions.find((dimension) => dimension.name === 'CubeA.id').description).toBe('id dimension from YAML test cube');
389+
expect(dimensions.find((dimension) => dimension.name === 'CubeA.id')?.description).toBe('id dimension from YAML test cube');
390390

391391
expect(measures).toBeDefined();
392392
expect(measures.length).toBeGreaterThan(0);
393-
expect(measures.find((measure) => measure.name === 'CubeA.count').description).toBe('count measure from YAML test cube');
393+
expect(measures.find((measure) => measure.name === 'CubeA.count')?.description).toBe('count measure from YAML test cube');
394394

395395
expect(segments).toBeDefined();
396396
expect(segments.length).toBeGreaterThan(0);
397-
expect(segments.find((segment) => segment.name === 'CubeA.sfUsers').description).toBe('SF users segment from createCubeSchema');
397+
expect(segments.find((segment) => segment.name === 'CubeA.sfUsers')?.description).toBe('SF users segment from createCubeSchema');
398398
});
399399

400400
describe('Custom dimension granularities: ', () => {

0 commit comments

Comments
 (0)