feat: coluna ATIVO em CLIENTE e filtro na camada de banco

This commit is contained in:
Gustavo
2026-08-20 09:49:19 -03:00
parent 53dcd1c9d1
commit 4fd4649edd
3 changed files with 98 additions and 20 deletions
+49
View File
@@ -32,6 +32,7 @@ CLIENTE_TESTE = {
"OBS": "Criado por teste automatizado — apagar se sobrar.",
"VENCIMENTO_CONTRATO": "2027-01-01",
"DIA_VENCIMENTO": "10",
"ATIVO": "1",
}
@@ -163,6 +164,54 @@ def test_proximo_codigo_sugerido_ignora_faixa_de_teste(cliente_id):
assert db_clientes.codigo_em_uso(sugerido) is False
def test_listar_clientes_filtro_ativo_so_ativos(cliente_id):
inativo_id = db_clientes.criar_cliente(dict(CLIENTE_TESTE, CODIGO="999902", ATIVO="0"))
try:
resultado = db_clientes.listar_clientes(busca="TESTE PAINEL", filtro_ativo=1)
codigos = [c["CODIGO"] for c in resultado]
assert "999901" in codigos
assert "999902" not in codigos
finally:
_limpar("999902")
def test_listar_clientes_filtro_inativo_so_inativos(cliente_id):
inativo_id = db_clientes.criar_cliente(dict(CLIENTE_TESTE, CODIGO="999903", ATIVO="0"))
try:
resultado = db_clientes.listar_clientes(busca="TESTE PAINEL", filtro_ativo=0)
codigos = [c["CODIGO"] for c in resultado]
assert "999901" not in codigos
assert "999903" in codigos
finally:
_limpar("999903")
def test_listar_clientes_filtro_none_traz_todos(cliente_id):
inativo_id = db_clientes.criar_cliente(dict(CLIENTE_TESTE, CODIGO="999904", ATIVO="0"))
try:
resultado = db_clientes.listar_clientes(busca="TESTE PAINEL", filtro_ativo=None)
codigos = [c["CODIGO"] for c in resultado]
assert "999901" in codigos
assert "999904" in codigos
finally:
_limpar("999904")
def test_contar_clientes_respeita_filtro_ativo(cliente_id):
inativo_id = db_clientes.criar_cliente(dict(CLIENTE_TESTE, CODIGO="999907", ATIVO="0"))
try:
assert db_clientes.contar_clientes(busca="TESTE PAINEL", filtro_ativo=1) == 1
assert db_clientes.contar_clientes(busca="TESTE PAINEL", filtro_ativo=0) == 1
assert db_clientes.contar_clientes(busca="TESTE PAINEL", filtro_ativo=None) == 2
finally:
_limpar("999907")
def test_criar_cliente_grava_ativo(cliente_id):
cliente = db_clientes.obter_cliente(cliente_id)
assert cliente["ATIVO"] == 1
def test_excluir_cliente_com_contato_bloqueia(cliente_id):
conn = get_connection()
try: