コード例 #1
0
def test_get_all_manufacturers():
    from shuup.front.template_helpers import general

    context = get_jinja_context()

    supplier = get_default_supplier()
    shop = get_default_shop()
    manuf1 = Manufacturer.objects.create(name="M1")
    manuf2 = Manufacturer.objects.create(name="M2")
    manuf3 = Manufacturer.objects.create(name="M2")
    manuf1.shops.add(shop)
    manuf2.shops.add(shop)

    products = [
        create_product("sku-%d" % x, supplier=supplier, shop=shop)
        for x in range(3)
    ]
    products[0].manufacturer = manuf1
    products[0].save()
    products[1].manufacturer = manuf2
    products[1].save()
    products[2].manufacturer = manuf3
    products[2].save()

    set_cached_value_mock = mock.Mock(wraps=context_cache.set_cached_value)

    def set_cache_value(key, value, timeout=None):
        if "all_manufacturers" in key:
            return set_cached_value_mock(key, value, timeout)

    with mock.patch.object(context_cache,
                           "set_cached_value",
                           new=set_cache_value):
        assert set_cached_value_mock.call_count == 0

        # manufacturers are cached
        assert len(general.get_all_manufacturers(context)) == 3
        assert set_cached_value_mock.call_count == 1

        # call again, cache is used
        assert len(general.get_all_manufacturers(context)) == 3
        assert set_cached_value_mock.call_count == 1

        # change manufacturer, the cache is bumped
        manuf1.save()
        assert len(general.get_all_manufacturers(context)) == 3
        assert set_cached_value_mock.call_count == 2

        # change a manufacturer with no shop, cache bumped
        manuf3.save()
        assert len(general.get_all_manufacturers(context)) == 3
        assert set_cached_value_mock.call_count == 3
コード例 #2
0
def test_get_all_manufacturers(reindex_catalog):
    from shuup.front.template_helpers import general

    context = get_jinja_context()
    supplier = get_default_supplier()
    shop = get_default_shop()
    manuf1 = Manufacturer.objects.create(name="M1")
    manuf2 = Manufacturer.objects.create(name="M2")
    manuf3 = Manufacturer.objects.create(name="M2")
    manuf1.shops.add(shop)
    manuf2.shops.add(shop)

    products = [
        create_product("sku-%d" % x, supplier=supplier, shop=shop)
        for x in range(3)
    ]
    products[0].manufacturer = manuf1
    products[0].save()
    products[1].manufacturer = manuf2
    products[1].save()
    products[2].manufacturer = manuf3
    products[2].save()

    reindex_catalog()

    assert len(general.get_all_manufacturers(context)) == 3
コード例 #3
0
def test_get_all_manufacturers():
    from shuup.front.template_helpers import general
    context = get_jinja_context()

    supplier = get_default_supplier()
    shop = get_default_shop()
    manuf1 = Manufacturer.objects.create(name="M1")
    manuf2 = Manufacturer.objects.create(name="M2")
    manuf3 = Manufacturer.objects.create(name="M2")
    manuf1.shops.add(shop)
    manuf2.shops.add(shop)

    products = [
        create_product("sku-%d" % x, supplier=supplier, shop=shop) for x in range(3)
    ]
    products[0].manufacturer = manuf1; products[0].save()
    products[1].manufacturer = manuf2; products[1].save()
    products[2].manufacturer = manuf3; products[2].save()

    set_cached_value_mock = mock.Mock(wraps=context_cache.set_cached_value)
    def set_cache_value(key, value, timeout=None):
        if "all_manufacturers" in key:
            return set_cached_value_mock(key, value, timeout)

    with mock.patch.object(context_cache, "set_cached_value", new=set_cache_value):
        assert set_cached_value_mock.call_count == 0

        # manufacturers are cached
        assert len(general.get_all_manufacturers(context)) == 3
        assert set_cached_value_mock.call_count == 1

        # call again, cache is used
        assert len(general.get_all_manufacturers(context)) == 3
        assert set_cached_value_mock.call_count == 1

        # change manufacturer, the cache is bumped
        manuf1.save()
        assert len(general.get_all_manufacturers(context)) == 3
        assert set_cached_value_mock.call_count == 2

        # change a manufacturer with no shop, cache bumped
        manuf3.save()
        assert len(general.get_all_manufacturers(context)) == 3
        assert set_cached_value_mock.call_count == 3
コード例 #4
0
def test_get_all_manufacturers():
    populate_if_required()
    context = get_jinja_context()
    # TODO: This is not a good test
    assert len(general.get_all_manufacturers(context)) == 0
コード例 #5
0
def test_get_all_manufacturers():
    from shuup.front.template_helpers import general
    populate_if_required()
    context = get_jinja_context()
    # TODO: This is not a good test
    assert len(general.get_all_manufacturers(context)) == 0