Skip to content

Commit

Permalink
chore: resolved conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
sibikumarkuppusamy committed Jan 10, 2025
2 parents 9a7b4b7 + 0ab94bd commit c5c6ad8
Show file tree
Hide file tree
Showing 7 changed files with 1,761 additions and 769 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,92 @@

import unittest

from erpnext.accounts.doctype.pos_invoice.test_pos_invoice import create_pos_invoice
from erpnext.accounts.doctype.pos_closing_entry.pos_closing_entry import make_closing_entry_from_opening
import frappe


class TestPOSOpeningEntry(unittest.TestCase):
pass

def test_pos_opening_to_pos_closing_TC_S_099(self):
from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile
test_user, pos_profile = init_user_and_profile()

opening_entry = create_opening_entry(pos_profile=pos_profile, user=test_user.name)
self.assertEqual(opening_entry.status, "Open")


pos_inv1 = create_pos_invoice(rate=3500, do_not_submit=1)
pos_inv1.append("payments", {"mode_of_payment": "Cash", "account": "Cash - _TC", "amount": 3500})
pos_inv1.submit()

pos_inv2 = create_pos_invoice(rate=3200, do_not_submit=1)
pos_inv2.append("payments", {"mode_of_payment": "Cash", "account": "Cash - _TC", "amount": 3200})
pos_inv2.submit()

closing_enrty= make_closing_entry_from_opening(opening_entry)
closing_enrty.submit()
opening_entry.reload()
self.assertEqual(opening_entry.status, "Closed")

def test_pos_opening_to_closing_enrty_check_cashire_and_posprofile_TC_S_100(self):
from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile
test_user, pos_profile = init_user_and_profile()

opening_entry = create_opening_entry(pos_profile=pos_profile, user=test_user.name)
self.assertEqual(opening_entry.status, "Open")
self.assertEqual(opening_entry.pos_profile, pos_profile.name)
self.assertEqual(opening_entry.user,test_user.name)


pos_inv1 = create_pos_invoice(rate=3500, do_not_submit=1)
pos_inv1.append("payments", {"mode_of_payment": "Cash", "account": "Cash - _TC", "amount": 3500})
pos_inv1.submit()

pos_inv2 = create_pos_invoice(rate=3200, do_not_submit=1)
pos_inv2.append("payments", {"mode_of_payment": "Cash", "account": "Cash - _TC", "amount": 3200})
pos_inv2.submit()

closing_enrty= make_closing_entry_from_opening(opening_entry)
closing_enrty.submit()
opening_entry.reload()
self.assertEqual(opening_entry.status, "Closed")

def test_pos_opening_to_closing_enrty_with_opening_balance_TC_S_101(self):
from erpnext.accounts.doctype.pos_closing_entry.test_pos_closing_entry import init_user_and_profile
test_user, pos_profile = init_user_and_profile()

opening_entry = frappe.new_doc("POS Opening Entry")
opening_entry.pos_profile = pos_profile.name
opening_entry.user = test_user.name
opening_entry.company = pos_profile.company
opening_entry.period_start_date = frappe.utils.get_datetime()

# Add opening balance details
balance_details = []
for d in pos_profile.payments:
balance_details.append({
"mode_of_payment": d.mode_of_payment,
"opening_amount": 1000
})

opening_entry.set("balance_details", balance_details)
opening_entry.save()
opening_entry.submit()
self.assertEqual(opening_entry.status, "Open")

pos_inv1 = create_pos_invoice(rate=3500, do_not_submit=1)
pos_inv1.append("payments", {"mode_of_payment": "Cash", "account": "Cash - _TC", "amount": 3500})
pos_inv1.submit()

pos_inv2 = create_pos_invoice(rate=3200, do_not_submit=1)
pos_inv2.append("payments", {"mode_of_payment": "Cash", "account": "Cash - _TC", "amount": 3200})
pos_inv2.submit()

closing_enrty= make_closing_entry_from_opening(opening_entry)
closing_enrty.submit()
opening_entry.reload()
self.assertEqual(opening_entry.status, "Closed")

def create_opening_entry(pos_profile, user):
entry = frappe.new_doc("POS Opening Entry")
Expand All @@ -24,4 +104,4 @@ def create_opening_entry(pos_profile, user):
entry.set("balance_details", balance_details)
entry.submit()

return entry.as_dict()
return entry
78 changes: 78 additions & 0 deletions erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -3176,6 +3176,84 @@ def test_fully_paid_of_pi_to_pr_to_pe_with_gst_TC_B_084(self):

pi_status = frappe.db.get_value("Purchase Invoice", pi.name, "status")
self.assertEqual(pi_status, "Paid")

def test_standalone_pi_is_fully_paid_TC_B_088(self):
purchase_tax = frappe.new_doc("Purchase Taxes and Charges Template")
purchase_tax.title = "TEST"
purchase_tax.company = "_Test Company"
purchase_tax.tax_category = "_Test Tax Category 1"

