feat: passa csrf_token no contexto da listagem de clientes
This commit is contained in:
@@ -198,6 +198,7 @@ def listar(
|
|||||||
"por_pagina": por_pagina_efetivo, "opcoes_por_pagina": OPCOES_POR_PAGINA,
|
"por_pagina": por_pagina_efetivo, "opcoes_por_pagina": OPCOES_POR_PAGINA,
|
||||||
"primeiro_item": primeiro_item, "ultimo_item": ultimo_item,
|
"primeiro_item": primeiro_item, "ultimo_item": ultimo_item,
|
||||||
"janela_paginas": _janela_paginas(pagina, total_paginas),
|
"janela_paginas": _janela_paginas(pagina, total_paginas),
|
||||||
|
"csrf_token": token_do_contexto(request),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
if por_pagina in OPCOES_POR_PAGINA:
|
if por_pagina in OPCOES_POR_PAGINA:
|
||||||
|
|||||||
@@ -170,6 +170,23 @@ def test_listar_clientes(monkeypatch):
|
|||||||
assert "Cliente Um" in resposta.text
|
assert "Cliente Um" in resposta.text
|
||||||
|
|
||||||
|
|
||||||
|
def test_listar_clientes_inclui_csrf_token_no_contexto(monkeypatch):
|
||||||
|
monkeypatch.setattr(
|
||||||
|
router_clientes.db_clientes,
|
||||||
|
"listar_clientes",
|
||||||
|
lambda busca=None, limite=100, offset=0, ordenar_por="razao", direcao="asc": [],
|
||||||
|
)
|
||||||
|
monkeypatch.setattr(router_clientes.db_clientes, "contar_clientes", lambda busca=None, ordenar_por="razao": 0)
|
||||||
|
|
||||||
|
resposta = client.get("/clientes")
|
||||||
|
assert resposta.status_code == 200
|
||||||
|
# Este app de teste não monta o middleware de CSRF (ver comentário no
|
||||||
|
# topo do arquivo), então token_do_contexto() retorna "" — o que
|
||||||
|
# importa aqui é que o template usa a variável sem quebrar e ela
|
||||||
|
# aparece no script embutido da página.
|
||||||
|
assert 'const CSRF_TOKEN = "";' in resposta.text
|
||||||
|
|
||||||
|
|
||||||
def test_listar_clientes_pagina_com_controles_de_paginacao(monkeypatch):
|
def test_listar_clientes_pagina_com_controles_de_paginacao(monkeypatch):
|
||||||
monkeypatch.setattr(
|
monkeypatch.setattr(
|
||||||
router_clientes.db_clientes,
|
router_clientes.db_clientes,
|
||||||
|
|||||||
Reference in New Issue
Block a user