import pytest

from flask import g

import app as myapp
from app import db, create_app
from app.auth.models import User, Role, Permission
from app.scodoc import sco_bulletins_standard
from app.scodoc import notesdb as ndb


@pytest.fixture()
def test_client():
    # Setup
    myapp.Config.TESTING = True
    myapp.Config.SQLALCHEMY_DATABASE_URI = "sqlite://"
    apptest = create_app()
    # Run tests:
    with apptest.test_client() as client:
        with apptest.app_context():
            db.create_all()
            Role.insert_roles()
            g.scodoc_dept = "RT"
            g.db_conn = ndb.open_dept_connection()
            yield client
            ndb.close_dept_connection()
            # Teardown:
            db.session.remove()
            db.drop_all()