1+ import { BuildContext } from '../util/interfaces' ;
12import { basename , join } from 'path' ;
23import * as fs from 'fs' ;
34import * as Constants from '../util/constants' ;
@@ -30,7 +31,7 @@ describe('util', () => {
3031 const hydratedRequest = util . hydrateRequest ( context , request ) ;
3132
3233 // 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' } ) ;
3435 expect ( hydratedRequest . type ) . toEqual ( Constants . COMPONENT ) ;
3536 expect ( hydratedRequest . name ) . toEqual ( request . name ) ;
3637 expect ( hydratedRequest . includeNgModule ) . toBeTruthy ( ) ;
@@ -62,7 +63,7 @@ describe('util', () => {
6263 const hydratedRequest = util . hydrateRequest ( context , request ) ;
6364
6465 // 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' } ) ;
6667 expect ( hydratedRequest . type ) . toEqual ( Constants . PAGE ) ;
6768 expect ( hydratedRequest . name ) . toEqual ( request . name ) ;
6869 expect ( hydratedRequest . includeNgModule ) . toBeTruthy ( ) ;
@@ -74,6 +75,64 @@ describe('util', () => {
7475 } ) ;
7576 } ) ;
7677
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+
77136 describe ( 'readTemplates' , ( ) => {
78137 it ( 'should get a map of templates and their content back' , ( ) => {
79138 // arrange
@@ -109,7 +168,7 @@ describe('util', () => {
109168 map . set ( join ( templateDir , knownValues [ 3 ] ) , fileContent ) ;
110169 map . set ( join ( templateDir , knownValues [ 4 ] ) , fileContent ) ;
111170
112- const newMap = util . filterOutTemplates ( { includeNgModule : true , includeSpec : true } , map ) ;
171+ const newMap = util . filterOutTemplates ( { includeNgModule : true , includeSpec : true } , map ) ;
113172 expect ( newMap . size ) . toEqual ( knownValues . length ) ;
114173 } ) ;
115174
@@ -124,7 +183,7 @@ describe('util', () => {
124183 map . set ( join ( templateDir , knownValues [ 3 ] ) , fileContent ) ;
125184 map . set ( join ( templateDir , knownValues [ 4 ] ) , fileContent ) ;
126185
127- const newMap = util . filterOutTemplates ( { includeNgModule : true , includeSpec : false } , map ) ;
186+ const newMap = util . filterOutTemplates ( { includeNgModule : true , includeSpec : false } , map ) ;
128187 expect ( newMap . size ) . toEqual ( 4 ) ;
129188 expect ( newMap . get ( join ( templateDir , knownValues [ 0 ] ) ) ) . toBeTruthy ( ) ;
130189 expect ( newMap . get ( join ( templateDir , knownValues [ 1 ] ) ) ) . toBeTruthy ( ) ;
@@ -144,7 +203,7 @@ describe('util', () => {
144203 map . set ( join ( templateDir , knownValues [ 3 ] ) , fileContent ) ;
145204 map . set ( join ( templateDir , knownValues [ 4 ] ) , fileContent ) ;
146205
147- const newMap = util . filterOutTemplates ( { includeNgModule : false , includeSpec : false } , map ) ;
206+ const newMap = util . filterOutTemplates ( { includeNgModule : false , includeSpec : false } , map ) ;
148207 expect ( newMap . size ) . toEqual ( 3 ) ;
149208 expect ( newMap . get ( join ( templateDir , knownValues [ 0 ] ) ) ) . toBeTruthy ( ) ;
150209 expect ( newMap . get ( join ( templateDir , knownValues [ 1 ] ) ) ) . toBeTruthy ( ) ;
@@ -276,7 +335,7 @@ $TAB_CONTENT
276335 const fileName = 'settings-view' ;
277336 const suppliedName = 'settings view' ;
278337
279- const results = util . applyTemplates ( { name : suppliedName , className : className , fileName : fileName } , map ) ;
338+ const results = util . applyTemplates ( { name : suppliedName , className : className , fileName : fileName } , map ) ;
280339 const modifiedContentOne = results . get ( fileOne ) ;
281340 const modifiedContentTwo = results . get ( fileTwo ) ;
282341 const modifiedContentThree = results . get ( fileThree ) ;
@@ -404,7 +463,7 @@ $TAB_CONTENT
404463 } ) ;
405464 } ) ;
406465
407- describe ( 'tabsModuleManipulation' , ( ) => {
466+ describe ( 'tabsModuleManipulation' , ( ) => {
408467 const className = 'SettingsView' ;
409468 const fileName = 'settings-view' ;
410469 const suppliedName = 'settings view' ;
0 commit comments