"""
Test script to verify suspend/delete routes are registered.
"""
import sys
sys.path.insert(0, '/home/ashraffarid2010/jadwaai.com')

from app import create_app

app = create_app()

with app.app_context():
    # Check if routes are registered
    from flask import url_for

    routes_to_check = [
        ('admin.users', 'users'),
        ('admin.suspend_user', 'suspend_user', {'user_id': 1}),
        ('admin.unsuspend_user', 'unsuspend_user', {'user_id': 1}),
        ('admin.delete_user', 'delete_user', {'user_id': 1}),
        ('admin.restore_user', 'restore_user', {'user_id': 1}),
    ]

    print("Checking admin routes...")
    for route_info in routes_to_check:
        try:
            if len(route_info) == 2:
                url = url_for(route_info[0])
                print(f"✓ {route_info[1]}: {url}")
            else:
                url = url_for(route_info[0], **route_info[2])
                print(f"✓ {route_info[1]}: {url}")
        except Exception as e:
            print(f"✗ {route_info[1]}: ERROR - {e}")

    # Check User model has the new fields
    print("\nChecking User model fields...")
    from app.models.user import User
    user = User.query.first()

    if user:
        fields_to_check = [
            'is_suspended', 'suspended_at', 'suspended_by_id',
            'suspension_reason', 'deleted_at', 'deleted_by_id'
        ]

        for field in fields_to_check:
            if hasattr(user, field):
                print(f"✓ User.{field} exists")
            else:
                print(f"✗ User.{field} MISSING")
    else:
        print("No users in database to test")

    print("\nAll checks completed!")
