mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-11 21:51:48 +00:00
test: add coverage for Delivery Note Trends report
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# Copyright (c) 2026, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# See license.txt
|
||||
|
||||
import frappe
|
||||
|
||||
from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestDeliveryNoteTrends(ERPNextTestSuite):
|
||||
def run_report(self, **extra):
|
||||
from erpnext.stock.report.delivery_note_trends.delivery_note_trends import execute
|
||||
|
||||
filters = frappe._dict(
|
||||
{
|
||||
"company": "_Test Company",
|
||||
"fiscal_year": "_Test Fiscal Year 2026",
|
||||
"period": "Yearly",
|
||||
"based_on": "Item",
|
||||
}
|
||||
)
|
||||
filters.update(extra)
|
||||
return execute(filters)[1]
|
||||
|
||||
def test_delivery_qty_in_trend(self):
|
||||
# based_on="Item" + period="Yearly": each row is
|
||||
# [item_code, item_name, currency, yearly_qty, yearly_amt, total_qty, total_amt].
|
||||
# A submitted Delivery Note of qty 5 @ rate 200 should sum to qty 5 / amount 1000
|
||||
# (base_net_amount) in both the yearly bucket and the Total columns.
|
||||
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
|
||||
from erpnext.stock.doctype.item.test_item import make_item
|
||||
from erpnext.stock.doctype.stock_entry.stock_entry_utils import make_stock_entry
|
||||
|
||||
item = make_item(properties={"is_stock_item": 1, "is_sales_item": 1}).name
|
||||
|
||||
make_stock_entry(
|
||||
item_code=item,
|
||||
to_warehouse="_Test Warehouse - _TC",
|
||||
qty=20,
|
||||
rate=100,
|
||||
posting_date="2026-06-01",
|
||||
)
|
||||
create_delivery_note(
|
||||
item_code=item,
|
||||
qty=5,
|
||||
rate=200,
|
||||
company="_Test Company",
|
||||
posting_date="2026-06-01",
|
||||
)
|
||||
|
||||
data = self.run_report()
|
||||
|
||||
item_rows = [row for row in data if row[0] == item]
|
||||
self.assertEqual(len(item_rows), 1)
|
||||
|
||||
row = item_rows[0]
|
||||
self.assertEqual(row[3], 5) # yearly qty bucket
|
||||
self.assertEqual(row[4], 1000) # yearly amount bucket (base_net_amount)
|
||||
self.assertEqual(row[5], 5) # Total(Qty)
|
||||
self.assertEqual(row[6], 1000) # Total(Amt)
|
||||
Reference in New Issue
Block a user