diff --git a/hr_expense_change/tests/test_expense_change.py b/hr_expense_change/tests/test_expense_change.py index 7c4cc156..45379bfa 100644 --- a/hr_expense_change/tests/test_expense_change.py +++ b/hr_expense_change/tests/test_expense_change.py @@ -141,12 +141,12 @@ class TestAccountEntry(test_expenses.TestExpenses): self.assertEqual(expense_sheet.accounting_date, expense_sheet.account_move_id.date) expense = expense_sheet.expense_line_ids[0] - + self.expense = expense ctx = {'active_model': 'hr.expense', 'active_ids': expense.ids} change = self.env['hr.expense.change'].sudo(flag=True).with_context(ctx).create({}) self.assertEqual(change.date, expense.date) - change_date = '2018-01-01' + change_date = '2017-01-31' change.write({'date': change_date}) change.affect_change() diff --git a/hr_expense_change_analytic/__manifest__.py b/hr_expense_change_analytic/__manifest__.py index 7cf2cfa9..f2f132a6 100644 --- a/hr_expense_change_analytic/__manifest__.py +++ b/hr_expense_change_analytic/__manifest__.py @@ -1,7 +1,7 @@ { 'name': 'HR Expense Change - Analytic', 'author': 'Hibou Corp. ', - 'version': '13.0.1.0.0', + 'version': '14.0.1.0.0', 'category': 'Employees', 'sequence': 96, 'summary': 'Change Analytic Account on Expense.', diff --git a/hr_expense_change_analytic/tests/test_expense_change.py b/hr_expense_change_analytic/tests/test_expense_change.py index 28086894..3098afa2 100644 --- a/hr_expense_change_analytic/tests/test_expense_change.py +++ b/hr_expense_change_analytic/tests/test_expense_change.py @@ -1,8 +1,16 @@ -from odoo.addons.hr_expense_change.tests.test_expense_change import TestAccountEntry +from odoo.addons.hr_expense_change.tests import test_expense_change +from odoo.tests import tagged +from odoo import fields -class TestWizard(TestAccountEntry): +@tagged('-at_install', 'post_install') +class TestWizard(test_expense_change.TestAccountEntry): + def test_expense_change_basic(self): + super(TestWizard, self).test_expense_values() + + # Tests Adding an Analytic Account + self.analytic_account = self.env['account.analytic.account'].create({ 'name': 'test account', }) @@ -10,24 +18,19 @@ class TestWizard(TestAccountEntry): 'name': 'test account2', }) - self.expense.expense_line_ids.write({'analytic_account_id': False}) - - super(TestWizard, self).test_expense_change_basic() - - # Tests Adding an Analytic Account - self.assertFalse(self.expense.expense_line_ids.analytic_account_id) - ctx = {'active_model': 'hr.expense', 'active_ids': self.expense.expense_line_ids.ids} - change = self.env['hr.expense.change'].with_context(ctx).create({}) + self.assertNotEqual(self.expense.analytic_account_id, self.analytic_account) + ctx = {'active_model': 'hr.expense', 'active_ids': self.expense.ids} + change = self.env['hr.expense.change'].sudo().with_context(ctx).create({}) change.analytic_account_id = self.analytic_account change.affect_change() - self.assertEqual(self.expense.expense_line_ids.analytic_account_id, self.analytic_account) + self.assertEqual(self.expense.analytic_account_id, self.analytic_account) # Tests Changing change.analytic_account_id = self.analytic_account2 change.affect_change() - self.assertEqual(self.expense.expense_line_ids.analytic_account_id, self.analytic_account2) + self.assertEqual(self.expense.analytic_account_id, self.analytic_account2) # Tests Removing change.analytic_account_id = False change.affect_change() - self.assertFalse(self.expense.expense_line_ids.analytic_account_id) + self.assertFalse(self.expense.analytic_account_id) diff --git a/hr_expense_change_analytic/wizard/expense_change.py b/hr_expense_change_analytic/wizard/expense_change.py index 81069d08..1c6e6930 100644 --- a/hr_expense_change_analytic/wizard/expense_change.py +++ b/hr_expense_change_analytic/wizard/expense_change.py @@ -47,9 +47,12 @@ class ExpenseChangeWizard(models.TransientModel): def _affect_analytic_change(self, old_analytic_id): expenses_to_affect = self._find_expenses_to_write_analytic(old_analytic_id) if expenses_to_affect: + prev_state = expenses_to_affect.state + expenses_to_affect.state = "draft" expenses_to_affect.write({'analytic_account_id': self.analytic_account_id.id}) lines_to_affect = self.expense_id.sheet_id.account_move_id \ .line_ids.filtered(lambda l: l.analytic_account_id.id == old_analytic_id and l.debit) lines_to_affect.write({'analytic_account_id': self.analytic_account_id.id}) lines_to_affect.create_analytic_lines() + expenses_to_affect.state = prev_state