예제 #1
0
def test_cross_sell_plugin_with_invalid_type():
    plugin = ProductCrossSellsPlugin({"type": "foobar"})
    assert plugin.config['type'] == ProductCrossSellType.RELATED

    plugin.config['type'] = 'foobar'
    context_data = plugin.get_context_data({'request': 'REQUEST'})
    assert context_data['type'] == ProductCrossSellType.RELATED
예제 #2
0
def test_cross_sell_plugin_accepts_initial_config_as_string_or_enum():
    plugin = ProductCrossSellsPlugin({"type": "computed"})
    assert plugin.config["type"] == ProductCrossSellType.COMPUTED

    plugin = ProductCrossSellsPlugin(
        {"type": ProductCrossSellType.RECOMMENDED})
    assert plugin.config["type"] == ProductCrossSellType.RECOMMENDED
예제 #3
0
def test_cross_sell_plugin_with_invalid_type():
    plugin = ProductCrossSellsPlugin({"type": "foobar"})
    assert plugin.config["type"] == ProductCrossSellType.RELATED

    plugin.config["type"] = "foobar"
    context_data = plugin.get_context_data({"request": "REQUEST"})
    assert context_data["type"] == ProductCrossSellType.RELATED
예제 #4
0
def test_cross_sell_plugin_with_invalid_type():
    plugin = ProductCrossSellsPlugin({"type": "foobar"})
    assert plugin.config['type'] == ProductCrossSellType.RELATED

    plugin.config['type'] = 'foobar'
    context_data = plugin.get_context_data({'request': 'REQUEST'})
    assert context_data['type'] == ProductCrossSellType.RELATED
예제 #5
0
def test_cross_sell_plugin_renders():
    """
    Test that the plugin renders a product
    """
    shop = get_default_shop()
    supplier = get_default_supplier()
    product = create_product("test-sku",
                             shop=shop,
                             supplier=supplier,
                             stock_behavior=StockBehavior.UNSTOCKED)
    computed = create_product("test-computed-sku",
                              shop=shop,
                              supplier=supplier,
                              stock_behavior=StockBehavior.UNSTOCKED)
    type = ProductCrossSellType.COMPUTED

    ProductCrossSell.objects.create(product1=product,
                                    product2=computed,
                                    type=type)
    assert ProductCrossSell.objects.filter(product1=product,
                                           type=type).count() == 1

    context = get_jinja_context(product=product)
    rendered = ProductCrossSellsPlugin({"type": type}).render(context)
    assert computed.sku in rendered