Esempio n. 1
0
def test_cant_process_shipped_delivery_group(delivery_group, product_in_stock):
    delivery_group.ship()
    delivery_group.save()

    variant = product_in_stock.variants.get()
    cart = Cart()
    cart.save()
    cart.add(variant, quantity=2)

    with pytest.raises(TransitionNotAllowed):
        delivery_group.process(cart.lines.all())
Esempio n. 2
0
def test_stock_allocation(billing_address, product_in_stock):
    variant = product_in_stock.variants.get()
    cart = Cart()
    cart.save()
    cart.add(variant, quantity=2)
    order = models.Order.objects.create(billing_address=billing_address)
    delivery_group = models.DeliveryGroup.objects.create(order=order)
    add_items_to_delivery_group(delivery_group, cart.lines.all())
    order_line = delivery_group.items.get()
    stock = order_line.stock
    assert stock.quantity_allocated == 2
Esempio n. 3
0
def test_stock_allocation(billing_address, product_in_stock):
    variant = product_in_stock.variants.get()
    cart = Cart()
    cart.save()
    cart.add(variant, quantity=2)
    order = models.Order.objects.create(billing_address=billing_address)
    delivery_group = models.DeliveryGroup.objects.create(order=order)
    delivery_group.add_items_from_partition(cart)
    order_line = delivery_group.items.get()
    stock = order_line.stock
    assert stock.quantity_allocated == 2
Esempio n. 4
0
def test_cant_process_shipped_delivery_group(
        delivery_group, product_in_stock):
    delivery_group.ship()
    delivery_group.save()

    variant = product_in_stock.variants.get()
    cart = Cart()
    cart.save()
    cart.add(variant, quantity=2)

    with pytest.raises(TransitionNotAllowed):
        delivery_group.process(cart.lines.all())
Esempio n. 5
0
def test_process_new_delivery_group(billing_address, product_in_stock):
    variant = product_in_stock.variants.get()
    cart = Cart()
    cart.save()
    cart.add(variant, quantity=2)
    order = Order.objects.create(billing_address=billing_address)
    group = DeliveryGroup.objects.create(order=order)

    group.process(cart.lines.all())
    group.save()

    assert group.status == GroupStatus.NEW
    order_line = group.lines.get()
    stock = order_line.stock
    assert stock.quantity_allocated == 2
Esempio n. 6
0
def test_process_new_delivery_group(billing_address, product_in_stock):
    variant = product_in_stock.variants.get()
    cart = Cart()
    cart.save()
    cart.add(variant, quantity=2)
    order = Order.objects.create(billing_address=billing_address)
    group = DeliveryGroup.objects.create(order=order)

    group.process(cart.lines.all())
    group.save()

    assert group.status == GroupStatus.NEW
    order_line = group.lines.get()
    stock = order_line.stock
    assert stock.quantity_allocated == 2