Test cases
This commit is contained in:
parent
8055bd39ba
commit
7917ff6936
@ -6,7 +6,7 @@ from __future__ import unicode_literals
|
|||||||
import unittest
|
import unittest
|
||||||
import frappe
|
import frappe
|
||||||
import frappe.model
|
import frappe.model
|
||||||
from frappe.utils import cint, flt, today
|
from frappe.utils import cint, flt, today, nowdate
|
||||||
import frappe.defaults
|
import frappe.defaults
|
||||||
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, \
|
||||||
test_records as pr_test_records
|
test_records as pr_test_records
|
||||||
@ -17,6 +17,12 @@ test_dependencies = ["Item", "Cost Center"]
|
|||||||
test_ignore = ["Serial No"]
|
test_ignore = ["Serial No"]
|
||||||
|
|
||||||
class TestPurchaseInvoice(unittest.TestCase):
|
class TestPurchaseInvoice(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
unlink_payment_on_cancel_of_invoice()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
unlink_payment_on_cancel_of_invoice(0)
|
||||||
|
|
||||||
def test_gl_entries_without_auto_accounting_for_stock(self):
|
def test_gl_entries_without_auto_accounting_for_stock(self):
|
||||||
set_perpetual_inventory(0)
|
set_perpetual_inventory(0)
|
||||||
self.assertTrue(not cint(frappe.defaults.get_global_default("auto_accounting_for_stock")))
|
self.assertTrue(not cint(frappe.defaults.get_global_default("auto_accounting_for_stock")))
|
||||||
@ -55,6 +61,27 @@ class TestPurchaseInvoice(unittest.TestCase):
|
|||||||
|
|
||||||
set_perpetual_inventory(0)
|
set_perpetual_inventory(0)
|
||||||
|
|
||||||
|
def test_payment_entry_unlink_against_purchase_invoice(self):
|
||||||
|
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
|
||||||
|
unlink_payment_on_cancel_of_invoice(0)
|
||||||
|
|
||||||
|
pi_doc = make_purchase_invoice()
|
||||||
|
|
||||||
|
pe = get_payment_entry("Purchase Invoice", pi_doc.name, bank_account="_Test Bank - _TC")
|
||||||
|
pe.reference_no = "1"
|
||||||
|
pe.reference_date = nowdate()
|
||||||
|
pe.paid_from_account_currency = pi_doc.currency
|
||||||
|
pe.paid_to_account_currency = pi_doc.currency
|
||||||
|
pe.source_exchange_rate = 1
|
||||||
|
pe.target_exchange_rate = 1
|
||||||
|
pe.paid_amount = pi_doc.grand_total
|
||||||
|
pe.save(ignore_permissions=True)
|
||||||
|
pe.submit()
|
||||||
|
|
||||||
|
pi_doc = frappe.get_doc('Purchase Invoice', pi_doc.name)
|
||||||
|
|
||||||
|
self.assertRaises(frappe.LinkExistsError, pi_doc.cancel)
|
||||||
|
|
||||||
def test_gl_entries_with_auto_accounting_for_stock_against_pr(self):
|
def test_gl_entries_with_auto_accounting_for_stock_against_pr(self):
|
||||||
set_perpetual_inventory(1)
|
set_perpetual_inventory(1)
|
||||||
self.assertEqual(cint(frappe.defaults.get_global_default("auto_accounting_for_stock")), 1)
|
self.assertEqual(cint(frappe.defaults.get_global_default("auto_accounting_for_stock")), 1)
|
||||||
@ -411,6 +438,11 @@ class TestPurchaseInvoice(unittest.TestCase):
|
|||||||
self.assertEquals(frappe.db.get_value("Serial No", pi.get("items")[0].rejected_serial_no,
|
self.assertEquals(frappe.db.get_value("Serial No", pi.get("items")[0].rejected_serial_no,
|
||||||
"warehouse"), pi.get("items")[0].rejected_warehouse)
|
"warehouse"), pi.get("items")[0].rejected_warehouse)
|
||||||
|
|
||||||
|
def unlink_payment_on_cancel_of_invoice(enable=1):
|
||||||
|
accounts_settings = frappe.get_doc("Accounts Settings")
|
||||||
|
accounts_settings.unlink_payment_on_cancellation_of_invoice = enable
|
||||||
|
accounts_settings.save()
|
||||||
|
|
||||||
def make_purchase_invoice(**args):
|
def make_purchase_invoice(**args):
|
||||||
pi = frappe.new_doc("Purchase Invoice")
|
pi = frappe.new_doc("Purchase Invoice")
|
||||||
args = frappe._dict(args)
|
args = frappe._dict(args)
|
||||||
@ -455,4 +487,4 @@ def make_purchase_invoice(**args):
|
|||||||
pi.submit()
|
pi.submit()
|
||||||
return pi
|
return pi
|
||||||
|
|
||||||
test_records = frappe.get_test_records('Purchase Invoice')
|
test_records = frappe.get_test_records('Purchase Invoice')
|
||||||
@ -4,8 +4,9 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
import unittest, copy
|
import unittest, copy
|
||||||
from frappe.utils import nowdate, add_days, flt
|
from frappe.utils import nowdate, add_days, flt, nowdate
|
||||||
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry, get_qty_after_transaction
|
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry, get_qty_after_transaction
|
||||||
|
from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import unlink_payment_on_cancel_of_invoice
|
||||||
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.exceptions import InvalidAccountCurrency, InvalidCurrency
|
from erpnext.exceptions import InvalidAccountCurrency, InvalidCurrency
|
||||||
from erpnext.stock.doctype.serial_no.serial_no import SerialNoWarehouseError
|
from erpnext.stock.doctype.serial_no.serial_no import SerialNoWarehouseError
|
||||||
@ -19,6 +20,12 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
w.submit()
|
w.submit()
|
||||||
return w
|
return w
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
unlink_payment_on_cancel_of_invoice()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
unlink_payment_on_cancel_of_invoice(0)
|
||||||
|
|
||||||
def test_timestamp_change(self):
|
def test_timestamp_change(self):
|
||||||
w = frappe.copy_doc(test_records[0])
|
w = frappe.copy_doc(test_records[0])
|
||||||
w.docstatus = 0
|
w.docstatus = 0
|
||||||
@ -78,6 +85,28 @@ class TestSalesInvoice(unittest.TestCase):
|
|||||||
self.assertEquals(si.base_grand_total, 1627.05)
|
self.assertEquals(si.base_grand_total, 1627.05)
|
||||||
self.assertEquals(si.grand_total, 1627.05)
|
self.assertEquals(si.grand_total, 1627.05)
|
||||||
|
|
||||||
|
def test_payment_entry_unlink_against_invoice(self):
|
||||||
|
from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
|
||||||
|
si = frappe.copy_doc(test_records[0])
|
||||||
|
si.is_pos = 0
|
||||||
|
si.insert()
|
||||||
|
si.submit()
|
||||||
|
|
||||||
|
pe = get_payment_entry("Sales Invoice", si.name, bank_account="_Test Bank - _TC")
|
||||||
|
pe.reference_no = "1"
|
||||||
|
pe.reference_date = nowdate()
|
||||||
|
pe.paid_from_account_currency = si.currency
|
||||||
|
pe.paid_to_account_currency = si.currency
|
||||||
|
pe.source_exchange_rate = 1
|
||||||
|
pe.target_exchange_rate = 1
|
||||||
|
pe.paid_amount = si.grand_total
|
||||||
|
pe.insert()
|
||||||
|
pe.submit()
|
||||||
|
|
||||||
|
unlink_payment_on_cancel_of_invoice(0)
|
||||||
|
si = frappe.get_doc('Sales Invoice', si.name)
|
||||||
|
self.assertRaises(frappe.LinkExistsError, si.cancel)
|
||||||
|
|
||||||
def test_sales_invoice_calculation_export_currency(self):
|
def test_sales_invoice_calculation_export_currency(self):
|
||||||
si = frappe.copy_doc(test_records[2])
|
si = frappe.copy_doc(test_records[2])
|
||||||
si.currency = "USD"
|
si.currency = "USD"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user