diff --git a/erpnext/schools/doctype/program/test_program.js b/erpnext/schools/doctype/program/test_program.js index 16bc932101..a14fe978eb 100644 --- a/erpnext/schools/doctype/program/test_program.js +++ b/erpnext/schools/doctype/program/test_program.js @@ -2,7 +2,7 @@ QUnit.module('schools'); QUnit.test('Test: Program', function(assert){ - assert.expect(11); + assert.expect(6); let done = assert.async(); let fee_structure_code; frappe.run_serially([ @@ -21,45 +21,6 @@ QUnit.test('Test: Program', function(assert){ ]); }, - () => cur_frm.save(), - // Setting up Fee Category to select in Program doctype - () => { - return frappe.tests.make('Fee Category', [ - {category_name: 'Reservation'}, - {description: 'Special Provision'} - ]); - }, - // Setting up Fee Structure to be selected in Program doctype - () => { - return frappe.tests.make('Fee Structure', [ - {program: 'Standard Test'}, - {academic_term: '2016-17 (Semester 1)'}, - {student_category: 'Reservation'}, - {components: [ - [ - {fees_category: 'Reservation'}, - {amount: 20000} - ] - ]} - ]); - }, - () => {fee_structure_code = frappe.get_route()[2];}, // Storing naming convention of Fee Structure entry - () => frappe.set_route('Form', ('Program/Standard Test')), // Routing to our current Program doctype - - () => $('.shaded-section~ .visible-section+ .visible-section .grid-add-row').trigger('click'), // clicking on Add Row button - // Storing data that were inter-dependent - () => cur_frm.doc.fees[0].academic_term = '2016-17 (Semester 1)', - () => cur_frm.doc.fees[0].student_category = 'Reservation', - () => cur_frm.doc.fees[0].due_date = '2016-08-20', - () => $('.error').trigger('click'), - () => $('.bold.input-sm').trigger('focus'), - () => frappe.timeout(1), - () => $('.bold.input-sm').trigger('focus'), - () => $('.bold.input-sm').val(fee_structure_code), - () => $('.bold.input-sm').trigger('focus'), - () => frappe.timeout(1), - () => cur_frm.save(), - () => { assert.ok(cur_frm.doc.program_name == 'Standard Test'); assert.ok(cur_frm.doc.program_code == 'Standard Test'); @@ -67,11 +28,6 @@ QUnit.test('Test: Program', function(assert){ assert.ok(cur_frm.doc.program_abbreviation == 'Standard Test'); assert.ok(cur_frm.doc.courses[0].course == 'Test_Sub'); assert.ok(cur_frm.doc.courses[0].required == true); - assert.ok(cur_frm.doc.fees[0].academic_term == '2016-17 (Semester 1)'); - assert.ok(cur_frm.doc.fees[0].fee_structure == fee_structure_code); - assert.ok(cur_frm.doc.fees[0].student_category == 'Reservation'); - assert.ok(cur_frm.doc.fees[0].due_date == '2016-08-20'); - assert.ok(cur_frm.doc.fees[0].amount == 20000); }, () => done() ]); diff --git a/erpnext/schools/doctype/program_enrollment/program_enrollment.js b/erpnext/schools/doctype/program_enrollment/program_enrollment.js index d1b703b8ca..8418e85526 100644 --- a/erpnext/schools/doctype/program_enrollment/program_enrollment.js +++ b/erpnext/schools/doctype/program_enrollment/program_enrollment.js @@ -43,6 +43,7 @@ frappe.ui.form.on("Program Enrollment", { }, program: function(frm) { + frm.events.get_courses(frm); if (frm.doc.program) { frappe.call({ method: "erpnext.schools.api.get_fee_schedule", diff --git a/erpnext/schools/doctype/student_applicant/tests/test_student_applicant_dummy_data.js b/erpnext/schools/doctype/student_applicant/tests/test_student_applicant_dummy_data.js new file mode 100644 index 0000000000..26244ab184 --- /dev/null +++ b/erpnext/schools/doctype/student_applicant/tests/test_student_applicant_dummy_data.js @@ -0,0 +1,87 @@ +QUnit.module('Admission'); + +QUnit.test('Make Students', function(assert){ + assert.expect(0); + let done = assert.async(); + let tasks = []; + let loop = [1,2,3,4]; + let fname; + + frappe.run_serially([ + // Making School House to be used in this test and later + () => frappe.set_route('Form', 'School House/New School House'), + () => frappe.timeout(0.5), + () => cur_frm.doc.house_name = 'Test_house', + () => cur_frm.save(), + + // Making Student Applicant entries + () => { + loop.forEach(index => { + tasks.push(() => { + fname = "Fname" + index; + + return frappe.tests.make('Student Applicant', [ + {first_name: fname}, + {middle_name: "Mname"}, + {last_name: "Lname"}, + {program: "Standard Test"}, + {student_admission: "2016-17 Admissions"}, + {date_of_birth: '1995-08-20'}, + {student_email_id: ('test' + (index+3) + '@testmail.com')}, + {gender: 'Male'}, + {student_mobile_number: (9898980000 + index)}, + {blood_group: 'O+'}, + {address_line_1: 'Test appt, Test Society,'}, + {address_line_2: 'Test district, Test city.'}, + {city: 'Test'}, + {state: 'Test'}, + {pincode: '395007'} + ]); + }); + }); + return frappe.run_serially(tasks); + }, + + // Using Program Enrollment Tool to enroll all dummy student at once + () => frappe.set_route('Form', 'Program Enrollment Tool'), + () => { + cur_frm.set_value("get_students_from", "Student Applicants"); + cur_frm.set_value("academic_year", "2016-17"); + cur_frm.set_value("program", "Standard Test"); + }, + () => frappe.tests.click_button("Get Students"), + () => frappe.timeout(1), + () => frappe.tests.click_button("Enroll Students"), + () => frappe.timeout(1.5), + () => frappe.tests.click_button("Close"), + + // Submitting required data for each enrolled Student + () => { + tasks = []; + loop.forEach(index => { + tasks.push( + () => {fname = "Fname" + index + " Mname Lname";}, + () => frappe.set_route('List', 'Program Enrollment/List'), + () => frappe.timeout(0.6), + () => frappe.tests.click_link(fname), + () => frappe.timeout(0.4), + () => { + cur_frm.set_value('program', 'Standard Test'); + cur_frm.set_value('student_category', 'Reservation'); + cur_frm.set_value('student_batch_name', 'A'); + cur_frm.set_value('academic_year', '2016-17'); + cur_frm.set_value('academic_term', '2016-17 (Semester 1)'); + cur_frm.set_value('school_house', 'Test_house'); + }, + () => cur_frm.save(), + () => frappe.timeout(0.5), + () => frappe.tests.click_button('Submit'), + () => frappe.tests.click_button('Yes'), + () => frappe.timeout(0.5) + ); + }); + return frappe.run_serially(tasks); + }, + () => done() + ]); +}); \ No newline at end of file diff --git a/erpnext/schools/doctype/student_applicant/tests/test_student_applicant_options.js b/erpnext/schools/doctype/student_applicant/tests/test_student_applicant_options.js index 61f36e2cbf..b983afd997 100644 --- a/erpnext/schools/doctype/student_applicant/tests/test_student_applicant_options.js +++ b/erpnext/schools/doctype/student_applicant/tests/test_student_applicant_options.js @@ -2,14 +2,10 @@ QUnit.module('schools'); QUnit.test('test student applicant', function(assert){ - assert.expect(12); + assert.expect(11); let done = assert.async(); let testing_status; frappe.run_serially([ - () => frappe.set_route('Form', 'School House/New School House'), - () => frappe.timeout(0.5), - () => cur_frm.doc.house_name = 'Test_house', - () => cur_frm.save(), () => frappe.set_route('List', 'Student Applicant'), () => frappe.timeout(0.5), () => {$(`a:contains("Fname Mname Lname"):visible`)[0].click();}, @@ -97,26 +93,15 @@ QUnit.test('test student applicant', function(assert){ cur_frm.set_value('academic_year', '2016-17'); cur_frm.set_value('academic_term', '2016-17 (Semester 1)'); cur_frm.set_value('school_house', 'Test_house'); - $('a:contains("Fees"):visible').click(); - }, - () => frappe.timeout(1), - () => { - cur_frm.doc.fees[0].student_category = "Reservation"; }, () => cur_frm.save(), + // Submitting Program Enrollment form for our Test Student - () => frappe.timeout(0.5), + () => frappe.timeout(1), () => frappe.tests.click_button('Submit'), () => frappe.tests.click_button('Yes'), () => { - testing_status = $('.msgprint').text(); - assert.ok("Fee Records Created" == (testing_status.substring(0,19)), "Fee record created for enrolled student test"); - }, - () => frappe.timeout(0.5), - () => frappe.tests.click_button('Close'), - () => { - testing_status = $('h1').text(); - assert.ok(testing_status.indexOf('Submitted') != -1, "Program enrollment successfully submitted"); // Checking if the program enrollment entry shows submitted or not + assert.ok(cur_frm.doc.docstatus == 1, "Program enrollment successfully submitted"); }, () => done() ]); diff --git a/erpnext/tests/ui/tests.txt b/erpnext/tests/ui/tests.txt index bc930b8bbb..b08c18ec87 100644 --- a/erpnext/tests/ui/tests.txt +++ b/erpnext/tests/ui/tests.txt @@ -53,5 +53,6 @@ erpnext/schools/doctype/course/test_course.js erpnext/schools/doctype/program/test_program.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 erpnext/schools/doctype/student_applicant/tests/test_student_applicant.js erpnext/schools/doctype/student_applicant/tests/test_student_applicant_options.js \ No newline at end of file