
import os
import django

os.environ["DJANGO_SETTINGS_MODULE"] = "config.config.settings"
django.setup()

from django.conf import settings
from django.test import Client
from django.contrib.auth import get_user_model

User = get_user_model()
user = User.objects.get(username="Victor")
print("DATABASE:", settings.DATABASES["default"]["NAME"])
print("TEST USER:", user.username)
print("ACTIVE:", user.is_active)
print("STAFF:", user.is_staff)
print("SUPERUSER:", user.is_superuser)
print("ALLOWED_HOSTS:", settings.ALLOWED_HOSTS)

# Use the hostname allowed by the staging configuration.
host = "staging.skeversupplies.co.ke"
client = Client(HTTP_HOST=host)
client.force_login(user)

try:
    print(
        "VALIDATED HOST:",
        client.get("/orders/").wsgi_request.get_host()
    )
except Exception as exc:
    print("HOST VALIDATION ERROR:", repr(exc))

response = client.get("/orders/", follow=False)

print("STATUS CODE:", response.status_code)
print("REDIRECT LOCATION:", response.get("Location", "None"))

content = response.content.decode("utf-8", errors="replace")
print("ORDERS HEADING PRESENT:", "Orders" in content)
print(
    "DASHBOARD NOTICE PRESENT:",
    "no operational dashboard permissions" in content.lower()
)
print("RESPONSE PREVIEW:")
print(content[:2500])
