@@ -53,10 +53,12 @@ describe('StarterComponent', () => {
5353 let getUserBookmarksSpy : jasmine . Spy ;
5454 let getUserFavoritesSpy : jasmine . Spy ;
5555 let fetchUserSolutionSpy : jasmine . Spy ;
56+ let fetchAndCacheAllTagsSpy : jasmine . Spy
5657
5758 const mockChallenges$ : Challenge [ ] = mockChallenges . map ( ( challenge : any ) => ( {
5859 ...challenge ,
5960 creation_date : new Date ( `${ challenge . creation_date } ` ) ,
61+ tags : [ ] ,
6062 timesFavorite : typeof challenge . timesFavorite === 'number' ? challenge . timesFavorite : 0 ,
6163 solutions : challenge . solutions . map ( ( solution : any ) => ( {
6264 id_solution : solution . idSolution ,
@@ -75,10 +77,12 @@ describe('StarterComponent', () => {
7577 }
7678 getUserBookmarksSpy = jasmine . createSpy ( ) . and . returnValue ( of ( [ 'id-1' , 'id-2' ] ) )
7779 getUserFavoritesSpy = jasmine . createSpy ( ) . and . returnValue ( of ( [ ] ) )
80+ fetchAndCacheAllTagsSpy = jasmine . createSpy ( 'fetchAndCacheAllTags' ) . and . returnValue ( of ( undefined ) )
7881
7982 const challengeServiceMock = {
8083 getUserBookmarks : getUserBookmarksSpy ,
81- getUserFavorites : getUserFavoritesSpy
84+ getUserFavorites : getUserFavoritesSpy ,
85+ fetchAndCacheAllTags : fetchAndCacheAllTagsSpy
8286 } ;
8387
8488 fetchUserSolutionSpy = jasmine . createSpy ( ) . and . returnValue ( of ( [ ] ) ) ;
@@ -227,6 +231,10 @@ describe('StarterComponent', () => {
227231
228232 expect ( consoleErrorSpy ) . toHaveBeenCalledWith ( 'Error fetching user solutions:' , jasmine . any ( Error ) ) ;
229233 } ) ;
234+
235+ it ( 'should call fetchAndCacheAllTags on init' , ( ) => {
236+ expect ( fetchAndCacheAllTagsSpy ) . toHaveBeenCalled ( )
237+ } )
230238} ) ;
231239
232240describe ( 'Progress filtering behavior' , ( ) => {
@@ -247,7 +255,8 @@ describe('Progress filtering behavior', () => {
247255
248256 const challengeServiceMock = {
249257 getUserBookmarks : jasmine . createSpy ( ) . and . returnValue ( of ( [ ] ) ) ,
250- getUserFavorites : jasmine . createSpy ( ) . and . returnValue ( of ( [ ] ) )
258+ getUserFavorites : jasmine . createSpy ( ) . and . returnValue ( of ( [ ] ) ) ,
259+ fetchAndCacheAllTags : jasmine . createSpy ( ) . and . returnValue ( of ( undefined ) )
251260 } ;
252261
253262 fetchUserSolutionSpy = jasmine . createSpy ( ) . and . returnValue ( of ( [ ] ) ) ;
@@ -272,9 +281,9 @@ describe('Progress filtering behavior', () => {
272281 } ) ;
273282
274283 it ( 'should filter challenges by progress using solutionStatusMap' , ( ) => {
275- const ch1 : any = { id_challenge : 'c1' , creation_date : new Date ( ) , timesFavorite : 0 , solutions : [ ] , languages : [ ] , level : 'EASY' } ;
276- const ch2 : any = { id_challenge : 'c2' , creation_date : new Date ( ) , timesFavorite : 0 , solutions : [ ] , languages : [ ] , level : 'EASY' } ;
277- const ch3 : any = { id_challenge : 'c3' , creation_date : new Date ( ) , timesFavorite : 0 , solutions : [ ] , languages : [ ] , level : 'EASY' } ;
284+ const ch1 : any = { id_challenge : 'c1' , creation_date : new Date ( ) , timesFavorite : 0 , solutions : [ ] , languages : [ ] , level : 'EASY' , tags : [ ] }
285+ const ch2 : any = { id_challenge : 'c2' , creation_date : new Date ( ) , timesFavorite : 0 , solutions : [ ] , languages : [ ] , level : 'EASY' , tags : [ ] }
286+ const ch3 : any = { id_challenge : 'c3' , creation_date : new Date ( ) , timesFavorite : 0 , solutions : [ ] , languages : [ ] , level : 'EASY' , tags : [ ] }
278287
279288 component . listChallenges = [ ch1 , ch2 , ch3 ] ;
280289
0 commit comments