57 lines
1.3 KiB
Python
57 lines
1.3 KiB
Python
|
|
import pytest
|
||
|
|
from unittest.mock import MagicMock
|
||
|
|
from flask import Flask
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture
|
||
|
|
def app():
|
||
|
|
"""Create Flask test app"""
|
||
|
|
app = Flask(__name__)
|
||
|
|
app.config["TESTING"] = True
|
||
|
|
return app
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture
|
||
|
|
def client(app):
|
||
|
|
"""Create Flask test client"""
|
||
|
|
return app.test_client()
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture
|
||
|
|
def mock_db_connection():
|
||
|
|
"""Mock database connection"""
|
||
|
|
mock_conn = MagicMock()
|
||
|
|
mock_cursor = MagicMock()
|
||
|
|
|
||
|
|
mock_conn.__enter__ = MagicMock(return_value=mock_conn)
|
||
|
|
mock_conn.__exit__ = MagicMock(return_value=False)
|
||
|
|
mock_conn.cursor.return_value.__enter__ = MagicMock(return_value=mock_cursor)
|
||
|
|
mock_conn.cursor.return_value.__exit__ = MagicMock(return_value=False)
|
||
|
|
|
||
|
|
return mock_conn, mock_cursor
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture
|
||
|
|
def sample_user_data():
|
||
|
|
"""Sample user data for testing"""
|
||
|
|
return {
|
||
|
|
"name": "John Doe",
|
||
|
|
"email": "john@example.com",
|
||
|
|
"dob": "1990-01-01",
|
||
|
|
"gender": "male"
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
@pytest.fixture
|
||
|
|
def sample_filter_params():
|
||
|
|
"""Sample filter parameters for testing"""
|
||
|
|
return {
|
||
|
|
"page": 0,
|
||
|
|
"size": 8,
|
||
|
|
"asc": "false",
|
||
|
|
"filter[keyword]": "test",
|
||
|
|
"filter[name]": "John",
|
||
|
|
"filter[email]": "john@example.com",
|
||
|
|
"filter[gender]": "male",
|
||
|
|
}
|