- padronizando o nome de get_db_connection e session para get_db_session, para não confundir com session do Flask ou sessoes web
- corrigindo potenciais erros
-- has_permission nao consegue com lazy load carregar permission depois de load_user fechar a conexao, entao joinedLoad com Permission antes de fechar
-- db.rollback não existe caso db = get_db_session() apareça muito depois dentro do try, padronizando antes de try
--- comparar role por nivel (Role.SECRETARIO_GERAL) e nao por nome ("Secretario Geral")
- unificacao de get_otp_qr_code
- mudança de nowutc() para now(UTC) conforme novo padrão
33 lines
760 B
Python
33 lines
760 B
Python
import pytest
|
|
from app import create_app
|
|
from functions.database import init_database, get_db_session
|
|
|
|
@pytest.fixture
|
|
def app():
|
|
"""Cria uma instância do app para testes"""
|
|
app = create_app()
|
|
app.config['TESTING'] = True
|
|
app.config['WTF_CSRF_ENABLED'] = False
|
|
|
|
# Inicializar banco de dados de teste
|
|
init_database()
|
|
|
|
yield app
|
|
|
|
# Limpar banco após os testes
|
|
db = get_db_session()
|
|
try:
|
|
db.execute('DROP TABLE IF EXISTS usuarios CASCADE')
|
|
db.commit()
|
|
finally:
|
|
db.close()
|
|
|
|
@pytest.fixture
|
|
def client(app):
|
|
"""Cria um cliente de teste"""
|
|
return app.test_client()
|
|
|
|
@pytest.fixture
|
|
def runner(app):
|
|
"""Cria um runner de CLI para testes"""
|
|
return app.test_cli_runner() |