forked from Anteros-Code-Mentoria/poc-mvc-ocr
31 lines
827 B
Python
31 lines
827 B
Python
import pytest
|
|
from app import create_app
|
|
from app.database import db
|
|
|
|
@pytest.fixture
|
|
def app():
|
|
"""Cria uma instância do Flask para testes"""
|
|
app = create_app()
|
|
app.config.update({
|
|
"TESTING": True,
|
|
"SQLALCHEMY_DATABASE_URI": "sqlite:///:memory:", # Banco em memória para testes rápidos
|
|
"SQLALCHEMY_TRACK_MODIFICATIONS": False
|
|
})
|
|
|
|
with app.app_context():
|
|
db.create_all() # Criar tabelas no banco de testes
|
|
yield app # Executa os testes
|
|
db.session.remove()
|
|
db.drop_all() # Limpa o banco após os testes
|
|
|
|
@pytest.fixture
|
|
def client(app):
|
|
"""Cliente de testes do Flask"""
|
|
return app.test_client()
|
|
|
|
@pytest.fixture
|
|
def db_session(app):
|
|
"""Sessão do banco de dados para os testes"""
|
|
with app.app_context():
|
|
yield db.session
|