[ui test] fixed tests that used fees in any way (#10279)

* course table dependency on fee structure bypassed

* testing related to fees removed

* added more students data

* codacy fix
This commit is contained in:
Zarrar 2017-08-04 10:51:26 +05:30 committed by Rushabh Mehta
parent 592add9f0a
commit 326acc3ecb
5 changed files with 94 additions and 64 deletions

View File

@ -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()
]);

View File

@ -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",

View File

@ -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()
]);
});

View File

@ -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()
]);

View File

@ -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