From e5d5c616ee676df1d4b32bf63d808ff8d2a46fb7 Mon Sep 17 00:00:00 2001 From: Cedric Collins Date: Wed, 24 Mar 2021 17:33:54 -0500 Subject: [PATCH] [IMP] hr_payroll_slip_ytd: add unit tests H4817 --- hr_payroll_slip_ytd/tests/__init__.py | 1 + .../tests/test_hr_payslip_ytd.py | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 hr_payroll_slip_ytd/tests/__init__.py create mode 100644 hr_payroll_slip_ytd/tests/test_hr_payslip_ytd.py diff --git a/hr_payroll_slip_ytd/tests/__init__.py b/hr_payroll_slip_ytd/tests/__init__.py new file mode 100644 index 00000000..63a156de --- /dev/null +++ b/hr_payroll_slip_ytd/tests/__init__.py @@ -0,0 +1 @@ +from . import test_hr_payslip_ytd diff --git a/hr_payroll_slip_ytd/tests/test_hr_payslip_ytd.py b/hr_payroll_slip_ytd/tests/test_hr_payslip_ytd.py new file mode 100644 index 00000000..6a563da6 --- /dev/null +++ b/hr_payroll_slip_ytd/tests/test_hr_payslip_ytd.py @@ -0,0 +1,31 @@ +from odoo.addons.hr_payroll.tests.common import TestPayslipBase + + +class TestPayslipYtd(TestPayslipBase): + def test_00_payslip_ytd(self): + richard_payslip = self.env['hr.payslip'].create({ + 'name': 'Payslip of Richard', + 'employee_id': self.richard_emp.id, + 'contract_id': self.richard_emp.contract_id.id, + }) + + richard_payslip.compute_sheet() + richard_payslip.action_payslip_done() + basic_line = richard_payslip.line_ids.filtered(lambda l: l.code == 'BASIC') + self.assertEqual(basic_line.amount, 5000.0) + ytd = richard_payslip.ytd('BASIC', allow_draft=False) + self.assertEqual(ytd, {'total': 5000.0, 'quantity': 1.0, 'amount': 5000.0}) + + richard_payslip_next = self.env['hr.payslip'].create({ + 'name': 'Payslip of Richard', + 'employee_id': self.richard_emp.id, + 'contract_id': self.richard_emp.contract_id.id, + }) + + richard_payslip_next.compute_sheet() + basic_line = richard_payslip_next.line_ids.filtered(lambda l: l.code == 'BASIC') + self.assertEqual(basic_line.amount, 5000.0) + ytd = richard_payslip_next.ytd('BASIC', allow_draft=True) + self.assertEqual(ytd, {'total': 10000.0, 'quantity': 2.0, 'amount': 10000.0}) + ytd = richard_payslip_next.ytd('BASIC', allow_draft=False) + self.assertEqual(ytd, {'total': 5000.0, 'quantity': 1.0, 'amount': 5000.0})