Skip to content

Commit

Permalink
update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
leemannd committed Apr 11, 2017
1 parent 202afc1 commit 43ada5e
Showing 1 changed file with 46 additions and 4 deletions.
50 changes: 46 additions & 4 deletions hr_holidays_imposed_days/tests/test_holidays_imposed_days.py
Expand Up @@ -4,6 +4,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo.tests import common
from odoo.exceptions import ValidationError
from odoo import fields
from dateutil.relativedelta import relativedelta

Expand All @@ -12,6 +13,7 @@ class TestHolidaysImposedDays(common.TransactionCase):

def setUp(self):
super(TestHolidaysImposedDays, self).setUp()
# Base models
self.employee_model = self.env['hr.employee']
self.holiday_status_model = self.env['hr.holidays.status']
self.holiday_imposed_model = self.env['hr.holidays.imposed']
Expand All @@ -37,10 +39,35 @@ def test_imposed_number_of_days_computation(self):
relativedelta(days=4)),
'status_id': self.holiday_type.id,
}
)
)
self.imposed.onchange_dates()
self.assertEqual(self.imposed.number_of_days, 3.)

def test_imposed_on_specific_employee(self):
# Create employee
self.employee = self.employee_model.create({
'name': 'Employee 1',
})
# define an imposed day
self.imposed = self.holiday_imposed_model.create(
{'name': 'TEST',
'date_from': fields.Datetime.to_string(self.today +
relativedelta(days=2)),
'date_to': fields.Datetime.to_string(self.today +
relativedelta(days=4)),
'status_id': self.holiday_type.id,
'employee_ids': self.employee,
}
)
self.imposed.validate()
leaves = self.holiday_model.search(
[('type', '=', 'remove'),
('employee_id', '=', self.employee.id)
]
)
self.assertEqual(len(leaves), 1)
self.assertEqual(leaves[0].state, 'confirm')

def test_imposed_employee_create(self):
# Create employee
self.employee = self.employee_model.create({
Expand All @@ -61,7 +88,7 @@ def test_imposed_employee_create(self):
relativedelta(days=4)),
'status_id': self.holiday_type.id,
}
)
)
self.employee2 = self.employee_model.create({
'name': 'Employee 2',
})
Expand Down Expand Up @@ -94,7 +121,7 @@ def test_imposed_employee_create_approved(self):
'status_id': self.holiday_type.id,
'auto_confirm': True
}
)
)
self.employee2 = self.employee_model.create({
'name': 'Employee 2',
})
Expand Down Expand Up @@ -123,11 +150,26 @@ def test_imposed_employee_create_validate(self):
'status_id': self.holiday_type.id,
'auto_confirm': True
}
)
)
self.imposed.validate()
leaves = self.holiday_model.search(
[('type', '=', 'remove'),
('employee_id', 'in', (self.employee.id, self.employee2.id))]
)
self.assertEqual(len(leaves), 2)
self.assertEqual(leaves[0].state, 'validate')

def test_check_dates_constrains(self):
self.assertRaises(ValidationError, self._create_wrong_imposed)

def _create_wrong_imposed(self):
return self.holiday_imposed_model.create(
{'name': 'TEST',
'date_from': fields.Datetime.to_string(self.today +
relativedelta(days=4)),
'date_to': fields.Datetime.to_string(self.today +
relativedelta(days=2)),
'status_id': self.holiday_type.id,
'auto_confirm': True
}
)

0 comments on commit 43ada5e

Please sign in to comment.