Exemplo n.º 1
0
def test_add_variant_to_existing_lines_one_line(
        order_with_variant_from_different_stocks):
    order = order_with_variant_from_different_stocks
    lines = order.lines.filter(product_sku='SKU_A')
    variant_lines_before = lines.count()
    line = lines.get(stock_location='Warehouse 2')
    variant = ProductVariant.objects.get(sku='SKU_A')

    quantity_left = add_variant_to_existing_lines(line.order, variant, 2)

    lines_after = order.lines.filter(product_sku='SKU_A').count()
    line.refresh_from_db()
    assert quantity_left == 0
    assert lines_after == variant_lines_before
    assert line.quantity == 4
Exemplo n.º 2
0
def test_add_variant_to_existing_lines_one_line(
        order_with_variant_from_different_stocks):
    order = order_with_variant_from_different_stocks
    lines = order.lines.filter(product_sku='SKU_A')
    variant_lines_before = lines.count()
    line = lines.get(stock_location='Warehouse 2')
    variant = ProductVariant.objects.get(sku='SKU_A')

    quantity_left = add_variant_to_existing_lines(line.order, variant, 2)

    lines_after = order.lines.filter(product_sku='SKU_A').count()
    line.refresh_from_db()
    assert quantity_left == 0
    assert lines_after == variant_lines_before
    assert line.quantity == 4
Exemplo n.º 3
0
def test_add_variant_to_existing_lines_one_line(order_with_lines_and_stock):
    order = order_with_lines_and_stock
    lines = order.lines.filter(product_sku='SKU_A')
    variant_lines_before = lines.count()
    line = lines.first()
    line_quantity_before = line.quantity
    variant = ProductVariant.objects.get(sku='SKU_A')

    quantity_added = 2
    quantity_left = add_variant_to_existing_lines(line.order, variant,
                                                  quantity_added)

    lines_after = order.lines.filter(product_sku='SKU_A').count()
    line.refresh_from_db()
    assert quantity_left == 0
    assert lines_after == variant_lines_before
    assert line.quantity == line_quantity_before + quantity_added
Exemplo n.º 4
0
def test_add_variant_to_existing_lines_one_line(
        order_with_lines_and_stock):
    order = order_with_lines_and_stock
    lines = order.lines.filter(product_sku='SKU_A')
    variant_lines_before = lines.count()
    line = lines.first()
    line_quantity_before = line.quantity
    variant = ProductVariant.objects.get(sku='SKU_A')

    quantity_added = 2
    quantity_left = add_variant_to_existing_lines(
        line.order, variant, quantity_added)

    lines_after = order.lines.filter(product_sku='SKU_A').count()
    line.refresh_from_db()
    assert quantity_left == 0
    assert lines_after == variant_lines_before
    assert line.quantity == line_quantity_before + quantity_added
Exemplo n.º 5
0
def test_add_variant_to_existing_lines_multiple_lines_with_rest(
        order_with_variant_from_different_stocks):
    order = order_with_variant_from_different_stocks
    lines = order.get_lines().filter(product_sku='SKU_A')
    variant_lines_before = lines.count()
    line_1 = lines.get(stock_location='Warehouse 1')
    line_2 = lines.get(stock_location='Warehouse 2')
    variant = ProductVariant.objects.get(sku='SKU_A')

    quantity_left = add_variant_to_existing_lines(line_1.delivery_group,
                                                  variant, 7)

    lines_after = order.get_lines().filter(product_sku='SKU_A').count()
    line_1.refresh_from_db()
    line_2.refresh_from_db()
    assert quantity_left == 2
    assert lines_after == variant_lines_before
    assert line_1.quantity == 5
    assert line_2.quantity == 5
Exemplo n.º 6
0
def test_add_variant_to_existing_lines_multiple_lines_with_rest(
        order_with_variant_from_different_stocks):
    order = order_with_variant_from_different_stocks
    lines = order.get_lines().filter(product_sku='SKU_A')
    variant_lines_before = lines.count()
    line_1 = lines.get(stock_location='Warehouse 1')
    line_2 = lines.get(stock_location='Warehouse 2')
    variant = ProductVariant.objects.get(sku='SKU_A')

    quantity_left = add_variant_to_existing_lines(
        line_1.delivery_group, variant, 7)

    lines_after = order.get_lines().filter(product_sku='SKU_A').count()
    line_1.refresh_from_db()
    line_2.refresh_from_db()
    assert quantity_left == 2
    assert lines_after == variant_lines_before
    assert line_1.quantity == 5
    assert line_2.quantity == 5