Files

56 lines
1.3 KiB
Python

import pytest
from app import create_app
from app.config import TestConfig
from app.extensions import db
from app.models.user import User
from flask_jwt_extended import create_access_token
@pytest.fixture
def app():
app = create_app(TestConfig)
with app.app_context():
db.create_all()
yield app
db.session.remove()
db.drop_all()
@pytest.fixture
def client(app):
return app.test_client()
@pytest.fixture
def admin_user(app):
user = User(
nome="Admin Tester",
email="admin@test.com",
role="admin",
ativo=True
)
user.set_password("AdminPass123!")
db.session.add(user)
db.session.commit()
return user
@pytest.fixture
def regular_user(app):
user = User(
nome="User Tester",
email="user@test.com",
role="user",
ativo=True
)
user.set_password("UserPass123!")
db.session.add(user)
db.session.commit()
return user
@pytest.fixture
def admin_headers(app, admin_user):
token = create_access_token(identity=admin_user.id, additional_claims={'role': 'admin'})
return {'Authorization': f'Bearer {token}'}
@pytest.fixture
def user_headers(app, regular_user):
token = create_access_token(identity=regular_user.id, additional_claims={'role': 'user'})
return {'Authorization': f'Bearer {token}'}