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
Exemple #3
0
	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)