from channel.url_canonical import (
    build_pdp_slug,
    build_pdp_url,
    build_plp_url,
    listing_paths_from_facets,
    normalize_plp_path,
)


def test_build_pdp_slug_appends_sku():
    assert build_pdp_slug("Anna Snow White B15", "ASWB15") == "anna-snow-white-b15-aswb15"


def test_build_pdp_url_root_path():
    assert build_pdp_url("anna-snow-white-b15-aswb15") == "/anna-snow-white-b15-aswb15"


def test_build_plp_url_trailing_slash():
    assert build_plp_url("kitchen-cabinets/shaker") == "/kitchen-cabinets/shaker/"


def test_listing_paths_from_facets_includes_hub_and_facet():
    paths = listing_paths_from_facets("kitchen-cabinets", ["shaker", "base-cabinets"])
    assert "kitchen-cabinets" in paths
    assert "kitchen-cabinets/shaker" in paths
    assert "kitchen-cabinets/base-cabinets" in paths


def test_normalize_plp_path_strips_slashes():
    assert normalize_plp_path("/Kitchen Cabinets/Shaker/") == "kitchen-cabinets/shaker"
