def _test_delivery_note_return_against_sales_order(self, item_code, delivered_qty, returned_qty): self._insert_material_receipt() from selling.doctype.sales_order.test_sales_order import test_records as sales_order_test_records from selling.doctype.sales_order.sales_order import make_sales_invoice, make_delivery_note actual_qty_0 = self._get_actual_qty() so = webnotes.bean(copy=sales_order_test_records[0]) so.doclist[1].item_code = item_code so.doclist[1].qty = 5.0 so.insert() so.submit() dn_doclist = make_delivery_note(so.doc.name) dn = webnotes.bean(dn_doclist) dn.doc.status = "Draft" dn.doc.posting_date = so.doc.delivery_date dn.insert() dn.submit() actual_qty_1 = self._get_actual_qty() self.assertEquals(actual_qty_0 - delivered_qty, actual_qty_1) si_doclist = make_sales_invoice(so.doc.name) si = webnotes.bean(si_doclist) si.doc.posting_date = dn.doc.posting_date si.doc.debit_to = "_Test Customer - _TC" for d in si.doclist.get({"parentfield": "entries"}): d.income_account = "Sales - _TC" d.cost_center = "_Test Cost Center - _TC" si.insert() si.submit() # insert and submit stock entry for sales return se = webnotes.bean(copy=test_records[0]) se.doc.purpose = "Sales Return" se.doc.delivery_note_no = dn.doc.name se.doc.posting_date = "2013-03-10" se.doc.fiscal_year = "_Test Fiscal Year 2013" se.doclist[1].qty = se.doclist[1].transfer_qty = returned_qty se.insert() se.submit() actual_qty_2 = self._get_actual_qty() self.assertEquals(actual_qty_1 + returned_qty, actual_qty_2) return se
def _test_delivery_note_return_against_sales_order(self, item_code, delivered_qty, returned_qty): self._insert_material_receipt() from selling.doctype.sales_order.test_sales_order import test_records as sales_order_test_records from selling.doctype.sales_order.sales_order import make_sales_invoice, make_delivery_note actual_qty_0 = self._get_actual_qty() so = webnotes.bean(copy=sales_order_test_records[0]) so.doclist[1].item_code = item_code so.doclist[1].qty = 5.0 so.insert() so.submit() dn_doclist = make_delivery_note(so.doc.name) dn = webnotes.bean(dn_doclist) dn.doc.status = "Draft" dn.doc.posting_date = so.doc.delivery_date dn.insert() dn.submit() actual_qty_1 = self._get_actual_qty() self.assertEquals(actual_qty_0 - delivered_qty, actual_qty_1) si_doclist = make_sales_invoice(so.doc.name) si = webnotes.bean(si_doclist) si.doc.posting_date = dn.doc.posting_date si.doc.debit_to = "_Test Customer - _TC" for d in si.doclist.get({"parentfield": "entries"}): d.income_account = "Sales - _TC" d.cost_center = "_Test Cost Center - _TC" si.insert() si.submit() # insert and submit stock entry for sales return se = webnotes.bean(copy=test_records[0]) se.doc.purpose = "Sales Return" se.doc.delivery_note_no = dn.doc.name se.doc.posting_date = "2013-03-10" se.doc.fiscal_year = "_Test Fiscal Year 2013" se.doclist[1].qty = se.doclist[1].transfer_qty = returned_qty se.insert() se.submit() actual_qty_2 = self._get_actual_qty() self.assertEquals(actual_qty_1 + returned_qty, actual_qty_2) return se
def test_over_billing_against_dn(self): from stock.doctype.delivery_note.delivery_note import make_sales_invoice dn = webnotes.bean(copy=test_records[0]).insert() self.assertRaises(webnotes.ValidationError, make_sales_invoice, dn.doc.name) dn = webnotes.bean("Delivery Note", dn.doc.name) dn.submit() si = make_sales_invoice(dn.doc.name) self.assertEquals(len(si), len(dn.doclist)) # modify export_amount si[1].export_rate = 200 self.assertRaises(webnotes.ValidationError, webnotes.bean(si).submit)
def test_over_billing_against_dn(self): from stock.doctype.delivery_note.delivery_note import make_sales_invoice dn = webnotes.bean(copy=test_records[0]).insert() self.assertRaises(webnotes.ValidationError, make_sales_invoice, dn.doc.name) dn = webnotes.bean("Delivery Note", dn.doc.name) dn.submit() si = make_sales_invoice(dn.doc.name) self.assertEquals(len(si), len(dn.doclist)) # modify export_amount si[1].export_rate = 200 self.assertRaises(webnotes.ValidationError, webnotes.bean(si).submit)