Skip to content

Commit d4fb865

Browse files
committed
update tests
1 parent 6506da7 commit d4fb865

File tree

2 files changed

+178
-1
lines changed

2 files changed

+178
-1
lines changed

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

Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1509,6 +1509,7 @@ Object {
15091509
},
15101510
"name": "orders_view",
15111511
"preAggregations": Object {},
1512+
"rawCubes": [Function],
15121513
"rawFolders": [Function],
15131514
"segments": Object {},
15141515
}
@@ -1574,3 +1575,163 @@ Object {
15741575
"type": "number",
15751576
}
15761577
`;
1578+
1579+
exports[`Schema Testing Views views extends views 1`] = `
1580+
Object {
1581+
"renamed_orders_id": Object {
1582+
"aliasMember": "orders.id",
1583+
"description": undefined,
1584+
"format": undefined,
1585+
"meta": undefined,
1586+
"ownedByCube": false,
1587+
"sql": [Function],
1588+
"title": undefined,
1589+
"type": "number",
1590+
},
1591+
"renamed_orders_number": Object {
1592+
"aliasMember": "orders.number",
1593+
"description": undefined,
1594+
"format": undefined,
1595+
"meta": undefined,
1596+
"ownedByCube": false,
1597+
"sql": [Function],
1598+
"title": undefined,
1599+
"type": "number",
1600+
},
1601+
"renamed_orders_status": Object {
1602+
"aliasMember": "orders.status",
1603+
"description": undefined,
1604+
"format": undefined,
1605+
"meta": undefined,
1606+
"ownedByCube": false,
1607+
"sql": [Function],
1608+
"title": undefined,
1609+
"type": "string",
1610+
},
1611+
"users_age": Object {
1612+
"aliasMember": "users.age",
1613+
"description": undefined,
1614+
"format": undefined,
1615+
"meta": undefined,
1616+
"ownedByCube": false,
1617+
"sql": [Function],
1618+
"title": undefined,
1619+
"type": "number",
1620+
},
1621+
"users_city": Object {
1622+
"aliasMember": "users.city",
1623+
"description": undefined,
1624+
"format": undefined,
1625+
"meta": undefined,
1626+
"ownedByCube": false,
1627+
"sql": [Function],
1628+
"title": undefined,
1629+
"type": "string",
1630+
},
1631+
"users_gender": Object {
1632+
"aliasMember": "users.gender",
1633+
"description": undefined,
1634+
"format": undefined,
1635+
"meta": undefined,
1636+
"ownedByCube": false,
1637+
"sql": [Function],
1638+
"title": undefined,
1639+
"type": "string",
1640+
},
1641+
"users_state": Object {
1642+
"aliasMember": "users.state",
1643+
"description": undefined,
1644+
"format": undefined,
1645+
"meta": undefined,
1646+
"ownedByCube": false,
1647+
"sql": [Function],
1648+
"title": undefined,
1649+
"type": "string",
1650+
},
1651+
}
1652+
`;
1653+
1654+
exports[`Schema Testing Views views extends views 2`] = `
1655+
Object {
1656+
"renamed_orders_count": Object {
1657+
"aggType": "count",
1658+
"aliasMember": "orders.count",
1659+
"description": undefined,
1660+
"format": undefined,
1661+
"meta": undefined,
1662+
"ownedByCube": false,
1663+
"sql": [Function],
1664+
"title": undefined,
1665+
"type": "number",
1666+
},
1667+
}
1668+
`;
1669+
1670+
exports[`Schema Testing Views views extends views 3`] = `
1671+
Object {
1672+
"renamed_orders_count": Object {
1673+
"aggType": "count",
1674+
"aliasMember": "orders.count",
1675+
"description": undefined,
1676+
"format": undefined,
1677+
"meta": undefined,
1678+
"ownedByCube": false,
1679+
"sql": [Function],
1680+
"title": undefined,
1681+
"type": "number",
1682+
},
1683+
}
1684+
`;
1685+
1686+
exports[`Schema Testing Views views extends views 4`] = `
1687+
Object {
1688+
"renamed_orders_orders_hierarchy": Object {
1689+
"levels": [Function],
1690+
"title": undefined,
1691+
},
1692+
"renamed_orders_some_other_hierarchy": Object {
1693+
"levels": [Function],
1694+
"title": "Some other hierarchy",
1695+
},
1696+
}
1697+
`;
1698+
1699+
exports[`Schema Testing Views views extends views 5`] = `
1700+
Array [
1701+
Object {
1702+
"includes": Array [
1703+
Object {
1704+
"memberPath": "users.age",
1705+
"name": "users_age",
1706+
"type": "dimensions",
1707+
},
1708+
Object {
1709+
"memberPath": "users.state",
1710+
"name": "users_state",
1711+
"type": "dimensions",
1712+
},
1713+
Object {
1714+
"memberPath": "orders.status",
1715+
"name": "renamed_orders_status",
1716+
"type": "dimensions",
1717+
},
1718+
],
1719+
"name": "folder1",
1720+
},
1721+
Object {
1722+
"includes": Array [
1723+
Object {
1724+
"memberPath": "users.city",
1725+
"name": "users_city",
1726+
"type": "dimensions",
1727+
},
1728+
Object {
1729+
"memberPath": "users.gender",
1730+
"name": "users_gender",
1731+
"type": "dimensions",
1732+
},
1733+
],
1734+
"name": "folder2",
1735+
},
1736+
]
1737+
`;

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

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import fs from 'fs';
22
import path from 'path';
3-
import { prepareCompiler, prepareJsCompiler } from './PrepareCompiler';
3+
import { prepareCompiler, prepareJsCompiler, prepareYamlCompiler } from './PrepareCompiler';
44
import { createCubeSchema, createCubeSchemaWithCustomGranularitiesAndTimeShift, createCubeSchemaWithAccessPolicy } from './utils';
55

66
const CUBE_COMPONENTS = ['dimensions', 'measures', 'segments', 'hierarchies', 'preAggregations', 'accessPolicy'];
@@ -532,6 +532,22 @@ describe('Schema Testing', () => {
532532
expect(measures.count_shifted_year).toMatchSnapshot();
533533
});
534534

535+
it('views extends views', async () => {
536+
const modelContent = fs.readFileSync(
537+
path.join(process.cwd(), '/test/unit/fixtures/folders.yml'),
538+
'utf8'
539+
);
540+
const { compiler, metaTransformer } = prepareYamlCompiler(modelContent);
541+
await compiler.compile();
542+
543+
const testView3 = metaTransformer.cubeEvaluator.evaluatedCubes.test_view3;
544+
expect(testView3.dimensions).toMatchSnapshot();
545+
expect(testView3.measures).toMatchSnapshot();
546+
expect(testView3.measures).toMatchSnapshot();
547+
expect(testView3.hierarchies).toMatchSnapshot();
548+
expect(testView3.folders).toMatchSnapshot();
549+
});
550+
535551
it('throws errors for incorrect referenced includes members', async () => {
536552
const orders = fs.readFileSync(
537553
path.join(process.cwd(), '/test/unit/fixtures/orders.js'),

0 commit comments

Comments
 (0)