summaryrefslogtreecommitdiff
path: root/addons/resource/tests
diff options
context:
space:
mode:
authorRomainLibert <rli@odoo.com>2018-02-01 09:46:32 +0100
committerRomainLibert <rli@odoo.com>2018-02-19 10:43:25 +0100
commit6d870463d020c6d66ec60fa9ded6ffafbdbd4aa3 (patch)
tree2b184b7e9bd4e2e03e95c355b62aec0212c1606b /addons/resource/tests
parent813065cb5b72fe1b5c43704377afd7e1a96487db (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.py42
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):