from pathlib import Path

from settings import load_attribute_registry_codes, load_attribute_registry_options


REGISTRY_PATH = Path(__file__).resolve().parents[1] / "data" / "attribute_registry.json"


def test_client_attribute_vocabulary_is_loaded():
    codes = load_attribute_registry_codes(str(REGISTRY_PATH))
    options = load_attribute_registry_options(str(REGISTRY_PATH))

    assert "product_type" in codes
    assert "product-type" in codes
    assert "style" in codes
    assert "styles" in codes
    assert "door-type" in codes
    assert "fits-opening-width" in codes

    assert "BEAUFLOR" in options["brand"]
    assert "Northeast Pro" in options["brand"]
    assert "Port & Bell" in options["brand"]
    assert "Home Plus" in options["brand"]
    assert "4-5/8" in options["depth"]
    assert '17"' in options["size"]
    assert "Oval" in options["sink_opening_shape"]
    assert "Double Hung" in options["frame"]
    assert "Clear Glass" in options["glass"]
    assert "Frosted Glass" in options["glass"]
    assert "Tempered Glass" in options["glass"]
    assert "Grids" in options["glass"]
    assert "Aruba" in options["style"]
    assert "Shaker" in options["styles"]
    assert "see attribute options column" not in options["brand"]
