fix: only navigate on sign-out success, not on error

This commit is contained in:
belviskhoremk
2026-08-12 11:10:28 +02:00
parent 55481b69c0
commit 27ef99c76d
2 changed files with 10 additions and 2 deletions

View File

@@ -51,4 +51,12 @@ describe('AdminLayout', () => {
expect(signOutMock).toHaveBeenCalled()
expect(navigateMock).toHaveBeenCalledWith('/admin/login')
})
it('does not navigate if sign out fails', async () => {
signOutMock.mockResolvedValue({ error: new Error('Sign out failed') })
renderLayout()
await userEvent.click(screen.getByRole('button', { name: /sign out/i }))
expect(signOutMock).toHaveBeenCalled()
expect(navigateMock).not.toHaveBeenCalled()
})
})

View File

@@ -14,8 +14,8 @@ function AdminLayout() {
const navigate = useNavigate()
async function handleSignOut() {
await supabase.auth.signOut()
navigate('/admin/login')
const { error } = await supabase.auth.signOut()
if (!error) navigate('/admin/login')
}
return (