"""Smoke test for the Concept endpoint shape (3 strategies present).

The stub is now replaced by the real Stage 1a/1b/1c pipeline; richer assertions on
filled ТЭП/financial live in tests/services/generative/test_api_concepts.py. This
file is kept as a minimal endpoint-shape smoke.
"""

from fastapi.testclient import TestClient

from app.main import app


def test_concept_stub_returns_three_variants() -> None:
    client = TestClient(app)
    payload = {
        "parcel_geojson": {
            "type": "Polygon",
            "coordinates": [
                [
                    [60.6, 56.83],
                    [60.61, 56.83],
                    [60.61, 56.84],
                    [60.6, 56.84],
                    [60.6, 56.83],
                ]
            ],
        },
        "housing_class": "comfort",
        "target_floors": 9,
        "development_type": "mid_rise",
    }
    response = client.post("/api/v1/concepts", json=payload)
    assert response.status_code == 200
    variants = response.json()["variants"]
    assert len(variants) == 3
    assert {v["strategy"] for v in variants} == {
        "max_area",
        "max_insolation",
        "balanced",
    }
