[FIX] account_budget: fix test in case a COA is installed but has no accounts of type revenue/Expense with tag operating activities

This commit is contained in:
qdp-odoo
2016-09-22 10:57:11 +02:00
parent 9f604239a6
commit cdbe7140e5
3 changed files with 163 additions and 168 deletions
+162 -149
View File
@@ -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'),
})
@@ -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({
@@ -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)]