feat: funcoes puras de resolucao de tamanho de pagina e janela de paginas

This commit is contained in:
Gustavo
2026-08-20 08:48:35 -03:00
parent f940ff5768
commit 9d5702a01e
2 changed files with 83 additions and 0 deletions
+34
View File
@@ -53,6 +53,40 @@ def _form_valido(codigo: str = "000001") -> dict:
return dados
def test_resolver_por_pagina_usa_query_quando_valido():
assert router_clientes._resolver_por_pagina(50, None) == 50
def test_resolver_por_pagina_ignora_query_invalida_usa_cookie():
assert router_clientes._resolver_por_pagina(999, "30") == 30
def test_resolver_por_pagina_ignora_cookie_invalido_usa_padrao():
assert router_clientes._resolver_por_pagina(None, "abc") == 15
assert router_clientes._resolver_por_pagina(None, "999") == 15
def test_resolver_por_pagina_sem_query_nem_cookie_usa_padrao():
assert router_clientes._resolver_por_pagina(None, None) == 15
def test_janela_paginas_poucas_paginas_mostra_todas():
assert router_clientes._janela_paginas(1, 5) == [1, 2, 3, 4, 5]
assert router_clientes._janela_paginas(3, 7) == [1, 2, 3, 4, 5, 6, 7]
def test_janela_paginas_no_meio_com_reticencias_dos_dois_lados():
assert router_clientes._janela_paginas(5, 20) == [1, None, 4, 5, 6, None, 20]
def test_janela_paginas_primeira_pagina():
assert router_clientes._janela_paginas(1, 20) == [1, 2, None, 20]
def test_janela_paginas_ultima_pagina():
assert router_clientes._janela_paginas(20, 20) == [1, None, 19, 20]
def test_listar_clientes(monkeypatch):
monkeypatch.setattr(
router_clientes.db_clientes,