test: added test cases for group filters
This commit is contained in:
parent
b2ed9fd3fe
commit
16bfb930f8
@ -11,10 +11,13 @@ from erpnext.selling.report.payment_terms_status_for_sales_order.payment_terms_s
|
|||||||
)
|
)
|
||||||
from erpnext.stock.doctype.item.test_item import create_item
|
from erpnext.stock.doctype.item.test_item import create_item
|
||||||
|
|
||||||
test_dependencies = ["Sales Order", "Item", "Sales Invoice", "Payment Terms Template"]
|
test_dependencies = ["Sales Order", "Item", "Sales Invoice", "Payment Terms Template", "Customer"]
|
||||||
|
|
||||||
|
|
||||||
class TestPaymentTermsStatusForSalesOrder(FrappeTestCase):
|
class TestPaymentTermsStatusForSalesOrder(FrappeTestCase):
|
||||||
|
def tearDown(self):
|
||||||
|
frappe.db.rollback()
|
||||||
|
|
||||||
def create_payment_terms_template(self):
|
def create_payment_terms_template(self):
|
||||||
# create template for 50-50 payments
|
# create template for 50-50 payments
|
||||||
template = None
|
template = None
|
||||||
@ -204,3 +207,134 @@ class TestPaymentTermsStatusForSalesOrder(FrappeTestCase):
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
self.assertEqual(data, expected_value)
|
self.assertEqual(data, expected_value)
|
||||||
|
|
||||||
|
def test_03_group_filters(self):
|
||||||
|
transaction_date = "2021-06-15"
|
||||||
|
self.create_payment_terms_template()
|
||||||
|
item1 = create_item(item_code="_Test Excavator 1", is_stock_item=0)
|
||||||
|
item1.item_group = "Products"
|
||||||
|
item1.save()
|
||||||
|
|
||||||
|
so1 = make_sales_order(
|
||||||
|
transaction_date=transaction_date,
|
||||||
|
delivery_date=add_days(transaction_date, -30),
|
||||||
|
item=item1.item_code,
|
||||||
|
qty=1,
|
||||||
|
rate=1000000,
|
||||||
|
do_not_save=True,
|
||||||
|
)
|
||||||
|
so1.po_no = ""
|
||||||
|
so1.taxes_and_charges = ""
|
||||||
|
so1.taxes = ""
|
||||||
|
so1.payment_terms_template = self.template.name
|
||||||
|
so1.save()
|
||||||
|
so1.submit()
|
||||||
|
|
||||||
|
item2 = create_item(item_code="_Test Steel", is_stock_item=0)
|
||||||
|
item2.item_group = "Raw Material"
|
||||||
|
item2.save()
|
||||||
|
|
||||||
|
so2 = make_sales_order(
|
||||||
|
customer="_Test Customer 1",
|
||||||
|
transaction_date=transaction_date,
|
||||||
|
delivery_date=add_days(transaction_date, -30),
|
||||||
|
item=item2.item_code,
|
||||||
|
qty=100,
|
||||||
|
rate=1000,
|
||||||
|
do_not_save=True,
|
||||||
|
)
|
||||||
|
so2.po_no = ""
|
||||||
|
so2.taxes_and_charges = ""
|
||||||
|
so2.taxes = ""
|
||||||
|
so2.payment_terms_template = self.template.name
|
||||||
|
so2.save()
|
||||||
|
so2.submit()
|
||||||
|
|
||||||
|
base_filters = {
|
||||||
|
"company": "_Test Company",
|
||||||
|
"period_start_date": "2021-06-01",
|
||||||
|
"period_end_date": "2021-06-30",
|
||||||
|
}
|
||||||
|
|
||||||
|
expected_value_so1 = [
|
||||||
|
{
|
||||||
|
"name": so1.name,
|
||||||
|
"customer": so1.customer,
|
||||||
|
"submitted": datetime.date(2021, 6, 15),
|
||||||
|
"status": "Overdue",
|
||||||
|
"payment_term": None,
|
||||||
|
"description": "_Test 50-50",
|
||||||
|
"due_date": datetime.date(2021, 6, 30),
|
||||||
|
"invoice_portion": 50.0,
|
||||||
|
"currency": "INR",
|
||||||
|
"base_payment_amount": 500000.0,
|
||||||
|
"paid_amount": 0.0,
|
||||||
|
"invoices": "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": so1.name,
|
||||||
|
"customer": so1.customer,
|
||||||
|
"submitted": datetime.date(2021, 6, 15),
|
||||||
|
"status": "Overdue",
|
||||||
|
"payment_term": None,
|
||||||
|
"description": "_Test 50-50",
|
||||||
|
"due_date": datetime.date(2021, 7, 15),
|
||||||
|
"invoice_portion": 50.0,
|
||||||
|
"currency": "INR",
|
||||||
|
"base_payment_amount": 500000.0,
|
||||||
|
"paid_amount": 0.0,
|
||||||
|
"invoices": "",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
expected_value_so2 = [
|
||||||
|
{
|
||||||
|
"name": so2.name,
|
||||||
|
"customer": so2.customer,
|
||||||
|
"submitted": datetime.date(2021, 6, 15),
|
||||||
|
"status": "Overdue",
|
||||||
|
"payment_term": None,
|
||||||
|
"description": "_Test 50-50",
|
||||||
|
"due_date": datetime.date(2021, 6, 30),
|
||||||
|
"invoice_portion": 50.0,
|
||||||
|
"currency": "INR",
|
||||||
|
"base_payment_amount": 50000.0,
|
||||||
|
"paid_amount": 0.0,
|
||||||
|
"invoices": "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": so2.name,
|
||||||
|
"customer": so2.customer,
|
||||||
|
"submitted": datetime.date(2021, 6, 15),
|
||||||
|
"status": "Overdue",
|
||||||
|
"payment_term": None,
|
||||||
|
"description": "_Test 50-50",
|
||||||
|
"due_date": datetime.date(2021, 7, 15),
|
||||||
|
"invoice_portion": 50.0,
|
||||||
|
"currency": "INR",
|
||||||
|
"base_payment_amount": 50000.0,
|
||||||
|
"paid_amount": 0.0,
|
||||||
|
"invoices": "",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
group_filters = [
|
||||||
|
{"customer_group": "All Customer Groups"},
|
||||||
|
{"item_group": "All Item Groups"},
|
||||||
|
{"item_group": "Products"},
|
||||||
|
{"item_group": "Raw Material"},
|
||||||
|
]
|
||||||
|
|
||||||
|
expected_values_for_group_filters = [
|
||||||
|
expected_value_so1 + expected_value_so2,
|
||||||
|
expected_value_so1 + expected_value_so2,
|
||||||
|
expected_value_so1,
|
||||||
|
expected_value_so2,
|
||||||
|
]
|
||||||
|
|
||||||
|
for idx, g in enumerate(group_filters, 0):
|
||||||
|
# build filter
|
||||||
|
filters = frappe._dict({}).update(base_filters).update(g)
|
||||||
|
with self.subTest(filters=filters):
|
||||||
|
columns, data, message, chart = execute(filters)
|
||||||
|
self.assertEqual(data, expected_values_for_group_filters[idx])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user