2 In order to test resource.
4 I assign working calendar '45 Hours/Week' to human resource.
6 !python {model: resource.resource}: |
7 self.write(cr, uid, [ref('resource_analyst'), ref('resource_designer'), ref('resource_developer')], {'calendar_id' : ref('timesheet_group1'), 'resource_type': 'user'})
10 I had Project of OpenERP Integration of 50 Hours with three human resource assigned on it. I have started project from this week start.
12 First, I generate the resource detail and check the resource Efficiency assigned.
14 !python {model: resource.resource}: |
15 resources = self.generate_resources(cr, uid, [ref('base.user_root'),ref('base.user_demo')], ref('timesheet_group1'), context)
16 for resource in resources.values():
17 assert resource.get('efficiency', 0.0) == 1.0, 'Invalid resource generated.'
19 I check per day work hour availability of the Resource based on Working Calendar Assigned to each resource, for first day of the week.
21 !python {model: resource.resource}: |
22 calendar_pool = self.pool.get('resource.calendar')
23 resources = self.browse(cr, uid, [ref('resource_analyst'), ref('resource_designer'), ref('resource_developer')], context)
24 from datetime import datetime, timedelta
26 dt = now - timedelta(days=now.weekday())
27 for resource in resources:
28 result = calendar_pool.working_hours_on_day(cr, uid, resource.calendar_id, dt, context)
29 assert result == 9.0, 'Wrong calculation of day work hour availability of the Resource.'
31 Now, resource "Developer" drafted leave on Thursday in this week.
33 !python {model: resource.calendar.leaves}: |
34 from datetime import datetime,timedelta
36 dt = (now - timedelta(days=now.weekday()) ) + timedelta(days=3)
37 self.write(cr, uid, [ref('resource_dummyleave')], {'resource_id': ref('resource_developer'), 'calendar_id': ref('timesheet_group1'), 'date_from': dt.strftime("%Y-%m-%d 09:00:00"), 'date_to': dt.strftime("%Y-%m-%d 18:00:00")})
40 I check Actual working hours on resource 'Developer' from this week
42 !python {model: resource.calendar}: |
43 from datetime import datetime, timedelta
45 dt_from = now - timedelta(days=now.weekday())
46 dt_to = dt_from+ timedelta(days=6)
47 hours = self.interval_hours_get(cr, uid, ref('timesheet_group1'), dt_from, dt_to, resource=ref('resource_developer'))
48 assert hours > 27 , 'Invalid Total Week working hour calculated'
50 Project Analysis work is of 20 hours which will start from Week start so i will calculate working schedule for resource Analyst for the same.
52 !python {model: resource.calendar}: |
54 from datetime import datetime, timedelta
56 work_intreval = self.interval_min_get(cr, uid, ref('timesheet_group1'), now, 20.0, resource=ref('resource_designer'))
57 assert len(work_intreval) >= 5, 'Wrong Schedule Calculated'