From 7d9379461aada0e94f0d6621dbbdc633c481d304 Mon Sep 17 00:00:00 2001 From: Khushi Rawat <142375893+khushi8112@users.noreply.github.com> Date: Thu, 29 May 2025 00:15:36 +0530 Subject: [PATCH] test: composite component --- erpnext/assets/doctype/asset/test_asset.py | 1 + .../test_asset_capitalization.py | 46 +++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/erpnext/assets/doctype/asset/test_asset.py b/erpnext/assets/doctype/asset/test_asset.py index 9e2207367ba..919178d32f3 100644 --- a/erpnext/assets/doctype/asset/test_asset.py +++ b/erpnext/assets/doctype/asset/test_asset.py @@ -1748,6 +1748,7 @@ def create_asset(**args): "asset_owner": args.asset_owner or "Company", "is_existing_asset": args.is_existing_asset or 1, "is_composite_asset": args.is_composite_asset or 0, + "is_composite_component": args.is_composite_component or 0, "asset_quantity": args.get("asset_quantity") or 1, "depr_entry_posting_status": args.depr_entry_posting_status or "", } diff --git a/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py b/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py index 7cc04cfa5fc..fd55dde9bdb 100644 --- a/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py +++ b/erpnext/assets/doctype/asset_capitalization/test_asset_capitalization.py @@ -340,6 +340,52 @@ class TestAssetCapitalization(IntegrationTestCase): self.assertFalse(get_actual_gle_dict(asset_capitalization.name)) self.assertFalse(get_actual_sle_dict(asset_capitalization.name)) + def test_capitalize_composite_component(self): + company = "_Test Company with perpetual inventory" + set_depreciation_settings_in_company(company=company) + name = frappe.db.get_value( + "Asset Category Account", + filters={"parent": "Computers", "company_name": company}, + fieldname=["name"], + ) + frappe.db.set_value("Asset Category Account", name, "capital_work_in_progress_account", "") + + wip_composite_asset = create_asset( + asset_name="Asset Capitalization WIP Composite Asset", + is_composite_asset=1, + warehouse="Stores - TCP1", + company=company, + ) + + consumed_asset_value = 100000 + + consumed_asset = create_asset( + asset_name="Asset Capitalization Consumable Asset", + asset_value=consumed_asset_value, + submit=1, + warehouse="Stores - _TC", + is_composite_component=1, + company=company, + ) + + # Create and submit Asset Captitalization + asset_capitalization = create_asset_capitalization( + capitalization_method="Choose a WIP composite asset", + target_asset=wip_composite_asset.name, + target_asset_location="Test Location", + consumed_asset=consumed_asset.name, + company=company, + submit=1, + ) + + # Test Asset Capitalization values + self.assertEqual(asset_capitalization.capitalization_method, "Choose a WIP composite asset") + self.assertEqual(asset_capitalization.target_qty, 1) + self.assertEqual(asset_capitalization.asset_items[0].asset_value, consumed_asset_value) + + actual_gle = get_actual_gle_dict(asset_capitalization.name) + self.assertEqual(actual_gle, {}) + def create_asset_capitalization_data(): create_item("Capitalization Target Stock Item", is_stock_item=1, is_fixed_asset=0, is_purchase_item=0)