def test_production_plan_sales_orders(self): "Test if previously fulfilled SO (with WO) is pulled into Prod Plan." item = "Test Production Item 1" so = make_sales_order(item_code=item, qty=1) sales_order = so.name sales_order_item = so.items[0].name pln = frappe.new_doc("Production Plan") pln.company = so.company pln.get_items_from = "Sales Order" pln.append( "sales_orders", { "sales_order": so.name, "sales_order_date": so.transaction_date, "customer": so.customer, "grand_total": so.grand_total, }, ) pln.get_so_items() pln.submit() pln.make_work_order() work_order = frappe.db.get_value( "Work Order", { "sales_order": sales_order, "production_plan": pln.name, "sales_order_item": sales_order_item }, "name", ) wo_doc = frappe.get_doc("Work Order", work_order) wo_doc.update({ "wip_warehouse": "Work In Progress - _TC", "fg_warehouse": "Finished Goods - _TC" }) wo_doc.submit() so_wo_qty = frappe.db.get_value("Sales Order Item", sales_order_item, "work_order_qty") self.assertTrue(so_wo_qty, 5) pln = frappe.new_doc("Production Plan") pln.update({ "from_date": so.transaction_date, "to_date": so.transaction_date, "customer": so.customer, "item_code": item, "sales_order_status": so.status, }) sales_orders = get_sales_orders(pln) or {} sales_orders = [ d.get("name") for d in sales_orders if d.get("name") == sales_order ] self.assertEqual(sales_orders, [])
def test_production_plan_sales_orders(self): item = 'Test Production Item 1' so = make_sales_order(item_code=item, qty=5) sales_order = so.name sales_order_item = so.items[0].name pln = frappe.new_doc('Production Plan') pln.company = so.company pln.get_items_from = 'Sales Order' pln.append( 'sales_orders', { 'sales_order': so.name, 'sales_order_date': so.transaction_date, 'customer': so.customer, 'grand_total': so.grand_total }) pln.get_so_items() pln.submit() pln.make_work_order() work_order = frappe.db.get_value( 'Work Order', { 'sales_order': sales_order, 'production_plan': pln.name, 'sales_order_item': sales_order_item }, 'name') wo_doc = frappe.get_doc('Work Order', work_order) wo_doc.update({ 'wip_warehouse': '_Test Warehouse 1 - _TC', 'fg_warehouse': '_Test Warehouse - _TC' }) wo_doc.submit() so_wo_qty = frappe.db.get_value('Sales Order Item', sales_order_item, 'work_order_qty') self.assertTrue(so_wo_qty, 5) pln = frappe.new_doc('Production Plan') pln.update({ 'from_date': so.transaction_date, 'to_date': so.transaction_date, 'customer': so.customer, 'item_code': item, 'sales_order_status': so.status }) sales_orders = get_sales_orders(pln) or {} sales_orders = [ d.get('name') for d in sales_orders if d.get('name') == sales_order ] self.assertEqual(sales_orders, [])
def test_production_plan_sales_orders(self): item = 'Test Production Item 1' so = make_sales_order(item_code=item, qty=5) sales_order = so.name sales_order_item = so.items[0].name pln = frappe.new_doc('Production Plan') pln.company = so.company pln.get_items_from = 'Sales Order' pln.append('sales_orders', { 'sales_order': so.name, 'sales_order_date': so.transaction_date, 'customer': so.customer, 'grand_total': so.grand_total }) pln.get_so_items() pln.submit() pln.make_work_order() work_order = frappe.db.get_value('Work Order', {'sales_order': sales_order, 'production_plan': pln.name, 'sales_order_item': sales_order_item}, 'name') wo_doc = frappe.get_doc('Work Order', work_order) wo_doc.update({ 'wip_warehouse': '_Test Warehouse 1 - _TC', 'fg_warehouse': '_Test Warehouse - _TC' }) wo_doc.submit() so_wo_qty = frappe.db.get_value('Sales Order Item', sales_order_item, 'work_order_qty') self.assertTrue(so_wo_qty, 5) pln = frappe.new_doc('Production Plan') pln.update({ 'from_date': so.transaction_date, 'to_date': so.transaction_date, 'customer': so.customer, 'item_code': item }) sales_orders = get_sales_orders(pln) or {} sales_orders = [d.get('name') for d in sales_orders if d.get('name') == sales_order] self.assertEqual(sales_orders, [])