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
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
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
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
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
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