From cdd1d4bedbb19a7381aff2ad08029dd0b6daf23e Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 7 Aug 2013 15:16:42 +0530 Subject: [PATCH] [perpetual accounting] fixes in testcases --- .../sales_invoice/test_sales_invoice.py | 5 +++- .../delivery_note/test_delivery_note.py | 5 +++- .../purchase_receipt/test_purchase_receipt.py | 5 ++++ stock/doctype/serial_no/test_serial_no.py | 29 +++++++++++-------- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/accounts/doctype/sales_invoice/test_sales_invoice.py b/accounts/doctype/sales_invoice/test_sales_invoice.py index d6bad450416..ef8220d8a74 100644 --- a/accounts/doctype/sales_invoice/test_sales_invoice.py +++ b/accounts/doctype/sales_invoice/test_sales_invoice.py @@ -5,6 +5,7 @@ import webnotes import unittest, json from webnotes.utils import flt, cint from webnotes.model.bean import DocstatusTransitionError, TimestampMismatchError +from accounts.utils import get_stock_and_account_difference class TestSalesInvoice(unittest.TestCase): def make(self): @@ -392,7 +393,9 @@ class TestSalesInvoice(unittest.TestCase): order by account asc, name asc""", si.doc.name) self.assertEquals(gl_count[0][0], 16) - + + self.assertFalse(get_stock_and_account_difference([si.doclist[1].warehouse])) + webnotes.defaults.set_global_default("perpetual_accounting", 0) webnotes.conn.set_default("company", old_default_company) diff --git a/stock/doctype/delivery_note/test_delivery_note.py b/stock/doctype/delivery_note/test_delivery_note.py index f1237feb392..a947a78ea0f 100644 --- a/stock/doctype/delivery_note/test_delivery_note.py +++ b/stock/doctype/delivery_note/test_delivery_note.py @@ -7,6 +7,7 @@ import unittest import webnotes import webnotes.defaults from webnotes.utils import cint +from accounts.utils import get_stock_and_account_difference class TestDeliveryNote(unittest.TestCase): def _insert_purchase_receipt(self): @@ -89,11 +90,13 @@ class TestDeliveryNote(unittest.TestCase): self.assertEquals(expected_values[i][0], gle.account) self.assertEquals(expected_values[i][1], gle.debit) self.assertEquals(expected_values[i][2], gle.credit) - + # check stock in hand balance bal = get_balance_on(stock_in_hand_account, dn.doc.posting_date) self.assertEquals(bal, prev_bal - 375.0) + self.assertFalse(get_stock_and_account_difference([dn.doclist[1].warehouse])) + webnotes.defaults.set_global_default("perpetual_accounting", 0) test_records = [ diff --git a/stock/doctype/purchase_receipt/test_purchase_receipt.py b/stock/doctype/purchase_receipt/test_purchase_receipt.py index f5320c185a0..e887800d0fd 100644 --- a/stock/doctype/purchase_receipt/test_purchase_receipt.py +++ b/stock/doctype/purchase_receipt/test_purchase_receipt.py @@ -7,6 +7,8 @@ import unittest import webnotes import webnotes.defaults from webnotes.utils import cint +from accounts.utils import get_stock_and_account_difference + class TestPurchaseReceipt(unittest.TestCase): def test_make_purchase_invoice(self): @@ -74,6 +76,9 @@ class TestPurchaseReceipt(unittest.TestCase): self.assertEquals(expected_values[gle.account][0], gle.debit) self.assertEquals(expected_values[gle.account][1], gle.credit) + self.assertFalse(get_stock_and_account_difference([pr.doclist[1].warehouse, + pr.doclist[2].warehouse])) + webnotes.defaults.set_global_default("perpetual_accounting", 0) def _clear_stock_account_balance(self): diff --git a/stock/doctype/serial_no/test_serial_no.py b/stock/doctype/serial_no/test_serial_no.py index 4657ff261db..115c32cd355 100644 --- a/stock/doctype/serial_no/test_serial_no.py +++ b/stock/doctype/serial_no/test_serial_no.py @@ -6,6 +6,7 @@ from __future__ import unicode_literals import webnotes, unittest +from accounts.utils import get_stock_and_account_difference class TestSerialNo(unittest.TestCase): def test_aii_gl_entries_for_serial_no_in_store(self): @@ -14,8 +15,8 @@ class TestSerialNo(unittest.TestCase): sr.doc.serial_no = "_Test Serial No 1" sr.insert() - stock_in_hand_account = webnotes.conn.get_value("Company", "_Test Company", - "stock_in_hand_account") + stock_in_hand_account = webnotes.conn.get_value("Warehouse", sr.doc.warehouse, + "account") against_stock_account = webnotes.conn.get_value("Company", "_Test Company", "stock_adjustment_account") @@ -29,18 +30,19 @@ class TestSerialNo(unittest.TestCase): # check gl entries gl_entries = webnotes.conn.sql("""select account, debit, credit from `tabGL Entry` where voucher_type='Serial No' and voucher_no=%s - order by account desc""", sr.doc.name, as_dict=1) + order by account desc""", sr.doc.name, as_list=1) self.assertTrue(gl_entries) - + gl_entries.sort(key=lambda x: x[0]) expected_values = [ [stock_in_hand_account, 1000.0, 0.0], [against_stock_account, 0.0, 1000.0] ] + expected_values.sort(key=lambda x: x[0]) for i, gle in enumerate(gl_entries): - self.assertEquals(expected_values[i][0], gle.account) - self.assertEquals(expected_values[i][1], gle.debit) - self.assertEquals(expected_values[i][2], gle.credit) + self.assertEquals(expected_values[i][0], gle[0]) + self.assertEquals(expected_values[i][1], gle[1]) + self.assertEquals(expected_values[i][2], gle[2]) sr.load_from_db() self.assertEquals(sr.doc.sle_exists, 1) @@ -49,13 +51,16 @@ class TestSerialNo(unittest.TestCase): sr.save() gl_entries = webnotes.conn.sql("""select account, debit, credit from `tabGL Entry` where voucher_type='Serial No' and voucher_no=%s - order by account desc""", sr.doc.name, as_dict=1) + order by account desc""", sr.doc.name, as_list=1) + gl_entries.sort(key=lambda x: x[0]) for i, gle in enumerate(gl_entries): - self.assertEquals(expected_values[i][0], gle.account) - self.assertEquals(expected_values[i][1], gle.debit) - self.assertEquals(expected_values[i][2], gle.credit) - + self.assertEquals(expected_values[i][0], gle[0]) + self.assertEquals(expected_values[i][1], gle[1]) + self.assertEquals(expected_values[i][2], gle[2]) + + self.assertFalse(get_stock_and_account_difference([sr.doc.warehouse])) + # trash/cancel sr.submit() sr.cancel()