From 5edb7e2abc2df8719add98ed37a8fdde62bb5ed3 Mon Sep 17 00:00:00 2001 From: Afsal Syed Date: Tue, 8 Sep 2026 18:51:06 +0530 Subject: [PATCH] test(stock): add ledger preview unit tests (#58700) --- .../controllers/tests/test_ledger_preview.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 erpnext/controllers/tests/test_ledger_preview.py 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)