fixes to test cases
This commit is contained in:
parent
0dc79f4de0
commit
c399709789
@ -55,7 +55,7 @@ class TestPurchaseInvoice(unittest.TestCase):
|
|||||||
order by account asc""", pi.name, as_dict=1)
|
order by account asc""", pi.name, as_dict=1)
|
||||||
self.assertTrue(gl_entries)
|
self.assertTrue(gl_entries)
|
||||||
|
|
||||||
expected_values = sorted([
|
expected_values = dict((d[0], d) for d in [
|
||||||
["_Test Payable - _TC", 0, 720],
|
["_Test Payable - _TC", 0, 720],
|
||||||
["Stock Received But Not Billed - _TC", 750.0, 0],
|
["Stock Received But Not Billed - _TC", 750.0, 0],
|
||||||
["Expenses Included In Valuation - _TC", 0.0, 250.0],
|
["Expenses Included In Valuation - _TC", 0.0, 250.0],
|
||||||
@ -64,9 +64,9 @@ class TestPurchaseInvoice(unittest.TestCase):
|
|||||||
])
|
])
|
||||||
|
|
||||||
for i, gle in enumerate(gl_entries):
|
for i, gle in enumerate(gl_entries):
|
||||||
self.assertEquals(expected_values[i][0], gle.account)
|
self.assertEquals(expected_values[gle.account][0], gle.account)
|
||||||
self.assertEquals(expected_values[i][1], gle.debit)
|
self.assertEquals(expected_values[gle.account][1], gle.debit)
|
||||||
self.assertEquals(expected_values[i][2], gle.credit)
|
self.assertEquals(expected_values[gle.account][2], gle.credit)
|
||||||
|
|
||||||
set_perpetual_inventory(0)
|
set_perpetual_inventory(0)
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ class TestPurchaseInvoice(unittest.TestCase):
|
|||||||
order by account asc""", pi.name, as_dict=1)
|
order by account asc""", pi.name, as_dict=1)
|
||||||
self.assertTrue(gl_entries)
|
self.assertTrue(gl_entries)
|
||||||
|
|
||||||
expected_values = sorted([
|
expected_values = dict((d[0], d) for d in [
|
||||||
["_Test Payable - _TC", 0, 720],
|
["_Test Payable - _TC", 0, 720],
|
||||||
["Stock Received But Not Billed - _TC", 500.0, 0],
|
["Stock Received But Not Billed - _TC", 500.0, 0],
|
||||||
["_Test Account Shipping Charges - _TC", 100.0, 0],
|
["_Test Account Shipping Charges - _TC", 100.0, 0],
|
||||||
@ -96,9 +96,9 @@ class TestPurchaseInvoice(unittest.TestCase):
|
|||||||
])
|
])
|
||||||
|
|
||||||
for i, gle in enumerate(gl_entries):
|
for i, gle in enumerate(gl_entries):
|
||||||
self.assertEquals(expected_values[i][0], gle.account)
|
self.assertEquals(expected_values[gle.account][0], gle.account)
|
||||||
self.assertEquals(expected_values[i][1], gle.debit)
|
self.assertEquals(expected_values[gle.account][1], gle.debit)
|
||||||
self.assertEquals(expected_values[i][2], gle.credit)
|
self.assertEquals(expected_values[gle.account][2], gle.credit)
|
||||||
|
|
||||||
set_perpetual_inventory(0)
|
set_perpetual_inventory(0)
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
import unittest, copy
|
import unittest, copy
|
||||||
|
import time
|
||||||
from erpnext.accounts.utils import get_stock_and_account_difference
|
from erpnext.accounts.utils import get_stock_and_account_difference
|
||||||
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
|
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import set_perpetual_inventory
|
||||||
from erpnext.projects.doctype.time_log_batch.test_time_log_batch import *
|
from erpnext.projects.doctype.time_log_batch.test_time_log_batch import *
|
||||||
@ -221,7 +222,7 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
|
|
||||||
self.assertTrue(gl_entries)
|
self.assertTrue(gl_entries)
|
||||||
|
|
||||||
expected_values = sorted([
|
expected_values = dict((d[0], d) for d in [
|
||||||
[si.debit_to, 1500, 0.0],
|
[si.debit_to, 1500, 0.0],
|
||||||
[test_records[3]["items"][0]["income_account"], 0.0, 1163.45],
|
[test_records[3]["items"][0]["income_account"], 0.0, 1163.45],
|
||||||
[test_records[3]["taxes"][0]["account_head"], 0.0, 130.31],
|
[test_records[3]["taxes"][0]["account_head"], 0.0, 130.31],
|
||||||
@ -235,10 +236,10 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
["_Test Account Service Tax - _TC", 16.88, 0.0],
|
["_Test Account Service Tax - _TC", 16.88, 0.0],
|
||||||
])
|
])
|
||||||
|
|
||||||
for i, gle in enumerate(gl_entries):
|
for gle in gl_entries:
|
||||||
self.assertEquals(expected_values[i][0], gle.account)
|
self.assertEquals(expected_values[gle.account][0], gle.account)
|
||||||
self.assertEquals(expected_values[i][1], gle.debit)
|
self.assertEquals(expected_values[gle.account][1], gle.debit)
|
||||||
self.assertEquals(expected_values[i][2], gle.credit)
|
self.assertEquals(expected_values[gle.account][2], gle.credit)
|
||||||
|
|
||||||
# cancel
|
# cancel
|
||||||
si.cancel()
|
si.cancel()
|
||||||
@ -439,7 +440,7 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
|
|
||||||
self.assertTrue(gl_entries)
|
self.assertTrue(gl_entries)
|
||||||
|
|
||||||
expected_values = sorted([
|
expected_values = dict((d[0], d) for d in [
|
||||||
[si.debit_to, 630.0, 0.0],
|
[si.debit_to, 630.0, 0.0],
|
||||||
[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
|
[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
|
||||||
[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
|
[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
|
||||||
@ -447,9 +448,9 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
])
|
])
|
||||||
|
|
||||||
for i, gle in enumerate(gl_entries):
|
for i, gle in enumerate(gl_entries):
|
||||||
self.assertEquals(expected_values[i][0], gle.account)
|
self.assertEquals(expected_values[gle.account][0], gle.account)
|
||||||
self.assertEquals(expected_values[i][1], gle.debit)
|
self.assertEquals(expected_values[gle.account][1], gle.debit)
|
||||||
self.assertEquals(expected_values[i][2], gle.credit)
|
self.assertEquals(expected_values[gle.account][2], gle.credit)
|
||||||
|
|
||||||
# cancel
|
# cancel
|
||||||
si.cancel()
|
si.cancel()
|
||||||
@ -502,7 +503,8 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
[si.debit_to, 0.0, 600.0],
|
[si.debit_to, 0.0, 600.0],
|
||||||
["_Test Account Bank Account - _TC", 600.0, 0.0]
|
["_Test Account Bank Account - _TC", 600.0, 0.0]
|
||||||
])
|
])
|
||||||
for i, gle in enumerate(gl_entries):
|
|
||||||
|
for i, gle in enumerate(sorted(gl_entries, key=lambda gle: gle.account)):
|
||||||
self.assertEquals(expected_gl_entries[i][0], gle.account)
|
self.assertEquals(expected_gl_entries[i][0], gle.account)
|
||||||
self.assertEquals(expected_gl_entries[i][1], gle.debit)
|
self.assertEquals(expected_gl_entries[i][1], gle.debit)
|
||||||
self.assertEquals(expected_gl_entries[i][2], gle.credit)
|
self.assertEquals(expected_gl_entries[i][2], gle.credit)
|
||||||
@ -574,16 +576,16 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
order by account asc, debit asc""", si.name, as_dict=1)
|
order by account asc, debit asc""", si.name, as_dict=1)
|
||||||
self.assertTrue(gl_entries)
|
self.assertTrue(gl_entries)
|
||||||
|
|
||||||
expected_gl_entries = sorted([
|
expected_gl_entries = dict((d[0], d) for d in [
|
||||||
[si.debit_to, 630.0, 0.0],
|
[si.debit_to, 630.0, 0.0],
|
||||||
[si_doc.get("items")[0]["income_account"], 0.0, 500.0],
|
[si_doc.get("items")[0]["income_account"], 0.0, 500.0],
|
||||||
[si_doc.get("taxes")[0]["account_head"], 0.0, 80.0],
|
[si_doc.get("taxes")[0]["account_head"], 0.0, 80.0],
|
||||||
[si_doc.get("taxes")[1]["account_head"], 0.0, 50.0],
|
[si_doc.get("taxes")[1]["account_head"], 0.0, 50.0],
|
||||||
])
|
])
|
||||||
for i, gle in enumerate(gl_entries):
|
for i, gle in enumerate(gl_entries):
|
||||||
self.assertEquals(expected_gl_entries[i][0], gle.account)
|
self.assertEquals(expected_gl_entries[gle.account][0], gle.account)
|
||||||
self.assertEquals(expected_gl_entries[i][1], gle.debit)
|
self.assertEquals(expected_gl_entries[gle.account][1], gle.debit)
|
||||||
self.assertEquals(expected_gl_entries[i][2], gle.credit)
|
self.assertEquals(expected_gl_entries[gle.account][2], gle.credit)
|
||||||
|
|
||||||
si.cancel()
|
si.cancel()
|
||||||
gle = frappe.db.sql("""select * from `tabGL Entry`
|
gle = frappe.db.sql("""select * from `tabGL Entry`
|
||||||
@ -605,16 +607,16 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
order by account asc""", si.name, as_dict=1)
|
order by account asc""", si.name, as_dict=1)
|
||||||
self.assertTrue(gl_entries)
|
self.assertTrue(gl_entries)
|
||||||
|
|
||||||
expected_values = sorted([
|
expected_values = dict((d[0], d) for d in [
|
||||||
[si.debit_to, 630.0, 0.0],
|
[si.debit_to, 630.0, 0.0],
|
||||||
[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
|
[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
|
||||||
[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
|
[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
|
||||||
[test_records[1]["taxes"][1]["account_head"], 0.0, 50.0],
|
[test_records[1]["taxes"][1]["account_head"], 0.0, 50.0],
|
||||||
])
|
])
|
||||||
for i, gle in enumerate(gl_entries):
|
for i, gle in enumerate(gl_entries):
|
||||||
self.assertEquals(expected_values[i][0], gle.account)
|
self.assertEquals(expected_values[gle.account][0], gle.account)
|
||||||
self.assertEquals(expected_values[i][1], gle.debit)
|
self.assertEquals(expected_values[gle.account][1], gle.debit)
|
||||||
self.assertEquals(expected_values[i][2], gle.credit)
|
self.assertEquals(expected_values[gle.account][2], gle.credit)
|
||||||
|
|
||||||
set_perpetual_inventory(0)
|
set_perpetual_inventory(0)
|
||||||
|
|
||||||
@ -630,16 +632,16 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
order by account asc""", si.name, as_dict=1)
|
order by account asc""", si.name, as_dict=1)
|
||||||
self.assertTrue(gl_entries)
|
self.assertTrue(gl_entries)
|
||||||
|
|
||||||
expected_values = sorted([
|
expected_values = dict((d[0], d) for d in [
|
||||||
[si.debit_to, 630.0, 0.0],
|
[si.debit_to, 630.0, 0.0],
|
||||||
[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
|
[test_records[1]["items"][0]["income_account"], 0.0, 500.0],
|
||||||
[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
|
[test_records[1]["taxes"][0]["account_head"], 0.0, 80.0],
|
||||||
[test_records[1]["taxes"][1]["account_head"], 0.0, 50.0],
|
[test_records[1]["taxes"][1]["account_head"], 0.0, 50.0],
|
||||||
])
|
])
|
||||||
for i, gle in enumerate(gl_entries):
|
for i, gle in enumerate(gl_entries):
|
||||||
self.assertEquals(expected_values[i][0], gle.account)
|
self.assertEquals(expected_values[gle.account][0], gle.account)
|
||||||
self.assertEquals(expected_values[i][1], gle.debit)
|
self.assertEquals(expected_values[gle.account][1], gle.debit)
|
||||||
self.assertEquals(expected_values[i][2], gle.credit)
|
self.assertEquals(expected_values[gle.account][2], gle.credit)
|
||||||
|
|
||||||
set_perpetual_inventory(0)
|
set_perpetual_inventory(0)
|
||||||
|
|
||||||
@ -733,7 +735,7 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
"delivery_document_no"))
|
"delivery_document_no"))
|
||||||
|
|
||||||
def test_serialize_status(self):
|
def test_serialize_status(self):
|
||||||
from erpnext.stock.doctype.serial_no.serial_no import SerialNoStatusError, get_serial_nos
|
from erpnext.stock.doctype.serial_no.serial_no import SerialNoStatusError, get_serial_nos, SerialNoDuplicateError
|
||||||
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
|
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_serialized_item
|
||||||
|
|
||||||
se = make_serialized_item()
|
se = make_serialized_item()
|
||||||
@ -751,7 +753,10 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
si.insert()
|
si.insert()
|
||||||
|
|
||||||
self.assertRaises(SerialNoStatusError, si.submit)
|
self.assertRaises(SerialNoStatusError, si.submit)
|
||||||
|
|
||||||
|
# hack! because stock ledger entires are already inserted and are not rolled back!
|
||||||
|
self.assertRaises(SerialNoDuplicateError, si.cancel)
|
||||||
|
|
||||||
def create_sales_invoice(**args):
|
def create_sales_invoice(**args):
|
||||||
si = frappe.new_doc("Sales Invoice")
|
si = frappe.new_doc("Sales Invoice")
|
||||||
args = frappe._dict(args)
|
args = frappe._dict(args)
|
||||||
@ -759,13 +764,13 @@ def create_sales_invoice(**args):
|
|||||||
si.posting_date = args.posting_date
|
si.posting_date = args.posting_date
|
||||||
if args.posting_time:
|
if args.posting_time:
|
||||||
si.posting_time = args.posting_time
|
si.posting_time = args.posting_time
|
||||||
|
|
||||||
si.company = args.company or "_Test Company"
|
si.company = args.company or "_Test Company"
|
||||||
si.customer = args.customer or "_Test Customer"
|
si.customer = args.customer or "_Test Customer"
|
||||||
si.debit_to = args.debit_to or "Debtors - _TC"
|
si.debit_to = args.debit_to or "Debtors - _TC"
|
||||||
si.update_stock = args.update_stock
|
si.update_stock = args.update_stock
|
||||||
si.is_pos = args.is_pos
|
si.is_pos = args.is_pos
|
||||||
|
|
||||||
si.append("items", {
|
si.append("items", {
|
||||||
"item_code": args.item or args.item_code or "_Test Item",
|
"item_code": args.item or args.item_code or "_Test Item",
|
||||||
"warehouse": args.warehouse or "_Test Warehouse - _TC",
|
"warehouse": args.warehouse or "_Test Warehouse - _TC",
|
||||||
@ -775,7 +780,7 @@ def create_sales_invoice(**args):
|
|||||||
"cost_center": "_Test Cost Center - _TC",
|
"cost_center": "_Test Cost Center - _TC",
|
||||||
"serial_no": args.serial_no
|
"serial_no": args.serial_no
|
||||||
})
|
})
|
||||||
|
|
||||||
if not args.do_not_save:
|
if not args.do_not_save:
|
||||||
si.insert()
|
si.insert()
|
||||||
if not args.do_not_submit:
|
if not args.do_not_submit:
|
||||||
|
@ -197,7 +197,7 @@ class StockController(AccountsController):
|
|||||||
sl_dict.update(args)
|
sl_dict.update(args)
|
||||||
return sl_dict
|
return sl_dict
|
||||||
|
|
||||||
def make_sl_entries(self, sl_entries, is_amended=None, allow_negative_stock=False,
|
def make_sl_entries(self, sl_entries, is_amended=None, allow_negative_stock=False,
|
||||||
via_landed_cost_voucher=False):
|
via_landed_cost_voucher=False):
|
||||||
from erpnext.stock.stock_ledger import make_sl_entries
|
from erpnext.stock.stock_ledger import make_sl_entries
|
||||||
make_sl_entries(sl_entries, is_amended, allow_negative_stock, via_landed_cost_voucher)
|
make_sl_entries(sl_entries, is_amended, allow_negative_stock, via_landed_cost_voucher)
|
||||||
@ -237,7 +237,11 @@ def update_gl_entries_after(posting_date, posting_time, for_warehouses=None, for
|
|||||||
if not existing_gle or not compare_existing_and_expected_gle(existing_gle,
|
if not existing_gle or not compare_existing_and_expected_gle(existing_gle,
|
||||||
expected_gle):
|
expected_gle):
|
||||||
_delete_gl_entries(voucher_type, voucher_no)
|
_delete_gl_entries(voucher_type, voucher_no)
|
||||||
voucher_obj.make_gl_entries(repost_future_gle=False)
|
try:
|
||||||
|
voucher_obj.make_gl_entries(repost_future_gle=False)
|
||||||
|
except:
|
||||||
|
print voucher_obj.as_json()
|
||||||
|
raise
|
||||||
else:
|
else:
|
||||||
_delete_gl_entries(voucher_type, voucher_no)
|
_delete_gl_entries(voucher_type, voucher_no)
|
||||||
|
|
||||||
|
@ -197,7 +197,7 @@ def set_defaults(args):
|
|||||||
"float_precision": 3,
|
"float_precision": 3,
|
||||||
'date_format': frappe.db.get_value("Country", args.get("country"), "date_format"),
|
'date_format': frappe.db.get_value("Country", args.get("country"), "date_format"),
|
||||||
'number_format': number_format,
|
'number_format': number_format,
|
||||||
'enable_scheduler': 1
|
'enable_scheduler': 1 if not frappe.flags.in_test else 0
|
||||||
})
|
})
|
||||||
system_settings.save()
|
system_settings.save()
|
||||||
|
|
||||||
|
@ -6,9 +6,10 @@ import frappe
|
|||||||
|
|
||||||
from erpnext.setup.page.setup_wizard.test_setup_data import args
|
from erpnext.setup.page.setup_wizard.test_setup_data import args
|
||||||
from erpnext.setup.page.setup_wizard.setup_wizard import setup_account
|
from erpnext.setup.page.setup_wizard.setup_wizard import setup_account
|
||||||
|
import frappe.utils.scheduler
|
||||||
|
|
||||||
if __name__=="__main__":
|
if __name__=="__main__":
|
||||||
frappe.connect()
|
frappe.connect()
|
||||||
frappe.local.form_dict = frappe._dict(args)
|
frappe.local.form_dict = frappe._dict(args)
|
||||||
setup_account()
|
setup_account()
|
||||||
|
frappe.utils.scheduler.disable_scheduler()
|
||||||
|
@ -18,10 +18,10 @@ class TestStockReconciliation(unittest.TestCase):
|
|||||||
|
|
||||||
def test_reco_for_fifo(self):
|
def test_reco_for_fifo(self):
|
||||||
self._test_reco_sle_gle("FIFO")
|
self._test_reco_sle_gle("FIFO")
|
||||||
|
|
||||||
def test_reco_for_moving_average(self):
|
def test_reco_for_moving_average(self):
|
||||||
self._test_reco_sle_gle("Moving Average")
|
self._test_reco_sle_gle("Moving Average")
|
||||||
|
|
||||||
def _test_reco_sle_gle(self, valuation_method):
|
def _test_reco_sle_gle(self, valuation_method):
|
||||||
set_perpetual_inventory()
|
set_perpetual_inventory()
|
||||||
# [[qty, valuation_rate, posting_date,
|
# [[qty, valuation_rate, posting_date,
|
||||||
@ -36,7 +36,7 @@ class TestStockReconciliation(unittest.TestCase):
|
|||||||
|
|
||||||
for d in input_data:
|
for d in input_data:
|
||||||
repost_stock_as_per_valuation_method(valuation_method)
|
repost_stock_as_per_valuation_method(valuation_method)
|
||||||
|
|
||||||
last_sle = get_previous_sle({
|
last_sle = get_previous_sle({
|
||||||
"item_code": "_Test Item",
|
"item_code": "_Test Item",
|
||||||
"warehouse": "_Test Warehouse - _TC",
|
"warehouse": "_Test Warehouse - _TC",
|
||||||
@ -45,51 +45,51 @@ class TestStockReconciliation(unittest.TestCase):
|
|||||||
})
|
})
|
||||||
|
|
||||||
# submit stock reconciliation
|
# submit stock reconciliation
|
||||||
stock_reco = create_stock_reconciliation(qty=d[0], rate=d[1],
|
stock_reco = create_stock_reconciliation(qty=d[0], rate=d[1],
|
||||||
posting_date=d[2], posting_time=d[3])
|
posting_date=d[2], posting_time=d[3])
|
||||||
|
|
||||||
# check stock value
|
# check stock value
|
||||||
sle = frappe.db.sql("""select * from `tabStock Ledger Entry`
|
sle = frappe.db.sql("""select * from `tabStock Ledger Entry`
|
||||||
where voucher_type='Stock Reconciliation' and voucher_no=%s""", stock_reco.name, as_dict=1)
|
where voucher_type='Stock Reconciliation' and voucher_no=%s""", stock_reco.name, as_dict=1)
|
||||||
|
|
||||||
qty_after_transaction = flt(d[0]) if d[0] != "" else flt(last_sle.get("qty_after_transaction"))
|
qty_after_transaction = flt(d[0]) if d[0] != "" else flt(last_sle.get("qty_after_transaction"))
|
||||||
|
|
||||||
valuation_rate = flt(d[1]) if d[1] != "" else flt(last_sle.get("valuation_rate"))
|
valuation_rate = flt(d[1]) if d[1] != "" else flt(last_sle.get("valuation_rate"))
|
||||||
|
|
||||||
if qty_after_transaction == last_sle.get("qty_after_transaction") \
|
if qty_after_transaction == last_sle.get("qty_after_transaction") \
|
||||||
and valuation_rate == last_sle.get("valuation_rate"):
|
and valuation_rate == last_sle.get("valuation_rate"):
|
||||||
self.assertFalse(sle)
|
self.assertFalse(sle)
|
||||||
else:
|
else:
|
||||||
self.assertEqual(sle[0].qty_after_transaction, qty_after_transaction)
|
self.assertEqual(sle[0].qty_after_transaction, qty_after_transaction)
|
||||||
self.assertEqual(sle[0].stock_value, qty_after_transaction * valuation_rate)
|
self.assertEqual(sle[0].stock_value, qty_after_transaction * valuation_rate)
|
||||||
|
|
||||||
# no gl entries
|
# no gl entries
|
||||||
self.assertTrue(frappe.db.get_value("Stock Ledger Entry",
|
self.assertTrue(frappe.db.get_value("Stock Ledger Entry",
|
||||||
{"voucher_type": "Stock Reconciliation", "voucher_no": stock_reco.name}))
|
{"voucher_type": "Stock Reconciliation", "voucher_no": stock_reco.name}))
|
||||||
self.assertFalse(get_stock_and_account_difference(["_Test Account Stock In Hand - _TC"]))
|
self.assertFalse(get_stock_and_account_difference(["_Test Account Stock In Hand - _TC"]))
|
||||||
|
|
||||||
stock_reco.cancel()
|
stock_reco.cancel()
|
||||||
|
|
||||||
self.assertFalse(frappe.db.get_value("Stock Ledger Entry",
|
self.assertFalse(frappe.db.get_value("Stock Ledger Entry",
|
||||||
{"voucher_type": "Stock Reconciliation", "voucher_no": stock_reco.name}))
|
{"voucher_type": "Stock Reconciliation", "voucher_no": stock_reco.name}))
|
||||||
|
|
||||||
self.assertFalse(frappe.db.get_value("GL Entry",
|
self.assertFalse(frappe.db.get_value("GL Entry",
|
||||||
{"voucher_type": "Stock Reconciliation", "voucher_no": stock_reco.name}))
|
{"voucher_type": "Stock Reconciliation", "voucher_no": stock_reco.name}))
|
||||||
|
|
||||||
set_perpetual_inventory(0)
|
set_perpetual_inventory(0)
|
||||||
|
|
||||||
def insert_existing_sle(self):
|
def insert_existing_sle(self):
|
||||||
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
|
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
|
||||||
|
|
||||||
make_stock_entry(posting_date="2012-12-15", posting_time="02:00", item_code="_Test Item",
|
make_stock_entry(posting_date="2012-12-15", posting_time="02:00", item_code="_Test Item",
|
||||||
target="_Test Warehouse - _TC", qty=10, incoming_rate=700)
|
target="_Test Warehouse - _TC", qty=10, incoming_rate=700)
|
||||||
|
|
||||||
make_stock_entry(posting_date="2012-12-25", posting_time="03:00", item_code="_Test Item",
|
make_stock_entry(posting_date="2012-12-25", posting_time="03:00", item_code="_Test Item",
|
||||||
source="_Test Warehouse - _TC", qty=15)
|
source="_Test Warehouse - _TC", qty=15)
|
||||||
|
|
||||||
make_stock_entry(posting_date="2013-01-05", posting_time="07:00", item_code="_Test Item",
|
make_stock_entry(posting_date="2013-01-05", posting_time="07:00", item_code="_Test Item",
|
||||||
target="_Test Warehouse - _TC", qty=15, incoming_rate=1200)
|
target="_Test Warehouse - _TC", qty=15, incoming_rate=1200)
|
||||||
|
|
||||||
def create_stock_reconciliation(**args):
|
def create_stock_reconciliation(**args):
|
||||||
args = frappe._dict(args)
|
args = frappe._dict(args)
|
||||||
sr = frappe.new_doc("Stock Reconciliation")
|
sr = frappe.new_doc("Stock Reconciliation")
|
||||||
@ -105,7 +105,9 @@ def create_stock_reconciliation(**args):
|
|||||||
"qty": args.qty,
|
"qty": args.qty,
|
||||||
"valuation_rate": args.rate
|
"valuation_rate": args.rate
|
||||||
})
|
})
|
||||||
|
|
||||||
sr.insert()
|
sr.insert()
|
||||||
|
|
||||||
sr.submit()
|
sr.submit()
|
||||||
return sr
|
return sr
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user