1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- # -*- coding:utf-8 -*-
- import pytest
- import flask_migrate
- from app import create_app
- from extensions.ext_database import db
- @pytest.fixture(scope='module')
- def test_client():
- # Create a Flask app configured for testing
- from config import TestConfig
- flask_app = create_app(TestConfig())
- flask_app.config.from_object('config.TestingConfig')
- # Create a test client using the Flask application configured for testing
- with flask_app.test_client() as testing_client:
- # Establish an application context
- with flask_app.app_context():
- yield testing_client # this is where the testing happens!
- @pytest.fixture(scope='module')
- def init_database(test_client):
- # Initialize the database
- with test_client.application.app_context():
- flask_migrate.upgrade()
- yield # this is where the testing happens!
- # Clean up the database
- with test_client.application.app_context():
- flask_migrate.downgrade()
- @pytest.fixture(scope='module')
- def db_session(test_client):
- with test_client.application.app_context():
- yield db.session
- @pytest.fixture(scope='function')
- def login_default_user(test_client):
- # todo
-
- yield # this is where the testing happens!
- test_client.get('/logout', follow_redirects=True)
|