fix: Remove every bit of randomness from this test
This commit is contained in:
parent
46bcb46422
commit
a9820cdcf6
@ -13,12 +13,12 @@ class TestMapper(unittest.TestCase):
|
|||||||
'''Test mapping of multiple source docs on a single target doc'''
|
'''Test mapping of multiple source docs on a single target doc'''
|
||||||
|
|
||||||
make_test_records("Item")
|
make_test_records("Item")
|
||||||
items = frappe.get_all("Item", fields = ["name", "item_code"], filters = {'is_sales_item': 1, 'has_variants': 0, 'disabled': 0})
|
items = ['_Test Item', '_Test Item 2', '_Test FG Item']
|
||||||
if items:
|
|
||||||
# Make source docs (quotations) and a target doc (sales order)
|
# Make source docs (quotations) and a target doc (sales order)
|
||||||
qtn1, item_list_1 = self.make_quotation(items, '_Test Customer')
|
qtn1, item_list_1 = self.make_quotation(items, '_Test Customer')
|
||||||
qtn2, item_list_2 = self.make_quotation(items, '_Test Customer')
|
qtn2, item_list_2 = self.make_quotation(items, '_Test Customer')
|
||||||
so, item_list_3 = self.make_sales_order()
|
so, item_list_3 = self.make_sales_order()
|
||||||
|
|
||||||
# Map source docs to target with corresponding mapper method
|
# Map source docs to target with corresponding mapper method
|
||||||
method = "erpnext.selling.doctype.quotation.quotation.make_sales_order"
|
method = "erpnext.selling.doctype.quotation.quotation.make_sales_order"
|
||||||
@ -26,18 +26,12 @@ class TestMapper(unittest.TestCase):
|
|||||||
|
|
||||||
# Assert that all inserted items are present in updated sales order
|
# Assert that all inserted items are present in updated sales order
|
||||||
src_items = item_list_1 + item_list_2 + item_list_3
|
src_items = item_list_1 + item_list_2 + item_list_3
|
||||||
self.assertEqual(set([d.item_code for d in src_items]),
|
self.assertEqual(set([d for d in src_items]),
|
||||||
set([d.item_code for d in updated_so.items]))
|
set([d.item_code for d in updated_so.items]))
|
||||||
|
|
||||||
def get_random_items(self, items, limit):
|
|
||||||
'''Get a number of random items from a list of given items'''
|
|
||||||
random_items = []
|
|
||||||
for i in range(0, limit):
|
|
||||||
random_items.append(random.choice(items))
|
|
||||||
return random_items
|
|
||||||
|
|
||||||
def make_quotation(self, items, customer):
|
def make_quotation(self, item_list, customer):
|
||||||
item_list = self.get_random_items(items, 3)
|
|
||||||
qtn = frappe.get_doc({
|
qtn = frappe.get_doc({
|
||||||
"doctype": "Quotation",
|
"doctype": "Quotation",
|
||||||
"quotation_to": "Customer",
|
"quotation_to": "Customer",
|
||||||
@ -47,7 +41,7 @@ class TestMapper(unittest.TestCase):
|
|||||||
"valid_till" : add_months(nowdate(), 1)
|
"valid_till" : add_months(nowdate(), 1)
|
||||||
})
|
})
|
||||||
for item in item_list:
|
for item in item_list:
|
||||||
qtn.append("items", {"qty": "2", "item_code": item.item_code})
|
qtn.append("items", {"qty": "2", "item_code": item})
|
||||||
|
|
||||||
qtn.submit()
|
qtn.submit()
|
||||||
return qtn, item_list
|
return qtn, item_list
|
||||||
@ -58,7 +52,7 @@ class TestMapper(unittest.TestCase):
|
|||||||
"base_rate": 100.0,
|
"base_rate": 100.0,
|
||||||
"description": "CPU",
|
"description": "CPU",
|
||||||
"doctype": "Sales Order Item",
|
"doctype": "Sales Order Item",
|
||||||
"item_code": "_Test Item Home Desktop 100",
|
"item_code": "_Test Item",
|
||||||
"item_name": "CPU",
|
"item_name": "CPU",
|
||||||
"parentfield": "items",
|
"parentfield": "items",
|
||||||
"qty": 10.0,
|
"qty": 10.0,
|
||||||
@ -70,4 +64,4 @@ class TestMapper(unittest.TestCase):
|
|||||||
})
|
})
|
||||||
so = frappe.get_doc(frappe.get_test_records('Sales Order')[0])
|
so = frappe.get_doc(frappe.get_test_records('Sales Order')[0])
|
||||||
so.insert(ignore_permissions=True)
|
so.insert(ignore_permissions=True)
|
||||||
return so, [item]
|
return so, [item.item_code]
|
||||||
|
@ -1,39 +1,39 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"advance_paid": 0.0,
|
"advance_paid": 0.0,
|
||||||
"company": "_Test Company",
|
"company": "_Test Company",
|
||||||
"conversion_rate": 1.0,
|
"conversion_rate": 1.0,
|
||||||
"currency": "INR",
|
"currency": "INR",
|
||||||
"customer": "_Test Customer",
|
"customer": "_Test Customer",
|
||||||
"customer_group": "_Test Customer Group",
|
"customer_group": "_Test Customer Group",
|
||||||
"customer_name": "_Test Customer",
|
"customer_name": "_Test Customer",
|
||||||
"doctype": "Sales Order",
|
"doctype": "Sales Order",
|
||||||
"base_grand_total": 1000.0,
|
"base_grand_total": 1000.0,
|
||||||
"grand_total": 1000.0,
|
"grand_total": 1000.0,
|
||||||
"naming_series": "_T-Sales Order-",
|
"naming_series": "_T-Sales Order-",
|
||||||
"order_type": "Sales",
|
"order_type": "Sales",
|
||||||
"plc_conversion_rate": 1.0,
|
"plc_conversion_rate": 1.0,
|
||||||
"price_list_currency": "INR",
|
"price_list_currency": "INR",
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
"base_amount": 1000.0,
|
"base_amount": 1000.0,
|
||||||
"base_rate": 100.0,
|
"base_rate": 100.0,
|
||||||
"description": "CPU",
|
"description": "CPU",
|
||||||
"doctype": "Sales Order Item",
|
"doctype": "Sales Order Item",
|
||||||
"item_code": "_Test Item Home Desktop 100",
|
"item_code": "_Test Item",
|
||||||
"item_name": "CPU",
|
"item_name": "_Test Item 1",
|
||||||
"delivery_date": "2013-02-23",
|
"delivery_date": "2013-02-23",
|
||||||
"parentfield": "items",
|
"parentfield": "items",
|
||||||
"qty": 10.0,
|
"qty": 10.0,
|
||||||
"rate": 100.0,
|
"rate": 100.0,
|
||||||
"warehouse": "_Test Warehouse - _TC",
|
"warehouse": "_Test Warehouse - _TC",
|
||||||
"stock_uom": "_Test UOM",
|
"stock_uom": "_Test UOM",
|
||||||
"conversion_factor": 1.0,
|
"conversion_factor": 1.0,
|
||||||
"uom": "_Test UOM"
|
"uom": "_Test UOM"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"selling_price_list": "_Test Price List",
|
"selling_price_list": "_Test Price List",
|
||||||
"territory": "_Test Territory",
|
"territory": "_Test Territory",
|
||||||
"transaction_date": "2013-02-21"
|
"transaction_date": "2013-02-21"
|
||||||
}
|
}
|
||||||
]
|
]
|
Loading…
x
Reference in New Issue
Block a user