diff options
| author | RomainLibert <rli@odoo.com> | 2018-02-01 09:46:32 +0100 |
|---|---|---|
| committer | RomainLibert <rli@odoo.com> | 2018-02-19 10:43:25 +0100 |
| commit | 6d870463d020c6d66ec60fa9ded6ffafbdbd4aa3 (patch) | |
| tree | 2b184b7e9bd4e2e03e95c355b62aec0212c1606b /addons/resource/tests | |
| parent | 813065cb5b72fe1b5c43704377afd7e1a96487db (diff) | |
[IMP] resource: Add possibility to pass in a domain
It will enable to retrieve data from the resource module based on a
domain that we pass to the model. It can be used in order to filter on
certain leave types only.
* In resource_mixin and resource add a way to use a domain in order to
filter the leaves
* In resource_mixin add a method to get the work/leaves hours count
Diffstat (limited to 'addons/resource/tests')
| -rw-r--r-- | addons/resource/tests/test_resource.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/addons/resource/tests/test_resource.py b/addons/resource/tests/test_resource.py index 39861cf9805..ed1d81fd54f 100644 --- a/addons/resource/tests/test_resource.py +++ b/addons/resource/tests/test_resource.py @@ -698,6 +698,48 @@ class TestResourceMixin(TestResourceCommon): self.assertEqual(res['days'], 0.75) self.assertEqual(res['hours'], 6.0) + def test_days_count_with_domain(self): + self.test.resource_id.write({ + 'user_id': self.lost_user.id, + }) + + self.env['resource.calendar.leaves'].sudo(self.lost_user).create({ + 'name': 'first', + 'calendar_id': self.test.resource_calendar_id.id, + 'resource_id': self.test.resource_id.id, + 'date_from': to_naive_utc(Datetime.from_string('2018-02-05 08:00:00'), self.lost_user), + 'date_to': to_naive_utc(Datetime.from_string('2018-02-09 18:00:00'), self.lost_user) + }) + + self.env['resource.calendar.leaves'].sudo(self.lost_user).create({ + 'name': 'second', + 'calendar_id': self.test.resource_calendar_id.id, + 'resource_id': self.test.resource_id.id, + 'date_from': to_naive_utc(Datetime.from_string('2018-01-12 08:00:00'), self.lost_user), + 'date_to': to_naive_utc(Datetime.from_string('2018-01-13 18:00:00'), self.lost_user) + }) + + res = self.test.get_work_days_count( + to_naive_utc(Datetime.from_string('2018-02-04 06:00:00'), self.env.user), + to_naive_utc(Datetime.from_string('2018-02-14 20:00:00'), self.env.user), + domain=[('name', '=', '')] + ) + self.assertEqual(res, 3.0) + + res = self.test.get_work_days_count( + to_naive_utc(Datetime.from_string('2018-02-04 06:00:00'), self.env.user), + to_naive_utc(Datetime.from_string('2018-02-14 20:00:00'), self.env.user), + domain=[('name', '=', 'first')] + ) + self.assertEqual(res, 1.0) + + res = self.test.get_leaves_day_count( + to_naive_utc(Datetime.from_string('2018-02-04 06:00:00'), self.env.user), + to_naive_utc(Datetime.from_string('2018-02-14 20:00:00'), self.env.user), + domain=[('name', '=', 'first')] + ) + self.assertEqual(res, 2.0) + class TestGlobalLeaves(TestResourceCommon): def setUp(self): |
