import os
import pytest
import requests

BASE_URL = os.environ.get("REACT_APP_BACKEND_URL", "https://cupid-qr-1.preview.emergentagent.com").rstrip("/")
API = f"{BASE_URL}/api"


@pytest.fixture(scope="session")
def base_url():
    return BASE_URL


@pytest.fixture(scope="session")
def api_url():
    return API


@pytest.fixture
def client():
    s = requests.Session()
    s.headers.update({"Content-Type": "application/json"})
    return s


@pytest.fixture(scope="session")
def admin_token():
    r = requests.post(f"{API}/auth/login", json={"email": "admin@qrcupid.com", "password": "Admin@123"})
    assert r.status_code == 200, f"admin login failed {r.status_code} {r.text}"
    return r.json()["token"]


@pytest.fixture(scope="session")
def maya_token():
    r = requests.post(f"{API}/auth/login", json={"email": "maya@demo.com", "password": "Demo@123"})
    assert r.status_code == 200, f"maya login failed {r.status_code} {r.text}"
    return r.json()


@pytest.fixture(scope="session")
def jordan_token():
    r = requests.post(f"{API}/auth/login", json={"email": "jordan@demo.com", "password": "Demo@123"})
    assert r.status_code == 200
    return r.json()


def auth_headers(token):
    return {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
