@@ -52,6 +52,34 @@ cube('Bar', {
52
52
] ) ,
53
53
} ;
54
54
55
+ const repositoryWithDataSource : SchemaFileRepository = {
56
+ localPath : ( ) => __dirname ,
57
+ dataSchemaFiles : ( ) => Promise . resolve ( [
58
+ {
59
+ fileName : 'main.js' , content : `
60
+ cube('Bar', {
61
+ sql: 'select * from bar',
62
+
63
+ measures: {
64
+ count: {
65
+ type: 'count'
66
+ }
67
+ },
68
+
69
+ dataSource: 'dataSource',
70
+
71
+ dimensions: {
72
+ time: {
73
+ sql: 'timestamp',
74
+ type: 'time'
75
+ }
76
+ }
77
+ });
78
+ ` ,
79
+ } ,
80
+ ] ) ,
81
+ } ;
82
+
55
83
const repositoryWithoutContent : SchemaFileRepository = {
56
84
localPath : ( ) => __dirname ,
57
85
dataSchemaFiles : ( ) => Promise . resolve ( [ { fileName : 'main.js' , content : '' } ] ) ,
@@ -335,6 +363,29 @@ describe('index.test', () => {
335
363
expect ( metaConfigExtended ) . toHaveProperty ( 'metaConfig' ) ;
336
364
expect ( metaConfigExtended . metaConfig . length ) . toBeGreaterThan ( 0 ) ;
337
365
expect ( metaConfigExtended ) . toHaveProperty ( 'cubeDefinitions' ) ;
366
+ expect ( metaConfigExtended ) . toHaveProperty ( 'dataSources' ) ;
367
+ expect ( metaConfigExtended . dataSources ) . toEqual ( [ 'default' ] ) ;
368
+ expect ( metaConfigExtendedSpy ) . toHaveBeenCalled ( ) ;
369
+ metaConfigExtendedSpy . mockClear ( ) ;
370
+ } ) ;
371
+ } ) ;
372
+
373
+ describe ( 'CompilerApi with dataSource' , ( ) => {
374
+ const logger = jest . fn ( ( ) => { } ) ;
375
+ const compilerApi = new CompilerApi (
376
+ repositoryWithDataSource ,
377
+ async ( ) => 'mysql' ,
378
+ { logger }
379
+ ) ;
380
+ const metaConfigExtendedSpy = jest . spyOn ( compilerApi , 'metaConfigExtended' ) ;
381
+
382
+ test ( 'CompilerApi metaConfigExtended' , async ( ) => {
383
+ const metaConfigExtended = await compilerApi . metaConfigExtended ( { requestId : 'XXX' } ) ;
384
+ expect ( metaConfigExtended ) . toHaveProperty ( 'metaConfig' ) ;
385
+ expect ( metaConfigExtended . metaConfig . length ) . toBeGreaterThan ( 0 ) ;
386
+ expect ( metaConfigExtended ) . toHaveProperty ( 'cubeDefinitions' ) ;
387
+ expect ( metaConfigExtended ) . toHaveProperty ( 'dataSources' ) ;
388
+ expect ( metaConfigExtended . dataSources ) . toEqual ( [ 'dataSource' ] ) ;
338
389
expect ( metaConfigExtendedSpy ) . toHaveBeenCalled ( ) ;
339
390
metaConfigExtendedSpy . mockClear ( ) ;
340
391
} ) ;
0 commit comments