from db.brochure_sku_vocabulary import classify_brochure_sku_variant


def test_classify_wall_corner_package_variant():
    row = classify_brochure_sku_variant("WCOR2430")
    assert row is not None
    assert row["type_key"] == "wall.corner.pie-cut"
    assert row["label"] == "Wall Corner 24 x 30"
    assert row["package_template"] == "Wall Corner {width} x {height}"


def test_classify_lazy_susan_variant():
    row = classify_brochure_sku_variant("BCOR36L/R")
    assert row is not None
    assert row["type_key"] == "base.corner.lazy-susan"
    assert row["label"] == "Lazy Susan 36"
    assert row["package_template"] == "Lazy Susan {width}"


def test_classify_basic_base_variant():
    row = classify_brochure_sku_variant("B18")
    assert row is not None
    assert row["type_key"] == "base.basic.1-door-1-drawer"
    assert row["label"] == "Base 18"
    assert row["package_template"] == "Base {width}"


def test_classify_blind_corner_uses_package_width():
    row = classify_brochure_sku_variant("BBC39/42L/R")
    assert row is not None
    assert row["type_key"] == "base.corner.blind-corner"
    assert row["label"] == "Blind Base 42"
    assert row["dimensions"] == {"width": 42, "alt_width": 39}


def test_classify_pantry_and_oven_variants():
    pantry = classify_brochure_sku_variant("PC1884")
    oven = classify_brochure_sku_variant("OC3384")
    assert pantry is not None
    assert oven is not None
    assert pantry["label"] == "Pantry 18 x 84"
    assert oven["label"] == "Oven 33 x 84"
