aboutsummaryrefslogtreecommitdiff
path: root/app/tests/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/tests/utils.py')
-rw-r--r--app/tests/utils.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/app/tests/utils.py b/app/tests/utils.py
new file mode 100644
index 0000000..214630e
--- /dev/null
+++ b/app/tests/utils.py
@@ -0,0 +1,29 @@
+import pytest
+from app import app
+from app.models import db, User
+from app.default_data import populate
+
+def clear_data(session):
+ meta = db.metadata
+ for table in reversed(meta.sorted_tables):
+ session.execute(f'ALTER TABLE "{table.name}" DISABLE TRIGGER ALL;')
+ session.execute(table.delete())
+ session.execute(f'ALTER TABLE "{table.name}" ENABLE TRIGGER ALL;')
+ #session.execute(table.delete())
+
+def recreate_db():
+ clear_data(db.session)
+ populate(db.session)
+ db.session.commit()
+
+@pytest.fixture
+def client():
+ app.config["TESTING"] = True
+
+ recreate_db()
+ assert User.query.count() == 1
+
+ with app.test_client() as client:
+ yield client
+
+ app.config["TESTING"] = False