purchase_tax.append("taxes",{
"category":"Total",
"add_deduct_tax":"Add",
"charge_type":"On Net Total",
"account_head":"_Test Account Excise Duty - _TC",
"_Test Account Excise Duty":"_Test Account Excise Duty",
"rate":100,
"description":"GST"
})

purchase_tax.save()

pi = make_purchase_invoice(
qty=1,
item_code="_Test Item",
supplier = "_Test Supplier",
company = "_Test Company",
rate = 500,
do_not_save = True
)


pi.taxes_and_charges = purchase_tax.name
pi.is_paid = 1
pi.mode_of_payment = "Cash"
pi.cash_bank_account = "Cash - _TC"
pi.save()
pi.paid_amount = pi.grand_total
pi.submit()

pi_status = frappe.db.get_value("Purchase Invoice", pi.name, "status")
self.assertEqual(pi_status, "Paid")

def test_standalone_pi_is_partly_paid_TC_B_090(self):
purchase_tax = frappe.new_doc("Purchase Taxes and Charges Template")
purchase_tax.title = "TEST"
purchase_tax.company = "_Test Company"
purchase_tax.tax_category = "_Test Tax Category 1"

purchase_tax.append("taxes",{
"category":"Total",
"add_deduct_tax":"Add",
"charge_type":"On Net Total",
"account_head":"_Test Account Excise Duty - _TC",
"_Test Account Excise Duty":"_Test Account Excise Duty",
"rate":100,
"description":"GST"
})

purchase_tax.save()

pi = make_purchase_invoice(
qty=1,
item_code="_Test Item",
supplier = "_Test Supplier",
company = "_Test Company",
rate = 500,
do_not_save = True
)


pi.taxes_and_charges = purchase_tax.name
pi.is_paid = 1
pi.mode_of_payment = "Cash"
pi.cash_bank_account = "Cash - _TC"
pi.save()
pi.paid_amount = pi.grand_total / 2
pi.submit()

pi_status = frappe.db.get_value("Purchase Invoice", pi.name, "status")
self.assertEqual(pi_status, "Partly Paid")

def set_advance_flag(company, flag, default_account):
frappe.db.set_value(
Expand Down
172 changes: 172 additions & 0 deletions erpnext/buying/doctype/purchase_order/test_purchase_order.py
Original file line number Diff line number Diff line change
Expand Up @@ -1960,7 +1960,179 @@ def test_pr_to_lcv_add_value_to_stock_TC_B_034(self):
)
self.assertGreater(len(gl_entries), 0)

def test_po_to_pr_with_gst_partly_paid_TC_B_085(self):
# Scenario : PO => PR with GST Partly Paid

purchase_tax = frappe.new_doc("Purchase Taxes and Charges Template")
purchase_tax.title = "TEST"
purchase_tax.company = "_Test Company"
purchase_tax.tax_category = "_Test Tax Category 1"

purchase_tax.append("taxes",{
"category":"Total",
"add_deduct_tax":"Add",
"charge_type":"On Net Total",
"account_head":"_Test Account Excise Duty - _TC",
"_Test Account Excise Duty":"_Test Account Excise Duty",
"rate":100,
"description":"GST"
})
purchase_tax.save()
po = create_purchase_order(do_not_submit=True)
po.taxes_and_charges = purchase_tax.name
po.save()
po.submit()
self.assertEqual(po.docstatus,1)

args = {
"dt": po.doctype,
"dn": po.name,
"payment_request_type": 'Outward',
"party_type": "Supplier",
"party": po.supplier,
"party_name": po.supplier_name
}
partly_pr = make_payment_request(**args)
doc_pr = frappe.get_doc("Payment Request", partly_pr.name)
# set half amount to be paid
doc_pr.grand_total = po.grand_total / 2
doc_pr.submit()
po_status = frappe.db.get_value("Purchase Order",po.name,'status')
self.assertEqual(po_status,'To Receive and Bill')

def test_po_to_pr_with_gst_fully_paid_TC_B_086(self):
# Scenario : PO => PR with GST Fully Paid

purchase_tax = frappe.new_doc("Purchase Taxes and Charges Template")
purchase_tax.title = "TEST"
purchase_tax.company = "_Test Company"
purchase_tax.tax_category = "_Test Tax Category 1"

purchase_tax.append("taxes",{
"category":"Total",
"add_deduct_tax":"Add",
"charge_type":"On Net Total",
"account_head":"_Test Account Excise Duty - _TC",
"_Test Account Excise Duty":"_Test Account Excise Duty",
"rate":100,
"description":"GST"
})
purchase_tax.save()
po = create_purchase_order(do_not_submit=True)
po.taxes_and_charges = purchase_tax.name
po.save()
po.submit()
self.assertEqual(po.docstatus,1)

