[IMP] imporved test case scenario
bzr revid: jam@tinyerp.com-20111205115218-95ol3r8mw3uxdi5u
This commit is contained in:
parent
85770076fb
commit
6e5e699b6e
|
@ -5,73 +5,73 @@
|
|||
<!-- Example employee -->
|
||||
|
||||
<record id="timesheet_group1" model="resource.calendar">
|
||||
<field name="name">38 Hours/Week</field>
|
||||
<field name="name">45 Hours/Week</field>
|
||||
</record>
|
||||
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_mon1">
|
||||
<field name="name">Monday morning</field>
|
||||
<field name="dayofweek">0</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_mon2">
|
||||
<field name="name">Monday evening</field>
|
||||
<field name="dayofweek">0</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">18</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_tue1">
|
||||
<field name="name">Tuesday morning</field>
|
||||
<field name="dayofweek">1</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_tue2">
|
||||
<field name="name">Tuesday evening</field>
|
||||
<field name="dayofweek">1</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">18</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_wed1">
|
||||
<field name="name">Wednesday morning</field>
|
||||
<field name="dayofweek">2</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_wed2">
|
||||
<field name="name">Wednesday evening</field>
|
||||
<field name="dayofweek">2</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">18</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_thu1">
|
||||
<field name="name">Thursday morning</field>
|
||||
<field name="dayofweek">3</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_thu2">
|
||||
<field name="name">Thursday evening</field>
|
||||
<field name="hour_from">13</field>
|
||||
<field name="hour_to">18</field>
|
||||
<field name="dayofweek">3</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_fri1">
|
||||
<field name="name">Friday morning</field>
|
||||
<field name="dayofweek">4</field>
|
||||
<field name="hour_from">08</field>
|
||||
<field name="hour_to">12</field>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
<record model="resource.calendar.attendance">
|
||||
<record model="resource.calendar.attendance" id="calendar_attendance_fri2">
|
||||
<field name="name">Friday evening</field>
|
||||
<field name="dayofweek">4</field>
|
||||
<field name="hour_from">13</field>
|
||||
|
@ -79,15 +79,6 @@
|
|||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
|
||||
<record id="resource_resource_demorsource" model="resource.resource">
|
||||
<field eval="0.8" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="name">Demo Resource</field>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
<field name="resource_type">user</field>
|
||||
</record>
|
||||
|
||||
<record id="resource_analyst" model="resource.resource">
|
||||
<field eval="1.0" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_root"/>
|
||||
|
@ -98,7 +89,7 @@
|
|||
</record>
|
||||
|
||||
<record id="resource_designer" model="resource.resource">
|
||||
<field eval="0.8" name="time_efficiency"/>
|
||||
<field eval="1.0" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="name">Designer</field>
|
||||
<field eval="1" name="active"/>
|
||||
|
@ -107,7 +98,7 @@
|
|||
</record>
|
||||
|
||||
<record id="resource_developer" model="resource.resource">
|
||||
<field eval="0.8" name="time_efficiency"/>
|
||||
<field eval="1.0" name="time_efficiency"/>
|
||||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field name="name">Developer</field>
|
||||
<field eval="1" name="active"/>
|
||||
|
@ -122,6 +113,13 @@
|
|||
<field name="date_to" eval="time.strftime('%Y-%m-%d 11:00:00')"/>
|
||||
<field name="calendar_id" ref="timesheet_group1"/>
|
||||
</record>
|
||||
|
||||
<record id="resource_dummyleave" model="resource.calendar.leaves">
|
||||
<field name="name">Dummy Resource Leave</field>
|
||||
<field name="resource_id" ref="resource_analyst"/>
|
||||
<field name="date_from" eval="time.strftime('%Y-%m-%d 08:00:00')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-%m-%d 11:00:00')"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -1,42 +1,62 @@
|
|||
-
|
||||
In order to test resource calendar.
|
||||
I assign workig calendar '38 Hours/Week' to human resource.
|
||||
In order to test resource.
|
||||
-
|
||||
I assign workig calendar '45 Hours/Week' to human resource.
|
||||
-
|
||||
!python {model: resource.resource}: |
|
||||
self.write(cr, uid, [ref('resource_analyst'), ref('resource_designer'), ref('resource_developer')], {'calendar_id' : ref('timesheet_group1')})
|
||||
self.write(cr, uid, [ref('resource_analyst'), ref('resource_designer'), ref('resource_developer')], {'calendar_id' : ref('timesheet_group1'), 'resource_type': 'user'})
|
||||
|
||||
-
|
||||
I check the working hour on day for resource 'Demo Resource' using calendar '38 Hours/Week' .
|
||||
I had Project of OpenERP Integration of 50 Hours with three human resource assigned on it. I have started project from this week start.
|
||||
-
|
||||
First, I generate the resource detail and check the resource Efficiency assigned.
|
||||
-
|
||||
!python {model: resource.resource}: |
|
||||
resources = self.generate_resources(cr, uid, [ref('base.user_root'),ref('base.user_demo')], ref('timesheet_group1'), context)
|
||||
for resource in resources.values():
|
||||
print resource
|
||||
assert resource.get('efficiency', 0.0) == 1.0, 'Invalid resource generated.'
|
||||
-
|
||||
I check per day work hour availability of the Resource based on Working Calendar Assigned to each resource, for first day of the week.
|
||||
-
|
||||
!python {model: resource.resource}: |
|
||||
calendar_pool = self.pool.get('resource.calendar')
|
||||
resources = self.browse(cr, uid, [ref('resource_analyst'), ref('resource_designer'), ref('resource_developer')], context)
|
||||
from datetime import datetime, timedelta
|
||||
now = datetime.now()
|
||||
dt = now - timedelta(days=now.weekday())
|
||||
for resource in resources:
|
||||
result = calendar_pool.working_hours_on_day(cr, uid, resource.calendar_id, dt, context)
|
||||
assert result == 9.0, 'Wrong calculation of day work hour availability of the Resource.'
|
||||
-
|
||||
Now, resource "Developer" drafted leave on Thursday in this week.
|
||||
-
|
||||
!python {model: resource.calendar.leaves}: |
|
||||
from datetime import datetime,timedelta
|
||||
now = datetime.now()
|
||||
dt = (now - timedelta(days=now.weekday()) ) + timedelta(days=3)
|
||||
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")})
|
||||
|
||||
-
|
||||
I check Actual working hours on resource 'Developer' from this week
|
||||
-
|
||||
!python {model: resource.calendar}: |
|
||||
from datetime import datetime
|
||||
dt = datetime.now()
|
||||
calendar = self.browse(cr, uid, ref('timesheet_group1'))
|
||||
result = self.working_hours_on_day(cr, uid, calendar, dt, context)
|
||||
assert result, "No Working Our on Day for Resource has been Generated."
|
||||
-
|
||||
I Check the Resource 6.0 Hours Working Internal Timing Based on Resource Calendar.
|
||||
-
|
||||
!python {model: resource.calendar}: |
|
||||
from datetime import datetime
|
||||
dt = datetime.now()
|
||||
result = self.interval_get(cr, uid, ref('timesheet_group1'), dt, 6.0, ref('resource_analyst'))
|
||||
assert result, 'No Working Internal Timeming Generated'
|
||||
from datetime import datetime, timedelta
|
||||
now = datetime.now()
|
||||
dt_from = now - timedelta(days=now.weekday())
|
||||
dt_to = dt_from+ timedelta(days=6)
|
||||
hours = self.interval_hours_get(cr, uid, ref('timesheet_group1'), dt_from, dt_to, resource=ref('resource_developer'))
|
||||
assert hours > 27 , 'Invalid Total Week working hour calculated'
|
||||
|
||||
|
||||
-
|
||||
I check total number of working hours on resource in between three dates based on resource working calendar.
|
||||
Project Analysis work is of 20 hours which will start from Week startso i will calculate working schedule for resource Analyst for the same.
|
||||
-
|
||||
!python {model: resource.calendar}: |
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
dt_from = datetime.now()
|
||||
dt_to = dt_from + timedelta(days=3)
|
||||
hours = self.interval_hours_get(cr, uid, ref('timesheet_group1'), dt_from, dt_to)
|
||||
assert hours, 'No Working Hours Generated'
|
||||
-
|
||||
I check resource working schedule based on resource calendar for 30 Hours.
|
||||
-
|
||||
!python {model: resource.calendar}: |
|
||||
from datetime import datetime, timedelta
|
||||
dt_from = datetime.now()
|
||||
hours = self.interval_min_get(cr, uid, ref('timesheet_group1'), dt_from, 30.0, resource=ref('resource_analyst'))
|
||||
assert hours, 'No Working Schedule Generated.'
|
||||
now = datetime.now()
|
||||
work_intreval = self.interval_min_get(cr, uid, ref('timesheet_group1'), now, 20.0, resource=ref('resource_designer'))
|
||||
assert len(work_intreval) >= 5, 'Wrong Schedule Calculated'
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue