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
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
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()])
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