Test cases
This commit is contained in:
		
							parent
							
								
									813485023b
								
							
						
					
					
						commit
						ed94317df9
					
				| @ -0,0 +1,117 @@ | |||||||
|  | # Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors | ||||||
|  | # License: GNU General Public License v3. See license.txt | ||||||
|  | 
 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  | import unittest | ||||||
|  | import frappe | ||||||
|  | import erpnext | ||||||
|  | from erpnext.accounts.report.sales_payment_summary.sales_payment_summary import get_mode_of_payments, get_mode_of_payment_details | ||||||
|  | from frappe.utils import nowdate | ||||||
|  | from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry | ||||||
|  | 
 | ||||||
|  | test_dependencies = ["Sales Invoice"] | ||||||
|  | 
 | ||||||
|  | class TestSalesPaymentSummary(unittest.TestCase): | ||||||
|  | 	def setUp(self): | ||||||
|  | 		pass | ||||||
|  | 
 | ||||||
|  | 	def tearDown(self): | ||||||
|  | 		pass | ||||||
|  | 
 | ||||||
|  | 	def test_get_mode_of_payments(self): | ||||||
|  | 		si = frappe.get_all("Sales Invoice", fields=["name", "docstatus"]) | ||||||
|  | 		filters = get_filters() | ||||||
|  | 
 | ||||||
|  | 		for invoice in si[:2]: | ||||||
|  | 			doc = frappe.get_doc("Sales Invoice", invoice.name) | ||||||
|  | 			new_doc = frappe.copy_doc(doc) | ||||||
|  | 			new_doc.insert() | ||||||
|  | 			new_doc.submit() | ||||||
|  | 			try: | ||||||
|  | 				new_doc.submit() | ||||||
|  | 			except Exception as e: | ||||||
|  | 				pass | ||||||
|  | 
 | ||||||
|  | 			if int(new_doc.name[-3:])%2 == 0: | ||||||
|  | 				bank_account = "_Test Cash - _TC" | ||||||
|  | 				mode_of_payment = "Cash" | ||||||
|  | 			else: | ||||||
|  | 				bank_account = "_Test Bank - _TC" | ||||||
|  | 				mode_of_payment = "Credit Card" | ||||||
|  | 
 | ||||||
|  | 			pe = get_payment_entry("Sales Invoice", new_doc.name, bank_account=bank_account) | ||||||
|  | 			pe.reference_no = "_Test" | ||||||
|  | 			pe.reference_date = nowdate() | ||||||
|  | 			pe.mode_of_payment = mode_of_payment | ||||||
|  | 			pe.insert() | ||||||
|  | 			pe.submit() | ||||||
|  | 
 | ||||||
|  | 		mop = get_mode_of_payments(filters) | ||||||
|  | 		self.assertTrue('Credit Card' in mop.values()[0]) | ||||||
|  | 		self.assertTrue('Cash' in mop.values()[0]) | ||||||
|  | 
 | ||||||
|  | 		# Cancel all Cash payment entry and check if this mode of payment is still fetched. | ||||||
|  | 		payment_entries = frappe.get_all("Payment Entry", filters={"mode_of_payment": "Cash", "docstatus": 1}, fields=["name", "docstatus"]) | ||||||
|  | 		for payment_entry in payment_entries: | ||||||
|  | 			pe = frappe.get_doc("Payment Entry", payment_entry.name) | ||||||
|  | 			pe.cancel() | ||||||
|  | 
 | ||||||
|  | 		mop = get_mode_of_payments(filters) | ||||||
|  | 		self.assertTrue('Credit Card' in mop.values()[0]) | ||||||
|  | 		self.assertTrue('Cash' not in mop.values()[0]) | ||||||
|  | 
 | ||||||
|  | 	def test_get_mode_of_payments_details(self): | ||||||
|  | 		si = frappe.get_all("Sales Invoice", fields=["name", "docstatus"]) | ||||||
|  | 		filters = get_filters() | ||||||
|  | 
 | ||||||
|  | 		for invoice in si[:2]: | ||||||
|  | 			doc = frappe.get_doc("Sales Invoice", invoice.name) | ||||||
|  | 			new_doc = frappe.copy_doc(doc) | ||||||
|  | 			new_doc.insert() | ||||||
|  | 			new_doc.submit() | ||||||
|  | 			try: | ||||||
|  | 				new_doc.submit() | ||||||
|  | 			except Exception as e: | ||||||
|  | 				pass | ||||||
|  | 
 | ||||||
|  | 			if int(new_doc.name[-3:])%2 == 0: | ||||||
|  | 				bank_account = "_Test Cash - _TC" | ||||||
|  | 				mode_of_payment = "Cash" | ||||||
|  | 			else: | ||||||
|  | 				bank_account = "_Test Bank - _TC" | ||||||
|  | 				mode_of_payment = "Credit Card" | ||||||
|  | 
 | ||||||
|  | 			pe = get_payment_entry("Sales Invoice", new_doc.name, bank_account=bank_account) | ||||||
|  | 			pe.reference_no = "_Test" | ||||||
|  | 			pe.reference_date = nowdate() | ||||||
|  | 			pe.mode_of_payment = mode_of_payment | ||||||
|  | 			pe.insert() | ||||||
|  | 			pe.submit() | ||||||
|  | 
 | ||||||
|  | 		mopd = get_mode_of_payment_details(filters) | ||||||
|  | 
 | ||||||
|  | 		mopd_values = mopd.values()[0] | ||||||
|  | 		for mopd_value in mopd_values: | ||||||
|  | 			if mopd_value[0] == "Credit Card": | ||||||
|  | 				cc_init_amount = mopd_value[1] | ||||||
|  | 
 | ||||||
|  | 		# Cancel one Credit Card Payment Entry and check that it is not fetched in mode of payment details. | ||||||
|  | 		payment_entries = frappe.get_all("Payment Entry", filters={"mode_of_payment": "Credit Card", "docstatus": 1}, fields=["name", "docstatus"]) | ||||||
|  | 		for payment_entry in payment_entries[:1]: | ||||||
|  | 			pe = frappe.get_doc("Payment Entry", payment_entry.name) | ||||||
|  | 			pe.cancel() | ||||||
|  | 
 | ||||||
|  | 		mopd = get_mode_of_payment_details(filters) | ||||||
|  | 		mopd_values = mopd.values()[0] | ||||||
|  | 		for mopd_value in mopd_values: | ||||||
|  | 			if mopd_value[0] == "Credit Card": | ||||||
|  | 				cc_final_amount = mopd_value[1] | ||||||
|  | 
 | ||||||
|  | 		self.assertTrue(cc_init_amount > cc_final_amount) | ||||||
|  | 
 | ||||||
|  | def get_filters(): | ||||||
|  | 	return { | ||||||
|  | 		"from_date": "1900-01-01", | ||||||
|  | 		"to_date": nowdate(), | ||||||
|  | 		"company": "_Test Company" | ||||||
|  | 	} | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user