Skip to content

Commit 934a645

Browse files
committed
update tests
1 parent 5a25905 commit 934a645

File tree

1 file changed

+106
-1
lines changed

1 file changed

+106
-1
lines changed

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

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ describe('Cube Folders', () => {
4343
);
4444
});
4545

46-
it('a nested folders with some * and named members', async () => {
46+
it('a nested folders with some * and named members (merged)', async () => {
4747
const testView = metaTransformer.cubes.find(
4848
(it) => it.config.name === 'test_view4'
4949
);
@@ -69,6 +69,111 @@ describe('Cube Folders', () => {
6969
const folder3 = testView.config.folders.find(
7070
(it) => it.name === 'folder3'
7171
);
72+
expect(folder3.members.length).toBe(9);
73+
expect(folder3.members).toEqual([
74+
'test_view4.users_city',
75+
'test_view4.renamed_orders_status',
76+
'test_view4.renamed_orders_count',
77+
'test_view4.renamed_orders_id',
78+
'test_view4.renamed_orders_number',
79+
'test_view4.users_age',
80+
'test_view4.users_state',
81+
'test_view4.users_gender',
82+
'test_view4.users_renamed_in_view3_gender',
83+
]);
84+
});
85+
86+
it('a nested folders with some * and named members (flattened)', async () => {
87+
process.env.CUBEJS_NESTED_FOLDERS_DELIMITER = '/';
88+
const modelContent = fs.readFileSync(
89+
path.join(process.cwd(), '/test/unit/fixtures/folders.yml'),
90+
'utf8'
91+
);
92+
const prepared = prepareYamlCompiler(modelContent);
93+
const compilerL = prepared.compiler;
94+
const metaTransformerL = prepared.metaTransformer;
95+
96+
await compilerL.compile();
97+
98+
const testView = metaTransformerL.cubes.find(
99+
(it) => it.config.name === 'test_view4'
100+
);
101+
102+
expect(testView.config.folders.length).toBe(5);
103+
104+
const folder1 = testView.config.folders.find(
105+
(it) => it.name === 'folder1'
106+
);
107+
expect(folder1.members).toEqual([
108+
'test_view4.users_age',
109+
'test_view4.users_state',
110+
'test_view4.renamed_orders_status',
111+
]);
112+
113+
const folder2 = testView.config.folders.find(
114+
(it) => it.name === 'folder2'
115+
);
116+
expect(folder2.members).toEqual(
117+
expect.arrayContaining(['test_view4.users_city', 'test_view4.users_renamed_in_view3_gender'])
118+
);
119+
120+
const folder3 = testView.config.folders.find(
121+
(it) => it.name === 'folder3'
122+
);
123+
expect(folder3.members.length).toBe(1);
124+
expect(folder3.members).toEqual([
125+
'test_view4.users_city',
126+
]);
127+
128+
const folder4 = testView.config.folders.find(
129+
(it) => it.name === 'folder3/inner folder 4'
130+
);
131+
expect(folder4.members.length).toBe(1);
132+
expect(folder4.members).toEqual(['test_view4.renamed_orders_status']);
133+
134+
const folder5 = testView.config.folders.find(
135+
(it) => it.name === 'folder3/inner folder 5'
136+
);
137+
expect(folder5.members.length).toBe(9);
138+
expect(folder5.members).toEqual([
139+
'test_view4.renamed_orders_count',
140+
'test_view4.renamed_orders_id',
141+
'test_view4.renamed_orders_number',
142+
'test_view4.renamed_orders_status',
143+
'test_view4.users_age',
144+
'test_view4.users_state',
145+
'test_view4.users_gender',
146+
'test_view4.users_city',
147+
'test_view4.users_renamed_in_view3_gender',
148+
]);
149+
});
150+
151+
it('a nested folders with some * and named members (nested)', async () => {
152+
const testView = metaTransformer.cubes.find(
153+
(it) => it.config.name === 'test_view4'
154+
);
155+
156+
expect(testView.config.nestedFolders.length).toBe(3);
157+
158+
const folder1 = testView.config.nestedFolders.find(
159+
(it) => it.name === 'folder1'
160+
);
161+
expect(folder1.members).toEqual([
162+
'test_view4.users_age',
163+
'test_view4.users_state',
164+
'test_view4.renamed_orders_status',
165+
]);
166+
167+
const folder2 = testView.config.nestedFolders.find(
168+
(it) => it.name === 'folder2'
169+
);
170+
expect(folder2.members).toEqual(
171+
expect.arrayContaining(['test_view4.users_city', 'test_view4.users_renamed_in_view3_gender'])
172+
);
173+
174+
const folder3 = testView.config.nestedFolders.find(
175+
(it) => it.name === 'folder3'
176+
);
72177
expect(folder3.members.length).toBe(3);
73178
expect(folder3.members[1]).toEqual(
74179
{ name: 'inner folder 4', members: ['test_view4.renamed_orders_status'] }

0 commit comments

Comments
 (0)