from sqlalchemy import select

from db.models import MasterProduct
from db.product_channel_taxonomy import _apply_multi_like, _split_filter_values


def test_split_filter_values_accepts_common_separators():
    assert _split_filter_values("Base Cabinets, Wall Cabinets\nTall Cabinets|Vanities") == [
        "Base Cabinets",
        "Wall Cabinets",
        "Tall Cabinets",
        "Vanities",
    ]


def test_apply_multi_like_uses_or_for_multiple_values():
    stmt = select(MasterProduct.sku)
    stmt = _apply_multi_like(stmt, MasterProduct.category_l2, "Base Cabinets, Wall Cabinets")
    compiled = str(stmt).lower()
    assert " or " in compiled
    assert "category_l2" in compiled
