@@ -70,4 +70,64 @@ describe('Module - Asset Helper', () => {
7070 expect ( global . window . document . head . children . length ) . to . eq ( 1 ) ;
7171 } ) ;
7272
73+
74+ it ( 'should load given js assets' , async ( done ) => {
75+ // arrange
76+ const spy = sinon . spy ( ) ;
77+ const assets : IPageLibAsset [ ] = [
78+ {
79+ name : faker . lorem . word ( ) ,
80+ loadMethod : RESOURCE_LOADING_TYPE . ON_FRAGMENT_RENDER ,
81+ fragment : faker . lorem . word ( ) ,
82+ dependent : [ ] ,
83+ type : RESOURCE_TYPE . JS ,
84+ link : faker . lorem . word ( ) ,
85+ preLoaded : false ,
86+ defer : true ,
87+ }
88+ ] ;
89+
90+ // act
91+ await AssetHelper . loadAssetSeries ( assets , spy ) ;
92+
93+ AssetHelper . promises [ assets [ 0 ] . name ] . resolve ( ) ;
94+
95+ // assert
96+ expect ( global . window . document . body . children . length ) . to . eq ( 1 ) ;
97+
98+ setTimeout ( ( ) => {
99+ expect ( spy . calledOnce ) . to . eq ( true ) ;
100+ done ( ) ;
101+ } ) ;
102+ } ) ;
103+
104+ it ( 'should load given css assets' , async ( done ) => {
105+ // arrange
106+ const spy = sinon . spy ( ) ;
107+ const assets : IPageLibAsset [ ] = [
108+ {
109+ name : faker . lorem . word ( ) ,
110+ loadMethod : RESOURCE_LOADING_TYPE . ON_FRAGMENT_RENDER ,
111+ fragment : faker . lorem . word ( ) ,
112+ dependent : [ ] ,
113+ type : RESOURCE_TYPE . CSS ,
114+ link : faker . lorem . word ( ) ,
115+ preLoaded : false
116+ }
117+ ] ;
118+
119+ // act
120+ await AssetHelper . loadAssetSeries ( assets , spy ) ;
121+
122+ AssetHelper . promises [ assets [ 0 ] . name ] . resolve ( ) ;
123+
124+ // assert
125+ expect ( global . window . document . head . children . length ) . to . eq ( 1 ) ;
126+
127+ setTimeout ( ( ) => {
128+ expect ( spy . calledOnce ) . to . eq ( true ) ;
129+ done ( ) ;
130+ } ) ;
131+ } ) ;
132+
73133} ) ;
0 commit comments