args = {
"dt": po.doctype,
"dn": po.name,
"payment_request_type": 'Outward',
"party_type": "Supplier",
"party": po.supplier,
"party_name": po.supplier_name
}
partly_pr = make_payment_request(**args)
doc_pr = frappe.get_doc("Payment Request", partly_pr.name)
doc_pr.grand_total = po.grand_total
doc_pr.submit()
po_status = frappe.db.get_value("Purchase Order",po.name,'status')
self.assertEqual(po_status,'To Receive and Bill')

def test_po_to_pr_to_pi_fully_paid_TC_B_087(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice

purchase_tax = frappe.new_doc("Purchase Taxes and Charges Template")
purchase_tax.title = "TEST"
purchase_tax.company = "_Test Company"
purchase_tax.tax_category = "_Test Tax Category 1"

purchase_tax.append("taxes",{
"category":"Total",
"add_deduct_tax":"Add",
"charge_type":"On Net Total",
"account_head":"_Test Account Excise Duty - _TC",
"_Test Account Excise Duty":"_Test Account Excise Duty",
"rate":100,
"description":"GST"
})

purchase_tax.save()

po = create_purchase_order(do_not_save=True)
po.taxes_and_charges = purchase_tax.name
po.save()
po.submit()
po_status_before = frappe.db.get_value("Purchase Order",po.name,'status')
self.assertEqual(po_status_before,'To Receive and Bill')

pr = make_purchase_receipt(po.name)
pr.save()
pr.submit()

po_status_after_pr = frappe.db.get_value("Purchase Order",po.name,'status')
self.assertEqual(po_status_after_pr,'To Bill')

pi = make_purchase_invoice(pr.name)
pi.is_paid = 1
pi.mode_of_payment = "Cash"
pi.cash_bank_account = "Cash - _TC"
pi.paid_amount = pr.grand_total
pi.save()
pi.submit()

pi_status = frappe.db.get_value("Purchase Invoice",pi.name,'status')
self.assertEqual(pi_status,'Paid')

po_status_after_paid = frappe.db.get_value("Purchase Order",po.name,'status')
self.assertEqual(po_status_after_paid,'Completed')

def test_po_to_pr_to_pi_partly_paid_TC_B_089(self):
from erpnext.stock.doctype.purchase_receipt.purchase_receipt import make_purchase_invoice
purchase_tax = frappe.new_doc("Purchase Taxes and Charges Template")
purchase_tax.title = "TEST"
purchase_tax.company = "_Test Company"
purchase_tax.tax_category = "_Test Tax Category 1"

purchase_tax.append("taxes",{
"category":"Total",
"add_deduct_tax":"Add",
"charge_type":"On Net Total",
"account_head":"_Test Account Excise Duty - _TC",
"_Test Account Excise Duty":"_Test Account Excise Duty",
"rate":100,
"description":"GST"
})

purchase_tax.save()

po = create_purchase_order(do_not_save=True)
po.taxes_and_charges = purchase_tax.name
po.save()
po.submit()
po_status_before = frappe.db.get_value("Purchase Order",po.name,'status')
self.assertEqual(po_status_before,'To Receive and Bill')

pr = make_purchase_receipt(po.name)
pr.save()
pr.submit()

po_status_after_pr = frappe.db.get_value("Purchase Order",po.name,'status')
self.assertEqual(po_status_after_pr,'To Bill')

pi = make_purchase_invoice(pr.name)
pi.is_paid = 1
pi.mode_of_payment = "Cash"
pi.cash_bank_account = "Cash - _TC"
pi.paid_amount = pr.grand_total / 2
pi.save()
pi.submit()

pi_status = frappe.db.get_value("Purchase Invoice",pi.name,'status')
self.assertEqual(pi_status,'Partly Paid')

po_status_after_paid = frappe.db.get_value("Purchase Order",po.name,'status')
self.assertEqual(po_status_after_paid,'Completed')

def create_po_for_sc_testing():
from erpnext.controllers.tests.test_subcontracting_controller import (
Expand Down
12 changes: 12 additions & 0 deletions erpnext/selling/doctype/quotation/test_quotation.py
Original file line number Diff line number Diff line change
Expand Up @@ -1039,6 +1039,18 @@ def test_quotation_to_sales_invoice_to_with_2_delivery_note_TC_S_083(self):
dn_2.submit()
self.stock_check(voucher=dn_2.name,qty=-2)
self.assertEqual(dn_2.status, "Completed")

def test_quotation_to_material_request_TC_S_084(self):
from erpnext.selling.doctype.sales_order.sales_order import make_material_request
quotation = self.create_and_submit_quotation("_Test Item Home Desktop 100", 4, 5000, "Stores - _TC")
sales_order = self.create_and_submit_sales_order(quotation.name, add_days(nowdate(), 5))
quotation.reload()
self.assertEqual(quotation.status, "Ordered")
mr = make_material_request(sales_order.name)
mr.save()
mr.submit()
mr.reload()
self.assertEqual(mr.status, "Pending")

def stock_check(self,voucher,qty):
stock_entries = frappe.get_all(
Expand Down
Loading

0 comments on commit c5c6ad8

Please sign in to comment.