@@ -13,40 +13,42 @@ describe('i18nMiddleware - E2E Tests', () => {
1313      cy . visit ( '/fr/simulateur/bilan?lang=en' ) 
1414
1515      // Verify that URL has been redirected 
16-       cy . url ( ) . should ( 'include' ,  '/en/simulateur/bilan ' ) 
16+       cy . url ( ) . should ( 'include' ,  '/en/tutoriel ' ) 
1717      cy . url ( ) . should ( 'not.include' ,  'lang=en' ) 
1818    } ) 
1919
2020    it ( 'should clean URL if locale is already correct' ,  ( )  =>  { 
21-       cy . visit ( '/en/simulateur/bilan ?lang=en' ) 
21+       cy . visit ( '/en/fin ?lang=en' ) 
2222
2323      // Verify that lang parameter has been removed 
2424      cy . url ( ) . should ( 'not.include' ,  'lang=en' ) 
25-       cy . url ( ) . should ( 'include' ,  '/en/simulateur/bilan ' ) 
25+       cy . url ( ) . should ( 'include' ,  '/en/fin ' ) 
2626    } ) 
2727  } ) 
2828
2929  describe ( 'Iframe handling' ,  ( )  =>  { 
3030    it ( 'should work with iframe parameter' ,  ( )  =>  { 
31-       cy . visit ( '/fr/simulateur/bilan ?iframe=true' ) 
31+       cy . visit ( '/fr/fin ?iframe=true' ) 
3232
3333      // Verify that page loads without 404 error 
3434      cy . get ( 'body' ) . should ( 'exist' ) 
3535      cy . url ( ) . should ( 'include' ,  'iframe=true' ) 
3636    } ) 
3737
38-     it ( 'should handle iframes with  lang parameter ' ,  ( )  =>  { 
39-       cy . visit ( '/fr/ simulateur/bilan?iframe=true&lang=en' ) 
38+     it ( 'should redirect to locale-prefixed URL when using iframe and  lang parameters ' ,  ( )  =>  { 
39+       cy . visit ( '/simulateur/bilan?iframe=true&lang=en' ) 
4040
41-       // Verify that page loads 
41+       // Verify that the URL has been redirected correctly 
42+       cy . url ( ) . should ( 'include' ,  '/en/tutoriel' ) 
43+       cy . url ( ) . should ( 'not.include' ,  'lang=en' ) 
44+ 
45+       // Also check that the page has loaded correctly 
4246      cy . get ( 'body' ) . should ( 'exist' ) 
43-       // Iframe parameter should prevent redirection 
44-       cy . url ( ) . should ( 'include' ,  'iframe=true' ) 
4547    } ) 
4648
4749    it ( 'should detect iframes via referer' ,  ( )  =>  { 
4850      // Simulate request with referer containing iframe=true 
49-       cy . visit ( '/fr/simulateur/bilan ' ,  { 
51+       cy . visit ( '/fr/fin ' ,  { 
5052        headers : { 
5153          referer : 'https://example.com/page?iframe=true' , 
5254        } , 
@@ -58,31 +60,31 @@ describe('i18nMiddleware - E2E Tests', () => {
5860
5961  describe ( 'URL construction with locale' ,  ( )  =>  { 
6062    it ( 'should add locale if it does not exist in path' ,  ( )  =>  { 
61-       cy . visit ( '/simulateur/bilan ?lang=en' ) 
63+       cy . visit ( '/fin ?lang=en' ) 
6264
63-       cy . url ( ) . should ( 'include' ,  '/en/simulateur/bilan ' ) 
65+       cy . url ( ) . should ( 'include' ,  '/en/fin ' ) 
6466      cy . url ( ) . should ( 'not.include' ,  'lang=en' ) 
6567    } ) 
6668
6769    it ( 'should replace existing locale' ,  ( )  =>  { 
68-       cy . visit ( '/fr/simulateur/bilan ?lang=en' ) 
70+       cy . visit ( '/fr/fin ?lang=en' ) 
6971
70-       cy . url ( ) . should ( 'include' ,  '/en/simulateur/bilan ' ) 
72+       cy . url ( ) . should ( 'include' ,  '/en/fin ' ) 
7173      cy . url ( ) . should ( 'not.include' ,  '/fr/' ) 
7274      cy . url ( ) . should ( 'not.include' ,  'lang=en' ) 
7375    } ) 
7476  } ) 
7577
7678  describe ( 'Cookie handling' ,  ( )  =>  { 
7779    it ( 'should set locale cookie' ,  ( )  =>  { 
78-       cy . visit ( '/fr/simulateur/bilan ?lang=en' ) 
80+       cy . visit ( '/fr/fin ?lang=en' ) 
7981
8082      // Verify that cookie has been set 
8183      cy . getCookie ( 'NEXT_LOCALE' ) . should ( 'have.property' ,  'value' ,  'en' ) 
8284    } ) 
8385
8486    it ( 'should preserve cookie during navigation' ,  ( )  =>  { 
85-       cy . visit ( '/fr/simulateur/bilan ?lang=en' ) 
87+       cy . visit ( '/fr/fin ?lang=en' ) 
8688
8789      // Navigate to another page 
8890      cy . visit ( '/en/actions' ) 
@@ -101,9 +103,9 @@ describe('i18nMiddleware - E2E Tests', () => {
101103    } ) 
102104
103105    it ( 'should handle multiple parameters' ,  ( )  =>  { 
104-       cy . visit ( '/fr/simulateur/bilan ?lang=en&other=param' ) 
106+       cy . visit ( '/fr/fin ?lang=en&other=param' ) 
105107
106-       cy . url ( ) . should ( 'include' ,  '/en/simulateur/bilan ' ) 
108+       cy . url ( ) . should ( 'include' ,  '/en/fin ' ) 
107109      cy . url ( ) . should ( 'include' ,  'other=param' ) 
108110      cy . url ( ) . should ( 'not.include' ,  'lang=en' ) 
109111    } ) 
0 commit comments