82 lines
2.8 KiB
Python
82 lines
2.8 KiB
Python
#!/usr/bin/env python
|
|
"""Test script to verify the survey form fix"""
|
|
import os
|
|
import sys
|
|
import django
|
|
|
|
# Setup Django
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'PX360.settings')
|
|
sys.path.insert(0, '/home/ismail/projects/HH')
|
|
django.setup()
|
|
|
|
from django.contrib.auth import get_user_model
|
|
from apps.surveys.forms import ManualSurveySendForm, ManualPhoneSurveySendForm, BulkCSVSurveySendForm
|
|
|
|
User = get_user_model()
|
|
|
|
print("Testing survey form fixes...\n")
|
|
|
|
# Get a test user (any user with a hospital)
|
|
try:
|
|
user = User.objects.filter(hospital__isnull=False).first()
|
|
if not user:
|
|
print("ERROR: No user with hospital found. Creating a test user...")
|
|
from apps.organizations.models import Hospital
|
|
hospital = Hospital.objects.first()
|
|
if not hospital:
|
|
print("ERROR: No hospital found in database!")
|
|
sys.exit(1)
|
|
user = User.objects.create_user(
|
|
username='testuser',
|
|
email='test@example.com',
|
|
hospital=hospital
|
|
)
|
|
print(f"Created test user: {user.username}")
|
|
else:
|
|
print(f"Using existing user: {user.username} (Hospital: {user.hospital})")
|
|
except Exception as e:
|
|
print(f"ERROR: Failed to get user: {e}")
|
|
sys.exit(1)
|
|
|
|
# Test ManualSurveySendForm
|
|
print("\n1. Testing ManualSurveySendForm...")
|
|
try:
|
|
form = ManualSurveySendForm(user)
|
|
print(f" ✓ ManualSurveySendForm instantiated successfully")
|
|
print(f" - Has user attribute: {hasattr(form, 'user')}")
|
|
print(f" - User is set: {form.user == user}")
|
|
print(f" - Survey template queryset filtered: {form.fields['survey_template'].queryset.count()} templates")
|
|
except Exception as e:
|
|
print(f" ✗ ERROR: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
# Test ManualPhoneSurveySendForm
|
|
print("\n2. Testing ManualPhoneSurveySendForm...")
|
|
try:
|
|
form = ManualPhoneSurveySendForm(user)
|
|
print(f" ✓ ManualPhoneSurveySendForm instantiated successfully")
|
|
print(f" - Has user attribute: {hasattr(form, 'user')}")
|
|
print(f" - User is set: {form.user == user}")
|
|
print(f" - Survey template queryset filtered: {form.fields['survey_template'].queryset.count()} templates")
|
|
except Exception as e:
|
|
print(f" ✗ ERROR: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
# Test BulkCSVSurveySendForm
|
|
print("\n3. Testing BulkCSVSurveySendForm...")
|
|
try:
|
|
form = BulkCSVSurveySendForm(user)
|
|
print(f" ✓ BulkCSVSurveySendForm instantiated successfully")
|
|
print(f" - Has user attribute: {hasattr(form, 'user')}")
|
|
print(f" - User is set: {form.user == user}")
|
|
print(f" - Survey template queryset filtered: {form.fields['survey_template'].queryset.count()} templates")
|
|
except Exception as e:
|
|
print(f" ✗ ERROR: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
print("\n" + "="*60)
|
|
print("All tests completed successfully!")
|
|
print("="*60) |