diff --git a/erpnext/hr/doctype/job_applicant/test_job_applicant.js b/erpnext/hr/doctype/job_applicant/test_job_applicant.js new file mode 100644 index 00000000000..b5391c8bf36 --- /dev/null +++ b/erpnext/hr/doctype/job_applicant/test_job_applicant.js @@ -0,0 +1,29 @@ +QUnit.module('hr'); + +QUnit.test("Test: Job Opening [HR]", function (assert) { + assert.expect(2); + let done = assert.async(); + + frappe.run_serially([ + // Job Applicant creation + () => { + frappe.tests.make('Job Applicant', [ + { applicant_name: 'Utkarsh Goswami'}, + { email_id: 'goswamiutkarsh0@gmail.com'}, + { job_title: 'software-developer'}, + { cover_letter: 'Highly skilled in designing, testing, and developing software.'+ + ' This is just a test.'} + ]); + }, + () => frappe.timeout(4), + () => frappe.set_route('List','Job Applicant'), + () => frappe.timeout(3), + () => { + assert.ok(cur_list.data.length==1, 'Job Applicant created successfully'); + assert.ok(cur_list.data[0].name=='Utkarsh Goswami - goswamiutkarsh0@gmail.com - software-developer', + 'Correct job applicant with valid job title'); + }, + () => done() + ]); +}); + diff --git a/erpnext/hr/doctype/job_opening/test_job_opening.js b/erpnext/hr/doctype/job_opening/test_job_opening.js new file mode 100644 index 00000000000..b9e6c0a8b2d --- /dev/null +++ b/erpnext/hr/doctype/job_opening/test_job_opening.js @@ -0,0 +1,27 @@ +QUnit.module('hr'); + +QUnit.test("Test: Job Opening [HR]", function (assert) { + assert.expect(2); + let done = assert.async(); + + frappe.run_serially([ + // Job Opening creation + () => { + frappe.tests.make('Job Opening', [ + { job_title: 'Software Developer'}, + { description: + 'You might be responsible for writing and coding individual'+ + ' programmes or providing an entirely new software resource.'} + ]); + }, + () => frappe.timeout(4), + () => frappe.set_route('List','Job Opening'), + () => frappe.timeout(3), + () => { + assert.ok(cur_list.data.length==1, 'Job Opening created successfully'); + assert.ok(cur_list.data[0].job_title=='Software Developer', 'Job title Correctly set'); + }, + () => done() + ]); +}); + diff --git a/erpnext/hr/doctype/offer_letter/test_offer_letter.js b/erpnext/hr/doctype/offer_letter/test_offer_letter.js new file mode 100644 index 00000000000..20695326129 --- /dev/null +++ b/erpnext/hr/doctype/offer_letter/test_offer_letter.js @@ -0,0 +1,51 @@ +QUnit.module('hr'); + +QUnit.test("Test: Offer Letter [HR]", function (assert) { + assert.expect(3); + let done = assert.async(); + frappe.run_serially([ + // Offer Letter Creation + () => { + frappe.tests.make('Offer Letter', [ + { job_applicant: 'Utkarsh Goswami - goswamiutkarsh0@gmail.com - software-developer'}, + { applicant_name: 'Utkarsh Goswami'}, + { status: 'Accepted'}, + { designation: 'Software Developer'}, + { offer_terms: [ + [ + {offer_term: 'Responsibilities'}, + {value: 'Design, installation, testing and maintenance of software systems.'} + ], + [ + {offer_term: 'Department'}, + {value: 'Research & Development'} + ], + [ + {offer_term: 'Probationary Period'}, + {value: 'The Probation period is for 3 months.'} + ] + ]}, + ]); + }, + () => frappe.timeout(8), + () => frappe.click_button('Submit'), + () => frappe.timeout(2), + () => frappe.click_button('Yes'), + () => frappe.timeout(8), + () => { + // To check if the fields are correctly set + assert.ok(cur_frm.get_field('status').value=='Accepted', + 'Status of job offer is correct'); + assert.ok(cur_frm.get_field('designation').value=='Software Developer', + 'Designation of applicant is correct'); + }, + () => frappe.set_route('List','Offer Letter','List'), + () => frappe.timeout(2), + // Checking the submission of and offer letter + () => { + assert.ok(cur_list.data[0].docstatus==1,'Offer Letter Submitted successfully'); + }, + () => frappe.timeout(4), + () => done() + ]); +}); \ No newline at end of file diff --git a/erpnext/tests/ui/tests.txt b/erpnext/tests/ui/tests.txt index dffbbafe2b1..d34bb4e6cc9 100644 --- a/erpnext/tests/ui/tests.txt +++ b/erpnext/tests/ui/tests.txt @@ -67,6 +67,9 @@ erpnext/schools/doctype/course/test_course.js erpnext/schools/doctype/program/test_program.js erpnext/hr/doctype/salary_structure/test_salary_structure.js erpnext/hr/doctype/salary_slip/test_salary_slip.js +erpnext/hr/doctype/job_opening/test_job_opening.js +erpnext/hr/doctype/job_applicant/test_job_applicant.js +erpnext/hr/doctype/offer_letter/test_offer_letter.js erpnext/schools/doctype/guardian/test_guardian.js erpnext/schools/doctype/student_admission/test_student_admission.js erpnext/schools/doctype/student_applicant/tests/test_student_applicant_dummy_data.js