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