refactor: stock ageing report (backport #55231) (#55236)

Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com>
This commit is contained in:
mergify[bot]
2026-05-25 12:44:55 +05:30
committed by GitHub
parent 418a7fb301
commit af3e7f53ac
2 changed files with 606 additions and 401 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -902,6 +902,33 @@ class TestStockAgeing(FrappeTestCase):
self.assertEqual(get_average_age(fifo_queue, self.filters["to_date"]), 9.0)
def test_serial_transfer_replay_preserves_serial_slots(self):
fifo_slots = FIFOSlots(self.filters, [])
transfer_key = ("001", "Serial Item", "WH 1")
fifo_slots.transferred_item_details[transfer_key] = [[2, "2021-12-01", 20]]
row = frappe._dict(
name="Serial Item",
actual_qty=2,
stock_value_difference=20,
posting_date="2021-12-05",
has_serial_no=True,
)
fifo_queue = []
fifo_slots._compute_incoming_stock(row, fifo_queue, transfer_key, ["SN-A", "SN-B"], [])
self.assertEqual(fifo_queue, [["SN-A", "2021-12-01", 10.0], ["SN-B", "2021-12-01", 10.0]])
self.assertFalse(fifo_slots.transferred_item_details[transfer_key])
def test_batch_transfer_replay_removes_zeroed_negative_slot(self):
fifo_slots = FIFOSlots(self.filters, [])
fifo_queue = [["SA-ZERO-BATCH", 1, -4, "2021-12-01", -40]]
fifo_slots._add_transfer_slot_to_fifo_queue(fifo_queue, ["SA-ZERO-BATCH", 1, 4, "2021-12-02", 40])
self.assertEqual(fifo_queue, [])
def test_batchwise_valuation(self):
from erpnext.stock.doctype.item.test_item import make_item