Exemplo n.º 1
0
def process_delivery_group(group, cart_lines, discounts=None):
    """Fill shipment group with order lines created from partition items."""
    for line in cart_lines:
        add_variant_to_delivery_group(group,
                                      line.variant,
                                      line.quantity,
                                      discounts,
                                      add_to_existing=False)
Exemplo n.º 2
0
def test_add_variant_to_delivery_group_allocates_stock_for_new_variant(
        order_with_lines, product_in_stock):
    group = order_with_lines.groups.get()
    variant = product_in_stock.variants.get()
    stock = variant.select_stockrecord()
    stock_before = stock.quantity_allocated

    add_variant_to_delivery_group(group, variant, 1)

    stock.refresh_from_db()
    assert stock.quantity_allocated == stock_before + 1
Exemplo n.º 3
0
def test_add_variant_to_delivery_group_allocates_stock_for_new_variant(
        order_with_lines, product_in_stock):
    group = order_with_lines.groups.get()
    variant = product_in_stock.variants.get()
    stock = variant.select_stockrecord()
    stock_before = stock.quantity_allocated

    add_variant_to_delivery_group(group, variant, 1)

    stock.refresh_from_db()
    assert stock.quantity_allocated == stock_before + 1
Exemplo n.º 4
0
def test_add_variant_to_delivery_group_adds_line_for_new_variant(
        order_with_lines, product_in_stock):
    group = order_with_lines.groups.get()
    variant = product_in_stock.variants.get()
    lines_before = group.lines.count()

    add_variant_to_delivery_group(group, variant, 1)

    line = group.lines.last()
    assert group.lines.count() == lines_before + 1
    assert line.product_sku == variant.sku
    assert line.quantity == 1
Exemplo n.º 5
0
def test_add_variant_to_delivery_group_adds_line_for_new_variant(
        order_with_lines, product_in_stock):
    group = order_with_lines.groups.get()
    variant = product_in_stock.variants.get()
    lines_before = group.lines.count()

    add_variant_to_delivery_group(group, variant, 1)

    line = group.lines.last()
    assert group.lines.count() == lines_before + 1
    assert line.product_sku == variant.sku
    assert line.quantity == 1
Exemplo n.º 6
0
def test_add_variant_to_delivery_group_adds_item_for_new_variant(
        order_with_items, product_in_stock):
    group = order_with_items.groups.get()
    variant = product_in_stock.variants.get()
    items_before = group.items.count()

    add_variant_to_delivery_group(group, variant, 1)

    item = group.items.last()
    assert group.items.count() == items_before + 1
    assert item.product_sku == variant.sku
    assert item.quantity == 1
Exemplo n.º 7
0
def test_add_variant_to_delivery_group_allocates_stock_for_existing_variant(
        order_with_lines_and_stock):
    order = order_with_lines_and_stock
    group = order.groups.get()
    existing_line = group.lines.first()
    variant = existing_line.product.variants.get()
    stock = existing_line.stock
    stock_before = stock.quantity_allocated

    add_variant_to_delivery_group(group, variant, 1)

    stock.refresh_from_db()
    assert stock.quantity_allocated == stock_before + 1
Exemplo n.º 8
0
def test_add_variant_to_delivery_group_allocates_stock_for_existing_variant(
        order_with_lines_and_stock):
    order = order_with_lines_and_stock
    group = order.groups.get()
    existing_line = group.lines.first()
    variant = existing_line.product.variants.get()
    stock = existing_line.stock
    stock_before = stock.quantity_allocated

    add_variant_to_delivery_group(group, variant, 1)

    stock.refresh_from_db()
    assert stock.quantity_allocated == stock_before + 1
Exemplo n.º 9
0
def test_add_variant_to_delivery_group_edits_line_for_existing_variant(
        order_with_lines_and_stock):
    order = order_with_lines_and_stock
    group = order.groups.get()
    existing_line = group.lines.first()
    variant = existing_line.product.variants.get()
    lines_before = group.lines.count()
    line_quantity_before = existing_line.quantity

    add_variant_to_delivery_group(group, variant, 1)

    existing_line.refresh_from_db()
    assert group.lines.count() == lines_before
    assert existing_line.product_sku == variant.sku
    assert existing_line.quantity == line_quantity_before + 1
Exemplo n.º 10
0
def test_add_variant_to_delivery_group_edits_line_for_existing_variant(
        order_with_lines_and_stock):
    order = order_with_lines_and_stock
    group = order.groups.get()
    existing_line = group.lines.first()
    variant = existing_line.product.variants.get()
    lines_before = group.lines.count()
    line_quantity_before = existing_line.quantity

    add_variant_to_delivery_group(group, variant, 1)

    existing_line.refresh_from_db()
    assert group.lines.count() == lines_before
    assert existing_line.product_sku == variant.sku
    assert existing_line.quantity == line_quantity_before + 1
Exemplo n.º 11
0
def process_delivery_group(group, cart_lines, discounts=None):
    """Fill shipment group with order lines created from partition items."""
    for line in cart_lines:
        add_variant_to_delivery_group(
            group, line.variant, line.quantity, discounts,
            add_to_existing=False)