Skip to content

Commit

Permalink
Merge pull request #38679 from ruthra-kumar/refactor_repost_test
Browse files Browse the repository at this point in the history
refactor(test): repost utility deletion flag test
  • Loading branch information
ruthra-kumar authored Dec 12, 2023
2 parents 780c427 + acb6e8e commit 0acd0f5
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ def generate_preview(self):
return rendered_page

def on_submit(self):
if len(self.vouchers) > 1:
if len(self.vouchers) > 5:
job_name = "repost_accounting_ledger_" + self.name
frappe.enqueue(
method="erpnext.accounts.doctype.repost_accounting_ledger.repost_accounting_ledger.start_repost",
Expand Down Expand Up @@ -170,8 +170,6 @@ def start_repost(account_repost_doc=str) -> None:
doc.make_gl_entries(1)
doc.make_gl_entries()

frappe.db.commit()


def get_allowed_types_from_settings():
return [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,11 @@ def setUp(self):
self.create_company()
self.create_customer()
self.create_item()
self.update_repost_settings()
update_repost_settings()

def tearDown(self):
frappe.db.rollback()

def update_repost_settings(self):
allowed_types = ["Sales Invoice", "Purchase Invoice", "Payment Entry", "Journal Entry"]
repost_settings = frappe.get_doc("Repost Accounting Ledger Settings")
for x in allowed_types:
repost_settings.append("allowed_types", {"document_type": x, "allowed": True})
repost_settings.save()

def test_01_basic_functions(self):
si = create_sales_invoice(
item=self.item,
Expand Down Expand Up @@ -90,9 +83,6 @@ def test_01_basic_functions(self):
# Submit repost document
ral.save().submit()

# background jobs don't run on test cases. Manually triggering repost function.
start_repost(ral.name)

res = (
qb.from_(gl)
.select(gl.voucher_no, Sum(gl.debit).as_("debit"), Sum(gl.credit).as_("credit"))
Expand Down Expand Up @@ -177,34 +167,46 @@ def test_03_deletion_flag_and_preview_function(self):
pe = get_payment_entry(si.doctype, si.name)
pe.save().submit()

# without deletion flag set
# with deletion flag set
ral = frappe.new_doc("Repost Accounting Ledger")
ral.company = self.company
ral.delete_cancelled_entries = False
ral.delete_cancelled_entries = True
ral.append("vouchers", {"voucher_type": si.doctype, "voucher_no": si.name})
ral.append("vouchers", {"voucher_type": pe.doctype, "voucher_no": pe.name})
ral.save()

# assert preview data is generated
preview = ral.generate_preview()
self.assertIsNotNone(preview)

ral.save().submit()

# background jobs don't run on test cases. Manually triggering repost function.
start_repost(ral.name)
self.assertIsNone(frappe.db.exists("GL Entry", {"voucher_no": si.name, "is_cancelled": 1}))
self.assertIsNone(frappe.db.exists("GL Entry", {"voucher_no": pe.name, "is_cancelled": 1}))

self.assertIsNotNone(frappe.db.exists("GL Entry", {"voucher_no": si.name, "is_cancelled": 1}))
self.assertIsNotNone(frappe.db.exists("GL Entry", {"voucher_no": pe.name, "is_cancelled": 1}))
def test_05_without_deletion_flag(self):
si = create_sales_invoice(
item=self.item,
company=self.company,
customer=self.customer,
debit_to=self.debit_to,
parent_cost_center=self.cost_center,
cost_center=self.cost_center,
rate=100,
)

# with deletion flag set
pe = get_payment_entry(si.doctype, si.name)
pe.save().submit()

# without deletion flag set
ral = frappe.new_doc("Repost Accounting Ledger")
ral.company = self.company
ral.delete_cancelled_entries = True
ral.delete_cancelled_entries = False
ral.append("vouchers", {"voucher_type": si.doctype, "voucher_no": si.name})
ral.append("vouchers", {"voucher_type": pe.doctype, "voucher_no": pe.name})
ral.save().submit()

start_repost(ral.name)
self.assertIsNone(frappe.db.exists("GL Entry", {"voucher_no": si.name, "is_cancelled": 1}))
self.assertIsNone(frappe.db.exists("GL Entry", {"voucher_no": pe.name, "is_cancelled": 1}))
self.assertIsNotNone(frappe.db.exists("GL Entry", {"voucher_no": si.name, "is_cancelled": 1}))
self.assertIsNotNone(frappe.db.exists("GL Entry", {"voucher_no": pe.name, "is_cancelled": 1}))


def update_repost_settings():
allowed_types = ["Sales Invoice", "Purchase Invoice", "Payment Entry", "Journal Entry"]
repost_settings = frappe.get_doc("Repost Accounting Ledger Settings")
for x in allowed_types:
repost_settings.append("allowed_types", {"document_type": x, "allowed": True})
repost_settings.save()
6 changes: 6 additions & 0 deletions erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -2793,6 +2793,12 @@ def test_sales_invoice_with_discount_accounting_enabled(self):
@change_settings("Selling Settings", {"enable_discount_accounting": 1})
def test_additional_discount_for_sales_invoice_with_discount_accounting_enabled(self):

from erpnext.accounts.doctype.repost_accounting_ledger.test_repost_accounting_ledger import (
update_repost_settings,
)

update_repost_settings()

additional_discount_account = create_account(
account_name="Discount Account",
parent_account="Indirect Expenses - _TC",
Expand Down

0 comments on commit 0acd0f5

Please sign in to comment.