@@ -67,37 +67,18 @@ describe('auth middleware', () => {
6767 } )
6868
6969 describe ( 'auth pages' , ( ) => {
70- test ( 'redirects authenticated users from /login to /dashboard' , ( ) => {
71- const res = middleware ( makeRequest ( '/login' , SESSION_COOKIE ) )
72- expect ( res . status ) . toBe ( 307 )
73- expect ( new URL ( res . headers . get ( 'location' ) ! ) . pathname ) . toBe ( '/dashboard' )
74- } )
75-
76- test ( 'redirects authenticated users from /signup to /dashboard' , ( ) => {
77- const res = middleware ( makeRequest ( '/signup' , SESSION_COOKIE ) )
78- expect ( res . status ) . toBe ( 307 )
79- expect ( new URL ( res . headers . get ( 'location' ) ! ) . pathname ) . toBe ( '/dashboard' )
80- } )
81-
82- test ( 'redirects authenticated users from /verify to /dashboard' , ( ) => {
83- const res = middleware ( makeRequest ( '/verify' , SESSION_COOKIE ) )
84- expect ( res . status ) . toBe ( 307 )
85- expect ( new URL ( res . headers . get ( 'location' ) ! ) . pathname ) . toBe ( '/dashboard' )
86- } )
70+ test ( 'does not redirect from auth pages — pages handle their own auth logic' , ( ) => {
71+ // Auth pages (/login, /signup, /verify) validate sessions server-side
72+ // via getSession() instead of relying on cookie existence checks.
73+ // This prevents redirect loops when cookies outlive sessions.
74+ const loginRes = middleware ( makeRequest ( '/login' , SESSION_COOKIE ) )
75+ expect ( loginRes . status ) . toBe ( 200 )
8776
88- test ( 'allows unauthenticated users to access /login' , ( ) => {
89- const res = middleware ( makeRequest ( '/login' ) )
90- expect ( res . status ) . toBe ( 200 )
91- } )
77+ const signupRes = middleware ( makeRequest ( '/signup' , SESSION_COOKIE ) )
78+ expect ( signupRes . status ) . toBe ( 200 )
9279
93- test ( 'allows unauthenticated users to access /signup' , ( ) => {
94- const res = middleware ( makeRequest ( '/signup' ) )
95- expect ( res . status ) . toBe ( 200 )
96- } )
97-
98- test ( 'allows unauthenticated users to access /verify' , ( ) => {
99- const res = middleware ( makeRequest ( '/verify' ) )
100- expect ( res . status ) . toBe ( 200 )
80+ const verifyRes = middleware ( makeRequest ( '/verify' , SESSION_COOKIE ) )
81+ expect ( verifyRes . status ) . toBe ( 200 )
10182 } )
10283 } )
10384
@@ -110,10 +91,10 @@ describe('auth middleware', () => {
11091 expect ( config . matcher ) . toContain ( '/onboarding' )
11192 } )
11293
113- test ( 'includes auth pages' , ( ) => {
114- expect ( config . matcher ) . toContain ( '/login' )
115- expect ( config . matcher ) . toContain ( '/signup' )
116- expect ( config . matcher ) . toContain ( '/verify' )
94+ test ( 'does not include auth pages — they handle auth server-side ' , ( ) => {
95+ expect ( config . matcher ) . not . toContain ( '/login' )
96+ expect ( config . matcher ) . not . toContain ( '/signup' )
97+ expect ( config . matcher ) . not . toContain ( '/verify' )
11798 } )
11899 } )
119100} )
0 commit comments