Merge pull request #52246 from mihir-kandoi/st58765

(cherry picked from commit 135a433018)

# Conflicts:
#	erpnext/stock/doctype/delivery_note/test_delivery_note.py
This commit is contained in:
Mihir Kandoi
2026-02-02 20:44:22 +05:30
committed by Mergify
parent 7b059a9221
commit 5f60c0e85e
2 changed files with 91 additions and 45 deletions

View File

@@ -2807,6 +2807,84 @@ class TestDeliveryNote(FrappeTestCase):
frappe.db.set_single_value("System Settings", "float_precision", original_flt_precision)
<<<<<<< HEAD
=======
def test_different_rate_for_same_serial_nos(self):
item_code = make_item(
"Test Different Rate Serial No Item",
properties={"is_stock_item": 1, "has_serial_no": 1, "serial_no_series": "DRSN-.#####"},
).name
se = make_stock_entry(item_code=item_code, target="_Test Warehouse - _TC", qty=1, basic_rate=100)
serial_nos = get_serial_nos_from_bundle(se.items[0].serial_and_batch_bundle)
dn = create_delivery_note(
item_code=item_code,
qty=1,
rate=300,
use_serial_batch_fields=1,
serial_no="\n".join(serial_nos),
)
dn.reload()
sabb = frappe.get_doc("Serial and Batch Bundle", dn.items[0].serial_and_batch_bundle)
for entry in sabb.entries:
self.assertEqual(entry.incoming_rate, 100)
make_stock_entry(
item_code=item_code,
target="_Test Warehouse - _TC",
qty=1,
basic_rate=200,
use_serial_batch_fields=1,
serial_no="\n".join(serial_nos),
)
dn1 = create_delivery_note(
item_code=item_code,
qty=1,
rate=300,
use_serial_batch_fields=1,
serial_no="\n".join(serial_nos),
)
dn1.reload()
sabb = frappe.get_doc("Serial and Batch Bundle", dn1.items[0].serial_and_batch_bundle)
for entry in sabb.entries:
self.assertEqual(entry.incoming_rate, 200)
doc = frappe.new_doc("Repost Item Valuation")
doc.voucher_type = "Stock Entry"
doc.voucher_no = se.name
doc.submit()
sabb = frappe.get_doc("Serial and Batch Bundle", dn.items[0].serial_and_batch_bundle)
for entry in sabb.entries:
self.assertEqual(entry.incoming_rate, 100)
sabb = frappe.get_doc("Serial and Batch Bundle", dn1.items[0].serial_and_batch_bundle)
for entry in sabb.entries:
self.assertEqual(entry.incoming_rate, 200)
@IntegrationTestCase.change_settings("Selling Settings", {"validate_selling_price": 1})
def test_validate_selling_price(self):
item_code = make_item("VSP Item", properties={"is_stock_item": 1}).name
make_stock_entry(item_code=item_code, target="_Test Warehouse - _TC", qty=1, basic_rate=10)
make_stock_entry(item_code=item_code, target="_Test Warehouse - _TC", qty=1, basic_rate=1)
dn = create_delivery_note(
item_code=item_code,
qty=1,
rate=9,
do_not_save=True,
)
self.assertRaises(frappe.ValidationError, dn.save)
dn.items[0].incoming_rate = 0
dn.items[0].stock_qty = 2
dn.save()
>>>>>>> 135a433018 (Merge pull request #52246 from mihir-kandoi/st58765)
def create_delivery_note(**args):
dn = frappe.new_doc("Delivery Note")