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
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
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
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
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