1
+ import { BuildContext } from '../util/interfaces' ;
1
2
import { basename , join } from 'path' ;
2
3
import * as fs from 'fs' ;
3
4
import * as Constants from '../util/constants' ;
@@ -30,7 +31,7 @@ describe('util', () => {
30
31
const hydratedRequest = util . hydrateRequest ( context , request ) ;
31
32
32
33
// assert
33
- expect ( hydratedRequest ) . toEqual ( { 'className' : 'SettingsViewComponent' , 'dirToRead' : join ( templateDir , 'component' ) , 'dirToWrite' : join ( componentsDir , 'settings-view' ) , 'fileName' : 'settings-view' , 'includeNgModule' : true , 'includeSpec' : true , 'name' : 'settings view' , 'type' : 'component' } ) ;
34
+ expect ( hydratedRequest ) . toEqual ( { 'className' : 'SettingsViewComponent' , 'dirToRead' : join ( templateDir , 'component' ) , 'dirToWrite' : join ( componentsDir , 'settings-view' ) , 'fileName' : 'settings-view' , 'includeNgModule' : true , 'includeSpec' : true , 'name' : 'settings view' , 'type' : 'component' } ) ;
34
35
expect ( hydratedRequest . type ) . toEqual ( Constants . COMPONENT ) ;
35
36
expect ( hydratedRequest . name ) . toEqual ( request . name ) ;
36
37
expect ( hydratedRequest . includeNgModule ) . toBeTruthy ( ) ;
@@ -62,7 +63,7 @@ describe('util', () => {
62
63
const hydratedRequest = util . hydrateRequest ( context , request ) ;
63
64
64
65
// assert
65
- expect ( hydratedRequest ) . toEqual ( { 'className' : 'SettingsViewPage' , 'dirToRead' : join ( templateDir , 'page' ) , 'dirToWrite' : join ( pagesDir , 'settings-view' ) , 'fileName' : 'settings-view' , 'includeNgModule' : true , 'includeSpec' : true , 'name' : 'settings view' , 'type' : 'page' } ) ;
66
+ expect ( hydratedRequest ) . toEqual ( { 'className' : 'SettingsViewPage' , 'dirToRead' : join ( templateDir , 'page' ) , 'dirToWrite' : join ( pagesDir , 'settings-view' ) , 'fileName' : 'settings-view' , 'includeNgModule' : true , 'includeSpec' : true , 'name' : 'settings view' , 'type' : 'page' } ) ;
66
67
expect ( hydratedRequest . type ) . toEqual ( Constants . PAGE ) ;
67
68
expect ( hydratedRequest . name ) . toEqual ( request . name ) ;
68
69
expect ( hydratedRequest . includeNgModule ) . toBeTruthy ( ) ;
@@ -74,6 +75,64 @@ describe('util', () => {
74
75
} ) ;
75
76
} ) ;
76
77
78
+ describe ( 'hydrateTabRequest' , ( ) => {
79
+ it ( 'should take a lazy loaded page set the tab root to a string' , ( ) => {
80
+ // arrange
81
+ const baseDir = join ( process . cwd ( ) , 'someDir' , 'project' ) ;
82
+ const pagesDir = join ( baseDir , 'src' , 'pages' ) ;
83
+ const templateDir = join ( baseDir , 'node_modules' , 'ionic-angular' , 'templates' ) ;
84
+ const context : BuildContext = { pagesDir } ;
85
+ const request = {
86
+ type : 'tabs' ,
87
+ name : 'stooges' ,
88
+ includeNgModule : true ,
89
+ tabs : [
90
+ {
91
+ includeNgModule : true ,
92
+ type : 'page' ,
93
+ name : 'moe' ,
94
+ className : 'MoePage' ,
95
+ fileName : 'moe' ,
96
+ 'dirToRead' : join ( templateDir , 'page' ) ,
97
+ 'dirToWrite' : join ( pagesDir , 'moe' ) ,
98
+ } ]
99
+ } ;
100
+ spyOn ( helpers , helpers . getStringPropertyValue . name ) . and . returnValue ( templateDir ) ;
101
+ // act
102
+ const hydatedTabRequest = util . hydrateTabRequest ( context , request ) ;
103
+ // assert
104
+ expect ( hydatedTabRequest . tabVariables ) . toEqual ( ' moeRoot = \'MoePage\'\n' ) ;
105
+ } ) ;
106
+
107
+ it ( 'should take a page set the tab root to a component ref' , ( ) => {
108
+ // arrange
109
+ const baseDir = join ( process . cwd ( ) , 'someDir' , 'project' ) ;
110
+ const pagesDir = join ( baseDir , 'src' , 'pages' ) ;
111
+ const templateDir = join ( baseDir , 'node_modules' , 'ionic-angular' , 'templates' ) ;
112
+ const context : BuildContext = { pagesDir } ;
113
+ const request = {
114
+ type : 'tabs' ,
115
+ name : 'stooges' ,
116
+ includeNgModule : false ,
117
+ tabs : [
118
+ {
119
+ includeNgModule : false ,
120
+ type : 'page' ,
121
+ name : 'moe' ,
122
+ className : 'MoePage' ,
123
+ fileName : 'moe' ,
124
+ 'dirToRead' : join ( templateDir , 'page' ) ,
125
+ 'dirToWrite' : join ( pagesDir , 'moe' ) ,
126
+ } ]
127
+ } ;
128
+ spyOn ( helpers , helpers . getStringPropertyValue . name ) . and . returnValue ( templateDir ) ;
129
+ // act
130
+ const hydatedTabRequest = util . hydrateTabRequest ( context , request ) ;
131
+ // assert
132
+ expect ( hydatedTabRequest . tabVariables ) . toEqual ( ' moeRoot = MoePage\n' ) ;
133
+ } ) ;
134
+ } ) ;
135
+
77
136
describe ( 'readTemplates' , ( ) => {
78
137
it ( 'should get a map of templates and their content back' , ( ) => {
79
138
// arrange
@@ -109,7 +168,7 @@ describe('util', () => {
109
168
map . set ( join ( templateDir , knownValues [ 3 ] ) , fileContent ) ;
110
169
map . set ( join ( templateDir , knownValues [ 4 ] ) , fileContent ) ;
111
170
112
- const newMap = util . filterOutTemplates ( { includeNgModule : true , includeSpec : true } , map ) ;
171
+ const newMap = util . filterOutTemplates ( { includeNgModule : true , includeSpec : true } , map ) ;
113
172
expect ( newMap . size ) . toEqual ( knownValues . length ) ;
114
173
} ) ;
115
174
@@ -124,7 +183,7 @@ describe('util', () => {
124
183
map . set ( join ( templateDir , knownValues [ 3 ] ) , fileContent ) ;
125
184
map . set ( join ( templateDir , knownValues [ 4 ] ) , fileContent ) ;
126
185
127
- const newMap = util . filterOutTemplates ( { includeNgModule : true , includeSpec : false } , map ) ;
186
+ const newMap = util . filterOutTemplates ( { includeNgModule : true , includeSpec : false } , map ) ;
128
187
expect ( newMap . size ) . toEqual ( 4 ) ;
129
188
expect ( newMap . get ( join ( templateDir , knownValues [ 0 ] ) ) ) . toBeTruthy ( ) ;
130
189
expect ( newMap . get ( join ( templateDir , knownValues [ 1 ] ) ) ) . toBeTruthy ( ) ;
@@ -144,7 +203,7 @@ describe('util', () => {
144
203
map . set ( join ( templateDir , knownValues [ 3 ] ) , fileContent ) ;
145
204
map . set ( join ( templateDir , knownValues [ 4 ] ) , fileContent ) ;
146
205
147
- const newMap = util . filterOutTemplates ( { includeNgModule : false , includeSpec : false } , map ) ;
206
+ const newMap = util . filterOutTemplates ( { includeNgModule : false , includeSpec : false } , map ) ;
148
207
expect ( newMap . size ) . toEqual ( 3 ) ;
149
208
expect ( newMap . get ( join ( templateDir , knownValues [ 0 ] ) ) ) . toBeTruthy ( ) ;
150
209
expect ( newMap . get ( join ( templateDir , knownValues [ 1 ] ) ) ) . toBeTruthy ( ) ;
@@ -276,7 +335,7 @@ $TAB_CONTENT
276
335
const fileName = 'settings-view' ;
277
336
const suppliedName = 'settings view' ;
278
337
279
- const results = util . applyTemplates ( { name : suppliedName , className : className , fileName : fileName } , map ) ;
338
+ const results = util . applyTemplates ( { name : suppliedName , className : className , fileName : fileName } , map ) ;
280
339
const modifiedContentOne = results . get ( fileOne ) ;
281
340
const modifiedContentTwo = results . get ( fileTwo ) ;
282
341
const modifiedContentThree = results . get ( fileThree ) ;
@@ -404,7 +463,7 @@ $TAB_CONTENT
404
463
} ) ;
405
464
} ) ;
406
465
407
- describe ( 'tabsModuleManipulation' , ( ) => {
466
+ describe ( 'tabsModuleManipulation' , ( ) => {
408
467
const className = 'SettingsView' ;
409
468
const fileName = 'settings-view' ;
410
469
const suppliedName = 'settings view' ;
0 commit comments