mirror of
https://github.com/frappe/erpnext.git
synced 2026-04-15 21:05:10 +00:00
refactor(test): make asset deterministic
This commit is contained in:
@@ -22,7 +22,7 @@ from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import (
|
||||
from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_inter_company_transaction
|
||||
from erpnext.accounts.utils import PaymentEntryUnlinkError
|
||||
from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries
|
||||
from erpnext.assets.doctype.asset.test_asset import create_asset, create_asset_data
|
||||
from erpnext.assets.doctype.asset.test_asset import create_asset
|
||||
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
||||
get_depr_schedule,
|
||||
)
|
||||
@@ -1626,7 +1626,6 @@ class TestSalesInvoice(ERPNextTestSuite):
|
||||
self.assertRaises(frappe.ValidationError, cr_note.save)
|
||||
|
||||
def test_gle_made_when_asset_is_returned(self):
|
||||
create_asset_data()
|
||||
asset = create_asset(item_code="Macbook Pro")
|
||||
|
||||
si = create_sales_invoice(item_code="Macbook Pro", asset=asset.name, qty=1, rate=90000)
|
||||
@@ -3118,7 +3117,6 @@ class TestSalesInvoice(ERPNextTestSuite):
|
||||
Tests if an Asset set to depreciate yearly on June 30, that gets sold on Sept 30, creates an additional depreciation entry on its date of sale.
|
||||
"""
|
||||
|
||||
create_asset_data()
|
||||
asset = create_asset(item_code="Macbook Pro", calculate_depreciation=1, submit=1)
|
||||
post_depreciation_entries(getdate("2021-09-30"))
|
||||
|
||||
@@ -3144,7 +3142,6 @@ class TestSalesInvoice(ERPNextTestSuite):
|
||||
Tests if an Asset set to depreciate yearly on Dec 31, that gets sold on Dec 31 after two years, created an additional depreciation entry on its date of sale.
|
||||
"""
|
||||
|
||||
create_asset_data()
|
||||
asset = create_asset(
|
||||
item_code="Macbook Pro",
|
||||
calculate_depreciation=1,
|
||||
|
||||
@@ -40,18 +40,10 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class AssetSetup(ERPNextTestSuite):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
def setUp(self):
|
||||
set_depreciation_settings_in_company()
|
||||
create_asset_data()
|
||||
enable_cwip_accounting("Computers")
|
||||
make_purchase_receipt(item_code="Macbook Pro", qty=1, rate=100000.0, location="Test Location")
|
||||
frappe.db.sql("delete from `tabTax Rule`")
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
frappe.db.rollback()
|
||||
|
||||
|
||||
class TestAsset(AssetSetup):
|
||||
@@ -1906,31 +1898,9 @@ def get_gl_entries(doctype, docname):
|
||||
)
|
||||
|
||||
|
||||
def create_asset_data():
|
||||
if not frappe.db.exists("Asset Category", "Computers"):
|
||||
create_asset_category()
|
||||
|
||||
if not frappe.db.exists("Item", "Macbook Pro"):
|
||||
create_fixed_asset_item()
|
||||
|
||||
if not frappe.db.exists("Location", "Test Location"):
|
||||
frappe.get_doc({"doctype": "Location", "location_name": "Test Location"}).insert()
|
||||
|
||||
if not frappe.db.exists("Finance Book", "Test Finance Book 1"):
|
||||
frappe.get_doc({"doctype": "Finance Book", "finance_book_name": "Test Finance Book 1"}).insert()
|
||||
|
||||
if not frappe.db.exists("Finance Book", "Test Finance Book 2"):
|
||||
frappe.get_doc({"doctype": "Finance Book", "finance_book_name": "Test Finance Book 2"}).insert()
|
||||
|
||||
if not frappe.db.exists("Finance Book", "Test Finance Book 3"):
|
||||
frappe.get_doc({"doctype": "Finance Book", "finance_book_name": "Test Finance Book 3"}).insert()
|
||||
|
||||
|
||||
def create_asset(**args):
|
||||
args = frappe._dict(args)
|
||||
|
||||
create_asset_data()
|
||||
|
||||
asset = frappe.get_doc(
|
||||
{
|
||||
"doctype": "Asset",
|
||||
|
||||
@@ -8,7 +8,6 @@ from frappe.utils import cint, flt, now_datetime
|
||||
from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries
|
||||
from erpnext.assets.doctype.asset.test_asset import (
|
||||
create_asset,
|
||||
create_asset_data,
|
||||
create_fixed_asset_item,
|
||||
set_depreciation_settings_in_company,
|
||||
)
|
||||
@@ -26,7 +25,6 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
class TestAssetCapitalization(ERPNextTestSuite):
|
||||
def setUp(self):
|
||||
set_depreciation_settings_in_company()
|
||||
create_asset_data()
|
||||
create_asset_capitalization_data()
|
||||
frappe.db.sql("delete from `tabTax Rule`")
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sal
|
||||
from erpnext.assets.doctype.asset.depreciation import (
|
||||
post_depreciation_entries,
|
||||
)
|
||||
from erpnext.assets.doctype.asset.test_asset import create_asset, create_asset_data
|
||||
from erpnext.assets.doctype.asset.test_asset import create_asset
|
||||
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
||||
get_asset_depr_schedule_doc,
|
||||
get_depr_schedule,
|
||||
@@ -21,9 +21,6 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
|
||||
class TestAssetDepreciationSchedule(ERPNextTestSuite):
|
||||
def setUp(self):
|
||||
create_asset_data()
|
||||
|
||||
def test_throw_error_if_another_asset_depr_schedule_exist(self):
|
||||
asset = create_asset(item_code="Macbook Pro", calculate_depreciation=1, submit=1)
|
||||
|
||||
@@ -815,7 +812,6 @@ class TestAssetDepreciationSchedule(ERPNextTestSuite):
|
||||
def test_depreciation_on_return_of_sold_asset(self):
|
||||
from erpnext.controllers.sales_and_purchase_return import make_return_doc
|
||||
|
||||
create_asset_data()
|
||||
asset = create_asset(item_code="Macbook Pro", calculate_depreciation=1, submit=1)
|
||||
post_depreciation_entries(getdate("2021-09-30"))
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import unittest
|
||||
import frappe
|
||||
from frappe.utils import add_days, now
|
||||
|
||||
from erpnext.assets.doctype.asset.test_asset import create_asset, create_asset_data
|
||||
from erpnext.assets.doctype.asset.test_asset import create_asset
|
||||
from erpnext.setup.doctype.employee.test_employee import make_employee
|
||||
from erpnext.stock.doctype.purchase_receipt.test_purchase_receipt import make_purchase_receipt
|
||||
from erpnext.tests.utils import ERPNextTestSuite
|
||||
@@ -16,7 +16,6 @@ class TestAssetMovement(ERPNextTestSuite):
|
||||
frappe.db.set_value(
|
||||
"Company", "_Test Company", "capital_work_in_progress_account", "CWIP Account - _TC"
|
||||
)
|
||||
create_asset_data()
|
||||
make_location()
|
||||
|
||||
def test_movement(self):
|
||||
|
||||
@@ -14,7 +14,6 @@ from erpnext.assets.doctype.asset.asset import (
|
||||
)
|
||||
from erpnext.assets.doctype.asset.test_asset import (
|
||||
create_asset,
|
||||
create_asset_data,
|
||||
set_depreciation_settings_in_company,
|
||||
)
|
||||
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
||||
@@ -34,7 +33,6 @@ class TestAssetRepair(ERPNextTestSuite):
|
||||
super().setUpClass()
|
||||
cls.load_test_records("Stock Entry")
|
||||
set_depreciation_settings_in_company()
|
||||
create_asset_data()
|
||||
create_item("_Test Stock Item")
|
||||
frappe.db.sql("delete from `tabTax Rule`")
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ from frappe.utils import add_days, cstr, get_last_day, getdate, nowdate
|
||||
|
||||
from erpnext.assets.doctype.asset.asset import get_asset_value_after_depreciation
|
||||
from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries
|
||||
from erpnext.assets.doctype.asset.test_asset import create_asset_data
|
||||
from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
|
||||
get_asset_depr_schedule_doc,
|
||||
)
|
||||
@@ -18,7 +17,6 @@ from erpnext.tests.utils import ERPNextTestSuite
|
||||
|
||||
class TestAssetValueAdjustment(ERPNextTestSuite):
|
||||
def setUp(self):
|
||||
create_asset_data()
|
||||
frappe.db.set_value(
|
||||
"Company", "_Test Company", "capital_work_in_progress_account", "CWIP Account - _TC"
|
||||
)
|
||||
|
||||
@@ -253,6 +253,7 @@ class ERPNextTestSuite(unittest.TestCase):
|
||||
cls.make_monthly_distribution()
|
||||
cls.make_projects()
|
||||
cls.make_dunning_type()
|
||||
cls.make_finance_book()
|
||||
cls.update_selling_settings()
|
||||
cls.update_stock_settings()
|
||||
cls.update_system_settings()
|
||||
@@ -2245,6 +2246,20 @@ class ERPNextTestSuite(unittest.TestCase):
|
||||
"asset_category": cls.asset_category[0].name,
|
||||
"asset_naming_series": "ABC.###",
|
||||
},
|
||||
{
|
||||
"doctype": "Item",
|
||||
"item_code": "Macbook Pro",
|
||||
"item_name": "Macbook Pro",
|
||||
"description": "Macbook Pro Retina Display",
|
||||
"asset_category": "Computers",
|
||||
"item_group": "All Item Groups",
|
||||
"stock_uom": "Nos",
|
||||
"is_stock_item": 0,
|
||||
"is_fixed_asset": 1,
|
||||
"auto_create_assets": 1,
|
||||
"is_grouped_asset": 0,
|
||||
"asset_naming_series": "ACC-ASS-.YYYY.-",
|
||||
},
|
||||
]
|
||||
cls.item = []
|
||||
for x in records:
|
||||
@@ -2716,7 +2731,29 @@ class ERPNextTestSuite(unittest.TestCase):
|
||||
"depreciation_expense_account": "_Test Depreciations - _TC",
|
||||
}
|
||||
],
|
||||
}
|
||||
},
|
||||
{
|
||||
"doctype": "Asset Category",
|
||||
"asset_category_name": "Computers",
|
||||
"total_number_of_depreciations": 3,
|
||||
"frequency_of_depreciation": 3,
|
||||
"enable_cwip_accounting": True,
|
||||
"accounts": [
|
||||
{
|
||||
"company_name": "_Test Company",
|
||||
"fixed_asset_account": "_Test Fixed Asset - _TC",
|
||||
"accumulated_depreciation_account": "_Test Accumulated Depreciations - _TC",
|
||||
"depreciation_expense_account": "_Test Depreciations - _TC",
|
||||
"capital_work_in_progress_account": "CWIP Account - _TC",
|
||||
},
|
||||
{
|
||||
"company_name": "_Test Company with perpetual inventory",
|
||||
"fixed_asset_account": "_Test Fixed Asset - TCP1",
|
||||
"accumulated_depreciation_account": "_Test Accumulated Depreciations - TCP1",
|
||||
"depreciation_expense_account": "_Test Depreciations - TCP1",
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
cls.asset_category = []
|
||||
for x in records:
|
||||
@@ -3090,6 +3127,31 @@ class ERPNextTestSuite(unittest.TestCase):
|
||||
frappe.get_doc("Dunning Type", {"dunning_type": x.get("dunning_type")})
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def make_finance_book(cls):
|
||||
records = [
|
||||
{
|
||||
"doctype": "Finance Book",
|
||||
"finance_book_name": "Test Finance Book 1",
|
||||
},
|
||||
{
|
||||
"doctype": "Finance Book",
|
||||
"finance_book_name": "Test Finance Book 2",
|
||||
},
|
||||
{
|
||||
"doctype": "Finance Book",
|
||||
"finance_book_name": "Test Finance Book 3",
|
||||
},
|
||||
]
|
||||
cls.finance_book = []
|
||||
for x in records:
|
||||
if not frappe.db.exists("Finance Book", {"finance_book_name": x.get("finance_book_name")}):
|
||||
cls.finance_book.append(frappe.get_doc(x).insert())
|
||||
else:
|
||||
cls.finance_book.append(
|
||||
frappe.get_doc("Finance Book", {"finance_book_name": x.get("finance_book_name")})
|
||||
)
|
||||
|
||||
@contextmanager
|
||||
def set_user(self, user: str):
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user