@@ -15,7 +15,7 @@ class TestMainViews:
1515 """Integration tests for main script execution endpoints using real Supabase"""
1616
1717 @pytest .fixture (autouse = True )
18- def setup (self , test_django_user , test_admin_django_user , django_db_blocker ):
18+ def setup (self , test_django_user , test_admin_django_user , django_db_blocker , ensure_test_tables ):
1919 # Default script parameters
2020 self .script_params = {
2121 "parameters" : {
@@ -49,19 +49,24 @@ def setup(self, test_django_user, test_admin_django_user, django_db_blocker):
4949 yield
5050
5151 with django_db_blocker .unblock ():
52- # Clean up after tests
53- low_credit_auth_user = self .low_credit_user .user
54- self .low_credit_user .delete ()
55- low_credit_auth_user .delete ()
56- CreditTransaction .objects .filter (user = low_credit_auth_user ).delete ()
57-
58- # Reset credits for test users
59- if hasattr (self .test_user , 'credits_balance' ):
60- self .test_user .credits_balance = 1000
61- self .test_user .save ()
62- if hasattr (self .admin_user , 'credits_balance' ):
63- self .admin_user .credits_balance = 1000
64- self .admin_user .save ()
52+ # Clean up after tests - use try/except to handle missing tables
53+ try :
54+ # Clear transactions first to avoid foreign key constraint errors
55+ from apps .credits .models import CreditTransaction
56+ CreditTransaction .objects .filter (user = self .low_credit_user .user ).delete ()
57+
58+ # Then delete the users
59+ low_credit_auth_user = self .low_credit_user .user
60+ self .low_credit_user .delete ()
61+ low_credit_auth_user .delete ()
62+
63+ # Reset credits for test users
64+ if hasattr (self .test_user , 'credits_balance' ):
65+ self .test_user .credits_balance = 1000
66+ self .test_user .save ()
67+ except Exception as e :
68+ # Log the error but don't fail the test
69+ print (f"Cleanup error: { str (e )} " )
6570
6671 def test_main_script_execution_success (self , monkeypatch , django_db_blocker ):
6772 """Test successful script execution with real Supabase auth"""
0 commit comments