diff --git a/addons/account_budget/tests/common.py b/addons/account_budget/tests/common.py index 17951313f27..36757dba6d8 100644 --- a/addons/account_budget/tests/common.py +++ b/addons/account_budget/tests/common.py @@ -10,164 +10,177 @@ class TestAccountBudgetCommon(AccountingTestCase): def setUp(self): super(TestAccountBudgetCommon, self).setUp() + # In order to check account budget module in Odoo I created a budget with few budget positions + # Checking if the budgetary positions have accounts or not account_ids = self.env['account.account'].search([ ('user_type_id', '=', self.ref('account.data_account_type_revenue')), ('tag_ids.name', 'in', ['Operating Activities']) ]).ids + if not account_ids: + account_ids = self.env['account.account'].create({ + 'name': 'Product Sales - (test)', + 'code': 'X2020', + 'user_type_id': self.ref('account.data_account_type_revenue'), + 'tag_ids': [(6, 0, [self.ref('account.account_tag_operating')])], + }).ids + self.account_budget_post_sales0 = self.env['account.budget.post'].create({ + 'name': 'Sales', + 'account_ids': [(6, None, account_ids)], + }) - if account_ids: - self.account_budget_post_sales0 = self.env['account.budget.post'].create({ - 'name': 'Sales', - 'account_ids': [(6, None, account_ids)], - }) - - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-01-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-01-31', - 'planned_amount': 500.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-02-07', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-02-28', - 'planned_amount': 900.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-03-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-03-15', - 'planned_amount': 300.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_our_super_product'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-03-16', - 'paid_date': str(time.localtime(time.time())[0] + 1) + '-12-03', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-03-31', - 'planned_amount': 375.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_our_super_product'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-05-01', - 'paid_date': str(time.localtime(time.time())[0] + 1) + '-12-03', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-05-31', - 'planned_amount': 375.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-07-16', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-07-31', - 'planned_amount': 20000.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-02-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-02-28', - 'planned_amount': 20000.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-09-16', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-09-30', - 'planned_amount': 10000.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_sales0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-10-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-12-31', - 'planned_amount': 10000.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), - }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-01-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-01-31', + 'planned_amount': 500.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-02-07', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-02-28', + 'planned_amount': 900.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-03-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-03-15', + 'planned_amount': 300.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_our_super_product'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-03-16', + 'paid_date': str(time.localtime(time.time())[0] + 1) + '-12-03', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-03-31', + 'planned_amount': 375.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_our_super_product'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-05-01', + 'paid_date': str(time.localtime(time.time())[0] + 1) + '-12-03', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-05-31', + 'planned_amount': 375.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-07-16', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-07-31', + 'planned_amount': 20000.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-02-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-02-28', + 'planned_amount': 20000.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-09-16', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-09-30', + 'planned_amount': 10000.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_sales0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-10-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-12-31', + 'planned_amount': 10000.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), + }) account_ids = self.env['account.account'].search([ ('user_type_id.name', '=', 'Expenses'), ('tag_ids.name', 'in', ['Operating Activities']) ]).ids - if account_ids: - self.account_budget_post_purchase0 = self.env['account.budget.post'].create({ - 'name': 'Purchases', - 'account_ids': [(6, None, account_ids)], - }) + if not account_ids: + account_ids = self.env['account.account'].create({ + 'name': 'Expense - (test)', + 'code': 'X2120', + 'user_type_id': self.ref('account.data_account_type_expenses'), + 'tag_ids': [(6, 0, [self.ref('account.account_tag_operating')])], + }).ids + self.account_budget_post_purchase0 = self.env['account.budget.post'].create({ + 'name': 'Purchases', + 'account_ids': [(6, None, account_ids)], + }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), - 'general_budget_id': self.account_budget_post_purchase0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-01-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-01-31', - 'planned_amount': -500.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), - 'general_budget_id': self.account_budget_post_purchase0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-02-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-02-28', - 'planned_amount': -250.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_our_super_product'), - 'general_budget_id': self.account_budget_post_purchase0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-04-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-04-30', - 'planned_amount': -150.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_purchase0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-06-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-06-15', - 'planned_amount': -7500.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_purchase0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-06-16', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-06-30', - 'planned_amount': -5000.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_purchase0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-07-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-07-15', - 'planned_amount': -2000.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_purchase0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-08-16', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-08-31', - 'planned_amount': -3000.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), - }) - self.env['crossovered.budget.lines'].create({ - 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), - 'general_budget_id': self.account_budget_post_purchase0.id, - 'date_from': str(time.localtime(time.time())[0] + 1) + '-09-01', - 'date_to': str(time.localtime(time.time())[0] + 1) + '-09-15', - 'planned_amount': -1000.0, - 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), - }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), + 'general_budget_id': self.account_budget_post_purchase0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-01-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-01-31', + 'planned_amount': -500.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_partners_camp_to_camp'), + 'general_budget_id': self.account_budget_post_purchase0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-02-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-02-28', + 'planned_amount': -250.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_our_super_product'), + 'general_budget_id': self.account_budget_post_purchase0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-04-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-04-30', + 'planned_amount': -150.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_purchase0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-06-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-06-15', + 'planned_amount': -7500.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_purchase0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-06-16', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-06-30', + 'planned_amount': -5000.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_purchase0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-07-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-07-15', + 'planned_amount': -2000.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_purchase0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-08-16', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-08-31', + 'planned_amount': -3000.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetpessimistic0'), + }) + self.env['crossovered.budget.lines'].create({ + 'analytic_account_id': self.ref('analytic.analytic_seagate_p2'), + 'general_budget_id': self.account_budget_post_purchase0.id, + 'date_from': str(time.localtime(time.time())[0] + 1) + '-09-01', + 'date_to': str(time.localtime(time.time())[0] + 1) + '-09-15', + 'planned_amount': -1000.0, + 'crossovered_budget_id': self.ref('account_budget.crossovered_budget_budgetoptimistic0'), + }) diff --git a/addons/account_budget/tests/test_account_budget.py b/addons/account_budget/tests/test_account_budget.py index 7de199b1a12..690ae505942 100644 --- a/addons/account_budget/tests/test_account_budget.py +++ b/addons/account_budget/tests/test_account_budget.py @@ -12,24 +12,6 @@ import datetime class TestAccountBudget(TestAccountBudgetCommon): def test_account_budget(self): - # In order to check account budget module in Odoo I created a budget with few budget positions - # Checking if the budgetary positions have accounts or not - if not self.account_budget_post_sales0.account_ids: - a_sale = self.env['account.account'].create({ - 'name': 'Product Sales - (test)', - 'code': 'X2020', - 'user_type_id': self.ref('account.data_account_type_revenue'), - 'tag_ids': [(6, 0, [self.ref('account.account_tag_operating')])], - }) - self.account_budget_post_sales0.write({'account_ids': [(6, 0, [a_sale.id])]}) - if not self.account_budget_post_purchase0.account_ids: - a_expense = self.env['account.account'].create({ - 'name': 'Expense - (test)', - 'code': 'X2120', - 'user_type_id': self.ref('account.data_account_type_expenses'), - 'tag_ids': [(6, 0, [self.ref('account.account_tag_operating')])], - }) - self.account_budget_post_purchase0.write({'account_ids': [(6, 0, [a_expense.id])]}) # Creating a crossovered.budget record budget = self.env['crossovered.budget'].create({ diff --git a/addons/account_budget/tests/test_theoreticalamount.py b/addons/account_budget/tests/test_theoreticalamount.py index 6af2c956d69..6b499302fe0 100644 --- a/addons/account_budget/tests/test_theoreticalamount.py +++ b/addons/account_budget/tests/test_theoreticalamount.py @@ -21,7 +21,7 @@ class TestTheoreticalAmount(TestAccountBudgetCommon): user_type_id = self.ref('account.data_account_type_revenue') tag_id = self.ref('account.account_tag_operating') account_rev = self.env['account.account'].create({ - 'code': 'X2020', + 'code': 'Y2020', 'name': 'Budget - Test Revenue Account', 'user_type_id': user_type_id, 'tag_ids': [(4, tag_id, 0)]