From 3b964505d7a05c8a606af59dc79245a7bff956ce Mon Sep 17 00:00:00 2001
From: Mark <mark@openappstack.net>
Date: Tue, 10 Sep 2019 16:50:13 +0200
Subject: [PATCH] Refactor tearDown function

---
 test/test_graphql.py | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/test/test_graphql.py b/test/test_graphql.py
index 8701c10..ea12ff1 100644
--- a/test/test_graphql.py
+++ b/test/test_graphql.py
@@ -18,9 +18,18 @@ class GraphQlTests(LiveServerTestCase):
 
     def tearDown(self):
         # clean up tables
-        users = User.query.filter_by(username="graphqluser").delete()
-        roles = Role.query.filter_by(name="testusers").delete()
-        db_session.commit()
+        for username in ["graphqluser"]:
+            user = db_session.query(User).filter_by(username=username).first()
+            if user is not None:
+                user.roles = []
+                user.applications = []
+                db_session.delete(user)
+                db_session.commit()
+        role = db_session.query(Role).filter_by(name="testusers").first()
+        if role is not None:
+            role.users = []
+            db_session.delete(role)
+            db_session.commit()
 
 
     def test_query_create_and_get_user(self):
-- 
GitLab