def test_check_product_availability_and_warn(monkeypatch, cart, product): variant = product.variants.get() cart.add(variant, 1) monkeypatch.setattr('django.contrib.messages.warning', Mock(warning=Mock())) monkeypatch.setattr('saleor.cart.utils.contains_unavailable_variants', Mock(return_value=False)) utils.check_product_availability_and_warn(MagicMock(), cart) assert len(cart) == 1 monkeypatch.setattr('saleor.cart.utils.contains_unavailable_variants', Mock(return_value=True)) monkeypatch.setattr('saleor.cart.utils.remove_unavailable_variants', lambda c: c.add(variant, 0, replace=True)) utils.check_product_availability_and_warn(MagicMock(), cart) assert len(cart) == 0
def test_check_product_availability_and_warn( monkeypatch, cart, product_in_stock): variant = product_in_stock.variants.get() cart.add(variant, 1) monkeypatch.setattr('django.contrib.messages.warning', Mock(warning=Mock())) monkeypatch.setattr('saleor.cart.utils.contains_unavailable_variants', Mock(return_value=False)) utils.check_product_availability_and_warn(MagicMock(), cart) assert len(cart) == 1 monkeypatch.setattr('saleor.cart.utils.contains_unavailable_variants', Mock(return_value=True)) monkeypatch.setattr('saleor.cart.utils.remove_unavailable_variants', lambda c: c.add(variant, 0, replace=True)) utils.check_product_availability_and_warn(MagicMock(), cart) assert len(cart) == 0