def test_is_valid_shipping_method(checkout_with_item, address, shipping_zone): checkout = checkout_with_item checkout.shipping_address = address checkout.save() # no shipping method assigned assert not is_valid_shipping_method(checkout, None) shipping_method = shipping_zone.shipping_methods.first() checkout.shipping_method = shipping_method checkout.save() assert is_valid_shipping_method(checkout, None) zone = ShippingZone.objects.create(name="DE", countries=["DE"]) shipping_method.shipping_zone = zone shipping_method.save() assert not is_valid_shipping_method(checkout, None)
def test_is_valid_shipping_method(checkout_with_item, address, shipping_zone, vatlayer): checkout = checkout_with_item checkout.shipping_address = address checkout.save() # no shipping method assigned assert not is_valid_shipping_method(checkout, vatlayer, None) shipping_method = shipping_zone.shipping_methods.first() checkout.shipping_method = shipping_method checkout.save() assert is_valid_shipping_method(checkout, vatlayer, None) zone = ShippingZone.objects.create(name="DE", countries=["DE"]) shipping_method.shipping_zone = zone shipping_method.save() assert not is_valid_shipping_method(checkout, vatlayer, None)
def test_is_valid_shipping_method(cart_with_item, address, shipping_zone, vatlayer): cart = cart_with_item cart.shipping_address = address cart.save() # no shipping method assigned assert not is_valid_shipping_method(cart, vatlayer, None) shipping_method = shipping_zone.shipping_methods.first() cart.shipping_method = shipping_method cart.save() assert is_valid_shipping_method(cart, vatlayer, None) zone = ShippingZone.objects.create(name='DE', countries=['DE']) shipping_method.shipping_zone = zone shipping_method.save() assert not is_valid_shipping_method(cart, vatlayer, None)
def test_is_valid_shipping_method( cart_with_item, address, shipping_zone, vatlayer): cart = cart_with_item cart.shipping_address = address cart.save() # no shipping method assigned assert not is_valid_shipping_method(cart, vatlayer, None) shipping_method = shipping_zone.shipping_methods.first() cart.shipping_method = shipping_method cart.save() assert is_valid_shipping_method(cart, vatlayer, None) zone = ShippingZone.objects.create(name='DE', countries=['DE']) shipping_method.shipping_zone = zone shipping_method.save() assert not is_valid_shipping_method(cart, vatlayer, None)
def test_is_valid_shipping_method(taxes, customer_user, cart_with_item, moon_address, monkeypatch, shipping_method): # Test Case M9-01 cart = cart_with_item cart.user = customer_user is_valid_shipping_method = utils.is_valid_shipping_method( cart, list(), taxes) assert not is_valid_shipping_method # Test Case M9-02 cart.shipping_method = shipping_method cart.shipping_address = moon_address is_valid_shipping_method = utils.is_valid_shipping_method( cart, list(), taxes) assert not is_valid_shipping_method # Test Case M9-03 new_cart = cart_with_item new_cart.shipping_method = shipping_method new_cart.shipping_address = customer_user.addresses.first() avoid_propagate_saving = Mock(return_value=None) monkeypatch.setattr('saleor.checkout.utils.clear_shipping_method', avoid_propagate_saving) mock_get_subtotal = Mock( return_value=TaxedMoney(Money(30, "USD"), Money(30, "USD"))) monkeypatch.setattr('saleor.checkout.models.Cart.get_subtotal', mock_get_subtotal) mock_shipping_applicable = Mock(return_value=True) monkeypatch.setattr('saleor.checkout.utils.shipping_method_applicable', mock_shipping_applicable) is_valid_shipping_method = utils.is_valid_shipping_method( new_cart, list(), taxes) assert is_valid_shipping_method # Test Case M9-04 mock_shipping_non_applicable = Mock(return_value=False) monkeypatch.setattr('saleor.checkout.utils.shipping_method_applicable', mock_shipping_non_applicable) is_valid_shipping_method = utils.is_valid_shipping_method( new_cart, list(), taxes) assert not is_valid_shipping_method
def test_is_valid_shipping_method(vatlayer): cart = Mock(shipping_address=Mock(country=Country('PL')), shipping_method=Mock(shipping_zone=Mock(countries=['PL']), minimum_order_price=Money(10, 'USD'), maximum_order_price=None, type=ShippingMethodType.PRICE_BASED), get_total_weight=Mock(return_value=Weight(kg=0)), get_subtotal=Mock(return_value=TaxedMoney( gross=Money(15, 'USD'), net=Money(15, 'USD')))) assert is_valid_shipping_method(cart, vatlayer, None)
def test_is_valid_shipping_method_shipping_outside_the_shipping_zone( mock_clear_shipping_method, vatlayer): cart = Mock(shipping_address=Mock(country=Country('PL')), shipping_method=Mock(shipping_zone=Mock(countries=['DE']))) assert not is_valid_shipping_method(cart, vatlayer, None) mock_clear_shipping_method.assert_called_once_with(cart)
def test_is_valid_shipping_method_no_shipping_method(vatlayer): cart = Mock(shipping_method=False) assert not is_valid_shipping_method(cart, vatlayer, None)