Пример #1
0
def test_get_product_attributes_data_excludes_hidden_attributes(
        product, color_attribute):
    """Ensures hidden attributes are ignored."""

    attributes_data = get_product_attributes_data(product)
    assert attributes_data

    color_attribute.visible_in_storefront = False
    color_attribute.save(update_fields=["visible_in_storefront"])
    attributes_data = get_product_attributes_data(product)
    assert not attributes_data
Пример #2
0
def test_get_product_attributes_data_translation(
    product, settings, translated_attribute
):
    settings.LANGUAGE_CODE = "fr"
    attributes_data = get_product_attributes_data(product)
    attributes_keys = [attr.name for attr in attributes_data.keys()]
    assert translated_attribute.name in attributes_keys
Пример #3
0
def test_get_product_attributes_data_multi_values_attribute(
        product_with_multiple_values_attributes):
    """Ensures attributes with multiple values are properly resolved and handled."""

    product = product_with_multiple_values_attributes
    attribute = product.product_type.product_attributes.first()

    attributes_data = get_product_attributes_data(product)
    values = list(attributes_data.values())

    assert len(values) == 1
    assert values[0] == ", ".join([v.name for v in attribute.values.all()])
Пример #4
0
def test_get_product_attributes_data_translation(
        product, settings, translated_attribute):
    settings.LANGUAGE_CODE = 'fr'
    attributes_data = get_product_attributes_data(product)
    attributes_keys = [attr.name for attr in attributes_data.keys()]
    assert translated_attribute.name in attributes_keys