From 5a3c4ac092a62743991c8694cf324635a748b784 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Thu, 20 Aug 2026 08:55:56 -0300 Subject: [PATCH] feat: logout apaga o cookie de preferencia de linhas por pagina --- app/routers/auth.py | 2 ++ tests/test_router_auth.py | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/app/routers/auth.py b/app/routers/auth.py index fc07b2a..40fae8a 100644 --- a/app/routers/auth.py +++ b/app/routers/auth.py @@ -23,6 +23,7 @@ from fastapi.templating import Jinja2Templates from .. import rate_limit, session from ..auth import UsuarioLogado, autenticar_credenciais, exigir_login from ..csrf import exigir_csrf, token_do_contexto +from .clientes import POR_PAGINA_COOKIE router = APIRouter() templates = Jinja2Templates(directory="app/templates") @@ -95,4 +96,5 @@ def login( def logout(usuario: UsuarioLogado = Depends(exigir_login)): resposta = RedirectResponse(url="/login", status_code=303) resposta.delete_cookie(session.SESSION_COOKIE_NAME) + resposta.delete_cookie(POR_PAGINA_COOKIE) return resposta diff --git a/tests/test_router_auth.py b/tests/test_router_auth.py index 63da654..8a3306e 100644 --- a/tests/test_router_auth.py +++ b/tests/test_router_auth.py @@ -115,3 +115,13 @@ def test_post_logout_apaga_cookie_e_redireciona(): # cookie apagado: o Set-Cookie da resposta zera o valor set_cookie = resposta.headers.get("set-cookie", "") assert session.SESSION_COOKIE_NAME in set_cookie + + +def test_post_logout_apaga_cookie_de_preferencia_de_paginacao(): + from app.routers.clientes import POR_PAGINA_COOKIE + + cookies = {session.SESSION_COOKIE_NAME: session.criar_token("admin", "Admin", "ADMIN")} + resposta = client.post("/logout", data={"csrf_token": CSRF_TESTE}, cookies=cookies) + assert resposta.status_code == 303 + set_cookie = resposta.headers.get("set-cookie", "") + assert POR_PAGINA_COOKIE in set_cookie