@@ -535,7 +535,7 @@ describe("When user is in state", () => {
535535 const mockStore = configureStore ( middlewares ) ;
536536 const initialState = {
537537 editor : {
538- loading : "idle " ,
538+ loading : "failed " ,
539539 project : {
540540 components : [ ] ,
541541 } ,
@@ -581,11 +581,69 @@ describe("When user is in state", () => {
581581 reactAppApiEndpoint : "http://localhost:3009" ,
582582 } ) ;
583583 } ) ;
584+
585+ test ( "Does not trigger project load failed event" , ( ) => {
586+ expect ( document . dispatchEvent ) . not . toHaveBeenCalledWith (
587+ new CustomEvent ( "editor-projectLoadFailed" , {
588+ bubbles : true ,
589+ cancelable : false ,
590+ composed : true ,
591+ } ) ,
592+ ) ;
593+ } ) ;
584594 } ) ;
585595
586596 afterEach ( async ( ) => {
587597 localStorage . clear ( ) ;
588598 await act ( async ( ) => cookies . remove ( "theme" ) ) ;
589599 } ) ;
590600 } ) ;
601+
602+ describe ( "when a project fails to load" , ( ) => {
603+ beforeEach ( ( ) => {
604+ localStorage . setItem ( authKey , JSON . stringify ( user ) ) ;
605+ const middlewares = [ ] ;
606+ const mockStore = configureStore ( middlewares ) ;
607+ const initialState = {
608+ editor : {
609+ loading : "failed" ,
610+ project : {
611+ components : [ ] ,
612+ } ,
613+ openFiles : [ ] ,
614+ focussedFileIndices : [ ] ,
615+ hasShownSavePrompt : false ,
616+ remixLoadFailed : false ,
617+ justLoaded : false ,
618+ saveTriggered : false ,
619+ } ,
620+ instructions : { } ,
621+ auth : { user } ,
622+ } ;
623+ store = mockStore ( initialState ) ;
624+ cookies = new Cookies ( ) ;
625+ render (
626+ < Provider store = { store } >
627+ < CookiesProvider cookies = { cookies } >
628+ < WebComponentLoader
629+ identifier = { identifier }
630+ instructions = { instructions }
631+ authKey = { authKey }
632+ theme = "light"
633+ />
634+ </ CookiesProvider >
635+ </ Provider > ,
636+ ) ;
637+ } ) ;
638+
639+ test ( "triggers project load failed event" , ( ) => {
640+ expect ( document . dispatchEvent ) . toHaveBeenCalledWith (
641+ new CustomEvent ( "editor-projectLoadFailed" , {
642+ bubbles : true ,
643+ cancelable : false ,
644+ composed : true ,
645+ } ) ,
646+ ) ;
647+ } ) ;
648+ } ) ;
591649} ) ;
0 commit comments