summaryrefslogtreecommitdiff
path: root/addons/hr_expense/tests/common.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/hr_expense/tests/common.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/hr_expense/tests/common.py')
-rw-r--r--addons/hr_expense/tests/common.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/addons/hr_expense/tests/common.py b/addons/hr_expense/tests/common.py
new file mode 100644
index 00000000..406f8b14
--- /dev/null
+++ b/addons/hr_expense/tests/common.py
@@ -0,0 +1,54 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.addons.account.tests.common import AccountTestInvoicingCommon
+from odoo.addons.mail.tests.common import mail_new_test_user
+
+
+class TestExpenseCommon(AccountTestInvoicingCommon):
+
+ @classmethod
+ def setUpClass(cls, chart_template_ref=None):
+ super().setUpClass(chart_template_ref=chart_template_ref)
+
+ group_expense_manager = cls.env.ref('hr_expense.group_hr_expense_manager')
+
+ cls.expense_user_employee = mail_new_test_user(
+ cls.env,
+ name='expense_user_employee',
+ login='expense_user_employee',
+ email='expense_user_employee@example.com',
+ notification_type='email',
+ groups='base.group_user',
+ company_ids=[(6, 0, cls.env.companies.ids)],
+ )
+ cls.expense_user_manager = mail_new_test_user(
+ cls.env,
+ name='Expense manager',
+ login='expense_manager_1',
+ email='expense_manager_1@example.com',
+ notification_type='email',
+ groups='base.group_user,hr_expense.group_hr_expense_manager',
+ company_ids=[(6, 0, cls.env.companies.ids)],
+ )
+
+ cls.expense_employee = cls.env['hr.employee'].create({
+ 'name': 'expense_employee',
+ 'user_id': cls.expense_user_employee.id,
+ 'address_home_id': cls.expense_user_employee.partner_id.id,
+ 'address_id': cls.expense_user_employee.partner_id.id,
+ })
+
+ # Allow the current accounting user to access the expenses.
+ cls.env.user.groups_id |= group_expense_manager
+
+ # Create analytic account
+ cls.analytic_account_1 = cls.env['account.analytic.account'].create({
+ 'name': 'analytic_account_1',
+ })
+ cls.analytic_account_2 = cls.env['account.analytic.account'].create({
+ 'name': 'analytic_account_2',
+ })
+
+ # Ensure products can be expensed.
+ (cls.product_a + cls.product_b).write({'can_be_expensed': True})