From cbaa56a27414d6efa26435059916700cfc90e8ad Mon Sep 17 00:00:00 2001 From: "Jagdish Panchal (Open ERP)" Date: Fri, 2 Dec 2011 12:49:32 +0530 Subject: [PATCH] [IMP] hr_attendance: clean test case bzr revid: jap@tinyerp.com-20111202071932-1rs8s7jn4h0heb8d --- addons/hr_attendance/__openerp__.py | 4 +- .../hr_attendance/test/attendance_process.yml | 75 +++++++++++ .../hr_attendance/test/test_hr_attendance.yml | 116 ------------------ 3 files changed, 77 insertions(+), 118 deletions(-) create mode 100644 addons/hr_attendance/test/attendance_process.yml delete mode 100644 addons/hr_attendance/test/test_hr_attendance.yml diff --git a/addons/hr_attendance/__openerp__.py b/addons/hr_attendance/__openerp__.py index 5f0054c3634..31ff8ece07d 100644 --- a/addons/hr_attendance/__openerp__.py +++ b/addons/hr_attendance/__openerp__.py @@ -47,8 +47,8 @@ actions(Sign in/Sign out) performed by them. 'wizard/hr_attendance_sign_in_out_view.xml', ], 'demo_xml': ['hr_attendance_demo.xml'], - 'test': ['test/test_hr_attendance.yml', - 'test/hr_attendance_report.yml' + 'test': ['test/attendance_process.yml', + 'test/hr_attendance_report.yml', ], 'installable': True, 'active': False, diff --git a/addons/hr_attendance/test/attendance_process.yml b/addons/hr_attendance/test/attendance_process.yml new file mode 100644 index 00000000000..6a82255fcc7 --- /dev/null +++ b/addons/hr_attendance/test/attendance_process.yml @@ -0,0 +1,75 @@ +- + In order to test attendance process in OpenERP, At the time of login, I create an attendance with sign in action. +- + !record {model: hr.attendance, id: hr_attendance_0}: + action: sign_in + employee_id: 'hr.employee3' + name: !eval "'%s-01-01 19:08:08' %(datetime.now().year)" +- + I check that Employee is "Present". +- + !assert {model: hr.employee, id: hr.employee3}: + - state == 'present' +- + At the time of logout, I create an attendance with "Sign Out" action. +- + !record {model: hr.attendance, id: hr_attendance_1}: + action: sign_out + employee_id: 'hr.employee3' + name: !eval "'%s-01-01 19:10:55' %(datetime.now().year)" +- + I check that Employee is Absent. +- + !assert {model: hr.employee, id: hr.employee3}: + - state == 'absent' +- + I will use "Sign In/Sign Out" wizard for attendances. +- + !record {model: hr.sign.in.out, id: employee_sign_in}: + name: Antoine Philippe + state: absent +- + I click on this wizard to login. +- + !python {model: hr.sign.in.out}: | + obj_attendance = self.pool.get('hr.employee') + emp_id = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Antoine Philippe")]) + if emp_id: + employee = obj_attendance.read(cr, uid, emp_id)[0] + self.write(cr, uid, [ref('employee_sign_in')], {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_id[0]}) + self.si_check(cr, uid, [ref("employee_sign_in")]) +- + I check that Employee is "Present". +- + !assert {model: hr.employee, id: hr.employee3}: + - state == 'present' +- + I click on "Sign In" button of this wizard, this will Open a new form which ask for Last Sign Out date. +- + !python {model: hr.sign.in.out}: | + obj_attendance = self.pool.get('hr.employee') + emp_id = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Antoine Philippe")]) + if emp_id: + employee = obj_attendance.read(cr, uid, emp_id)[0] + self.write(cr, uid, [ref('employee_sign_in')], {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_id[0]}) + self.si_check(cr, uid, [ref("employee_sign_in")]) +- + I select Last Sign Out date. +- + !record {model: hr.sign.in.out.ask, id: hr_sign_in_out_ask_Antoine Philippe}: + last_time: !eval time.strftime('%Y-%m-%d %H:%M:%S') + name: Antoine Philippe +- + Now I check employee is sing in. +- + !python {model: hr.sign.in.out.ask}: | + obj_attendance = self.pool.get('hr.employee') + emp_id = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Antoine Philippe")]) + if emp_id: + employee = obj_attendance.read(cr, uid, emp_id)[0] + self.write(cr, uid, [ref('hr_sign_in_out_ask_Antoine Philippe')], {'emp_id': emp_id[0]}) +- + Finally i check the employee is present. +- + !assert {model: hr.employee, id: hr.employee3}: + - state == 'present' \ No newline at end of file diff --git a/addons/hr_attendance/test/test_hr_attendance.yml b/addons/hr_attendance/test/test_hr_attendance.yml deleted file mode 100644 index 01681f86ec9..00000000000 --- a/addons/hr_attendance/test/test_hr_attendance.yml +++ /dev/null @@ -1,116 +0,0 @@ -- - In order to test hr_attendance module in OpenERP, I will first create new attendance reasons and perform Sign In/Sign Out operations. - -- - I create a new employee "Mark Johnson". -- - !record {model: hr.employee, id: hr_employee_employee0}: - address_home_id: base.res_partner_address_1 - company_id: base.main_company - gender: male - name: Mark Johnson - user_id: base.user_root - -- - I create a new attendance reason "Login" for Sign In. -- - !record {model: hr.action.reason, id: hr_action_reason_login0}: - name: Login - action_type: sign_in -- - I create second attendance reason "Logout" for Sign Out. -- - !record {model: hr.action.reason, id: hr_action_reason_logout0}: - name: Logout - action_type: sign_out -- - Now, at the time of login, I create an attendance with "Sign In" action and proper reason. -- - !record {model: hr.attendance, id: hr_attendance_0}: - action: sign_in - action_desc: 'hr_action_reason_login0' - employee_id: 'hr_employee_employee0' - name: !eval "'%s-01-01 19:08:08' %(datetime.now().year)" -- - I check that Employee state is "Present". -- - !assert {model: hr.employee, id: hr_employee_employee0}: - - state == 'present' - -- - At the time of logout, I create an attendance with "Sign Out" action. -- - !record {model: hr.attendance, id: hr_attendance_1}: - action: sign_out - employee_id: 'hr_employee_employee0' - name: !eval "'%s-01-01 19:10:55' %(datetime.now().year)" -- - I check that Employee state is Absent. -- - !assert {model: hr.employee, id: hr_employee_employee0}: - - state == 'absent' - -- - I will use "Sign In/Sign Out" wizard for attendances. -- - !record {model: hr.sign.in.out, id: hr_sign_in_out_markjohnson0}: - name: Mark Johnson - state: absent - -- - I click on "Sign In" button of this wizard to login. -- - !python {model: hr.sign.in.out}: | - obj_attendance = self.pool.get('hr.employee') - emp_id = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Mark Johnson")]) - if emp_id: - employee = obj_attendance.read(cr, uid, emp_id)[0] - self.write(cr, uid, [ref('hr_sign_in_out_markjohnson0')], {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_id[0]}) - self.si_check(cr, uid, [ref("hr_sign_in_out_markjohnson0")], {"active_id": ref("hr_employee_employee0")}) - -- - I check that Employee state is "Present". -- - !assert {model: hr.employee, id: hr_employee_employee0}: - - state == 'present' - -- - I forgot to "Sign Out" Yesterday and want to sign in Today using This wizard. -- - !record {model: hr.sign.in.out, id: hr_sign_in_out_markjohnson0}: - name: Mark Johnson - state: present -- - I click on "Sign In" button of this wizard, this will Open a new form which ask for Last Sign Out date. -- - !python {model: hr.sign.in.out}: | - obj_attendance = self.pool.get('hr.employee') - emp_id = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Mark Johnson")]) - if emp_id: - employee = obj_attendance.read(cr, uid, emp_id)[0] - self.write(cr, uid, [ref('hr_sign_in_out_markjohnson0')], {'name': employee['name'], 'state': employee['state'], 'emp_id': emp_id[0]}) - self.si_check(cr, uid, [ref("hr_sign_in_out_markjohnson0")]) -- - I select Last Sign Out date. -- - !record {model: hr.sign.in.out.ask, id: hr_sign_in_out_ask_markjohnson0}: - last_time: !eval time.strftime('%Y-%m-%d %H:%M:%S') - name: Mark Johnson -- - Now I click on "Sign In" button of this wizard. -- - !python {model: hr.sign.in.out.ask}: | - obj_attendance = self.pool.get('hr.employee') - emp_id = obj_attendance.search(cr, uid, [('user_id', '=', uid), ('name', '=', "Mark Johnson")]) - if emp_id: - employee = obj_attendance.read(cr, uid, emp_id)[0] - self.write(cr, uid, [ref('hr_sign_in_out_ask_markjohnson0')], {'emp_id': emp_id[0]}) - #self.sign_in(cr, uid, [ref("hr_sign_in_out_ask_markjohnson0")], {"active_ids": [ref("hr_attendance.menu_hr_attendance_sigh_in_out")]}) - -- - Finally i will check the state of the employee is present. -- - !record {model: hr.sign.in.out, id: hr_sign_in_out_markjohnson0}: - name: Mark Johnson - state: present -