Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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
Esempio n. 6
0
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)
Esempio n. 7
0
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)
Esempio n. 8
0
def test_is_valid_shipping_method_no_shipping_method(vatlayer):
    cart = Mock(shipping_method=False)
    assert not is_valid_shipping_method(cart, vatlayer, None)