chore: improve tests
diff --git a/erpnext/assets/doctype/asset/test_asset.py b/erpnext/assets/doctype/asset/test_asset.py
index f6da9d3..b0a8653 100644
--- a/erpnext/assets/doctype/asset/test_asset.py
+++ b/erpnext/assets/doctype/asset/test_asset.py
@@ -210,6 +210,9 @@
submit=1,
)
+ first_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ self.assertEquals(first_asset_depr_schedule.status, "Active")
+
post_depreciation_entries(date=add_months(purchase_date, 2))
asset.load_from_db()
@@ -221,6 +224,11 @@
scrap_asset(asset.name)
asset.load_from_db()
+ first_asset_depr_schedule.load_from_db()
+
+ second_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ self.assertEquals(second_asset_depr_schedule.status, "Active")
+ self.assertEquals(first_asset_depr_schedule.status, "Cancelled")
accumulated_depr_amount = flt(
asset.gross_purchase_amount - asset.finance_books[0].value_after_depreciation,
@@ -261,6 +269,11 @@
self.assertSequenceEqual(gle, expected_gle)
restore_asset(asset.name)
+ second_asset_depr_schedule.load_from_db()
+
+ third_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ self.assertEquals(third_asset_depr_schedule.status, "Active")
+ self.assertEquals(second_asset_depr_schedule.status, "Cancelled")
asset.load_from_db()
self.assertFalse(asset.journal_entry_for_scrap)
@@ -288,6 +301,9 @@
submit=1,
)
+ first_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ self.assertEquals(first_asset_depr_schedule.status, "Active")
+
post_depreciation_entries(date=add_months(purchase_date, 2))
si = make_sales_invoice(asset=asset.name, item_code="Macbook Pro", company="_Test Company")
@@ -299,6 +315,12 @@
self.assertEqual(frappe.db.get_value("Asset", asset.name, "status"), "Sold")
+ first_asset_depr_schedule.load_from_db()
+
+ second_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ self.assertEquals(second_asset_depr_schedule.status, "Active")
+ self.assertEquals(first_asset_depr_schedule.status, "Cancelled")
+
pro_rata_amount, _, _ = asset.get_pro_rata_amt(
asset.finance_books[0], 9000, get_last_day(add_months(purchase_date, 1)), date
)
@@ -375,6 +397,9 @@
submit=1,
)
+ first_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ self.assertEquals(first_asset_depr_schedule.status, "Active")
+
post_depreciation_entries(date="2021-01-01")
self.assertEqual(asset.asset_quantity, 10)
@@ -383,9 +408,18 @@
new_asset = split_asset(asset.name, 2)
asset.load_from_db()
+ first_asset_depr_schedule.load_from_db()
- depr_schedule_of_asset = get_draft_or_active_depr_schedule(asset.name)
- depr_schedule_of_new_asset = get_draft_or_active_depr_schedule(new_asset.name)
+ second_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ first_asset_depr_schedule_of_new_asset = get_draft_or_active_asset_depr_schedule_doc(
+ new_asset.name
+ )
+ self.assertEquals(second_asset_depr_schedule.status, "Active")
+ self.assertEquals(first_asset_depr_schedule_of_new_asset.status, "Active")
+ self.assertEquals(first_asset_depr_schedule.status, "Cancelled")
+
+ depr_schedule_of_asset = second_asset_depr_schedule.get("depreciation_schedule")
+ depr_schedule_of_new_asset = first_asset_depr_schedule_of_new_asset.get("depreciation_schedule")
self.assertEqual(new_asset.asset_quantity, 2)
self.assertEqual(new_asset.gross_purchase_amount, 24000)
@@ -1351,9 +1385,9 @@
# cancel depreciation entry
depr_entry = get_draft_or_active_depr_schedule(asset.name)[0].journal_entry
self.assertTrue(depr_entry)
+
frappe.get_doc("Journal Entry", depr_entry).cancel()
- asset.load_from_db()
depr_entry = get_draft_or_active_depr_schedule(asset.name)[0].journal_entry
self.assertFalse(depr_entry)
diff --git a/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py b/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py
index abbbd20..897c678 100644
--- a/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py
+++ b/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py
@@ -13,7 +13,7 @@
set_depreciation_settings_in_company,
)
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
- get_draft_or_active_depr_schedule,
+ get_draft_or_active_asset_depr_schedule_doc,
)
from erpnext.stock.doctype.item.test_item import create_item
@@ -256,6 +256,9 @@
submit=1,
)
+ first_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(consumed_asset.name)
+ self.assertEquals(first_asset_depr_schedule.status, "Active")
+
# Create and submit Asset Captitalization
asset_capitalization = create_asset_capitalization(
entry_type="Decapitalization",
@@ -285,9 +288,17 @@
consumed_asset.reload()
self.assertEqual(consumed_asset.status, "Decapitalized")
+ first_asset_depr_schedule.load_from_db()
+
+ second_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(consumed_asset.name)
+ self.assertEquals(second_asset_depr_schedule.status, "Active")
+ self.assertEquals(first_asset_depr_schedule.status, "Cancelled")
+
+ depr_schedule_of_consumed_asset = second_asset_depr_schedule.get("depreciation_schedule")
+
consumed_depreciation_schedule = [
d
- for d in get_draft_or_active_depr_schedule(consumed_asset.name)
+ for d in depr_schedule_of_consumed_asset
if getdate(d.schedule_date) == getdate(capitalization_date)
]
self.assertTrue(
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
index d004bdb..7a35013 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
@@ -122,8 +122,10 @@
asset_doc.name, row.finance_book
)
+ if not asset_depr_schedule_doc:
+ continue
+
if asset_depr_schedule_doc.status == "Draft":
- asset_depr_schedule_doc.status = "Active"
asset_depr_schedule_doc.submit()
diff --git a/erpnext/assets/doctype/asset_repair/test_asset_repair.py b/erpnext/assets/doctype/asset_repair/test_asset_repair.py
index 8ba3c0e..8618392 100644
--- a/erpnext/assets/doctype/asset_repair/test_asset_repair.py
+++ b/erpnext/assets/doctype/asset_repair/test_asset_repair.py
@@ -13,7 +13,7 @@
set_depreciation_settings_in_company,
)
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
- get_draft_or_active_depr_schedule,
+ get_draft_or_active_asset_depr_schedule_doc,
)
from erpnext.stock.doctype.item.test_item import create_item
@@ -235,13 +235,23 @@
def test_increase_in_asset_life(self):
asset = create_asset(calculate_depreciation=1, submit=1)
+
+ first_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ self.assertEquals(first_asset_depr_schedule.status, "Active")
+
initial_num_of_depreciations = num_of_depreciations(asset)
create_asset_repair(asset=asset, capitalize_repair_cost=1, submit=1)
+
asset.reload()
+ first_asset_depr_schedule.load_from_db()
+
+ second_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset.name)
+ self.assertEquals(second_asset_depr_schedule.status, "Active")
+ self.assertEquals(first_asset_depr_schedule.status, "Cancelled")
self.assertEqual((initial_num_of_depreciations + 1), num_of_depreciations(asset))
self.assertEqual(
- get_draft_or_active_depr_schedule(asset.name)[-1].accumulated_depreciation_amount,
+ second_asset_depr_schedule.get("depreciation_schedule")[-1].accumulated_depreciation_amount,
asset.finance_books[0].value_after_depreciation,
)
diff --git a/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py
index 62c6366..780c9db 100644
--- a/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py
+++ b/erpnext/assets/doctype/asset_value_adjustment/test_asset_value_adjustment.py
@@ -7,6 +7,9 @@
from frappe.utils import add_days, get_last_day, nowdate
from erpnext.assets.doctype.asset.test_asset import create_asset_data
+from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
+ get_draft_or_active_asset_depr_schedule_doc,
+)
from erpnext.assets.doctype.asset_value_adjustment.asset_value_adjustment import (
get_current_asset_value,
)
@@ -73,12 +76,21 @@
)
asset_doc.submit()
+ first_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset_doc.name)
+ self.assertEquals(first_asset_depr_schedule.status, "Active")
+
current_value = get_current_asset_value(asset_doc.name)
adj_doc = make_asset_value_adjustment(
asset=asset_doc.name, current_asset_value=current_value, new_asset_value=50000.0
)
adj_doc.submit()
+ first_asset_depr_schedule.load_from_db()
+
+ second_asset_depr_schedule = get_draft_or_active_asset_depr_schedule_doc(asset_doc.name)
+ self.assertEquals(second_asset_depr_schedule.status, "Active")
+ self.assertEquals(first_asset_depr_schedule.status, "Cancelled")
+
expected_gle = (
("_Test Accumulated Depreciations - _TC", 0.0, 50000.0),
("_Test Depreciations - _TC", 50000.0, 0.0),