50 lines
2.1 KiB
YAML
50 lines
2.1 KiB
YAML
|
-
|
||
|
Create a user as 'HR Recruitment Officer'
|
||
|
-
|
||
|
!record {model: res.users, id: res_users_hr_recruitment_officer, view: False}:
|
||
|
company_id: base.main_company
|
||
|
name: HR Recruitment Officer
|
||
|
login: hrro
|
||
|
email: hrofcr@yourcompany.com
|
||
|
-
|
||
|
I added groups for HR Recruitment Officer.
|
||
|
-
|
||
|
!record {model: res.users, id: res_users_hr_recruitment_officer}:
|
||
|
groups_id:
|
||
|
- hr_recruitment.group_hr_recruitment_user
|
||
|
-
|
||
|
In Order to test process of Recruitment so giving HR officer's rights,
|
||
|
-
|
||
|
!context
|
||
|
uid: 'res_users_hr_recruitment_officer'
|
||
|
-
|
||
|
An applicant is interested in the job position. So he sends a resume by email.
|
||
|
-
|
||
|
!python {model: mail.thread, id: False}: |
|
||
|
import odoo
|
||
|
request_file = open(odoo.modules.module.get_module_resource('hr_recruitment','test', 'resume.eml'),'rb')
|
||
|
job_id = self.env.ref('hr.job_developer').id
|
||
|
request_message = request_file.read()
|
||
|
self.message_process('hr.applicant', request_message, custom_values={"job_id": job_id})
|
||
|
-
|
||
|
After getting the mail, I check the details of the new applicant.
|
||
|
-
|
||
|
!python {model: hr.applicant, id: False}: |
|
||
|
applicant = self.search([('email_from','=', 'Mr. Richard Anderson <Richard_Anderson@yahoo.com>')], limit=1)
|
||
|
assert applicant, "Applicant is not created after getting the mail"
|
||
|
resume_ids = self.env['ir.attachment'].search([('datas_fname','=','resume.pdf'),('res_model','=',self._name),('res_id','=',applicant.id)])
|
||
|
assert applicant.name == "Application for the post of Jr.application Programmer.", "Applicant name does not match."
|
||
|
assert applicant.stage_id.id == ref('hr_recruitment.stage_job1'), "Stage should be 'Initial qualification' and is '%s'." % (applicant.stage_id.name)
|
||
|
assert applicant.stage_id.sequence == 1, "Applicant stage sequence should be 1."
|
||
|
assert len(resume_ids), "Resume is not attached."
|
||
|
-
|
||
|
I assign the Job position to the applicant
|
||
|
-
|
||
|
!python {model: hr.applicant, id: hr_case_programmer}: |
|
||
|
self.write({'job_id':ref('hr.job_developer')})
|
||
|
-
|
||
|
I schedule meeting with applicant for interview.
|
||
|
-
|
||
|
!python {model: hr.applicant, id: hr_case_programmer}: |
|
||
|
self.action_makeMeeting()
|