diff --git a/erpnext/controllers/tests/test_ledger_preview.py b/erpnext/controllers/tests/test_ledger_preview.py new file mode 100644 index 00000000000..be7e9209d4e --- /dev/null +++ b/erpnext/controllers/tests/test_ledger_preview.py @@ -0,0 +1,23 @@ +# Copyright (c) 2026, Frappe Technologies Pvt. Ltd. and Contributors +# See license.txt + +from unittest.mock import patch + +import frappe +from frappe.tests import UnitTestCase + +from erpnext.controllers.stock_controller import get_sl_entries_for_preview + + +class TestLedgerPreview(UnitTestCase): + def test_in_out_rate_is_only_set_for_outgoing_entries(self): + stock_ledger_entries = [ + frappe._dict(actual_qty=5, stock_value_difference=10), + frappe._dict(actual_qty=-5, stock_value_difference=-15), + ] + + with patch("frappe.get_all", return_value=stock_ledger_entries): + entries = get_sl_entries_for_preview("Delivery Note", "DN-0001", []) + + self.assertIsNone(entries[0].get("in_out_rate")) + self.assertEqual(entries[1].in_out_rate, 3)