[ui test] leave application in HR (#10151)
* added test for leave application
* minor changes and path added
* travis fixes
* minor changes
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.js b/erpnext/hr/doctype/leave_application/test_leave_application.js
new file mode 100644
index 0000000..51e8ed6
--- /dev/null
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.js
@@ -0,0 +1,50 @@
+QUnit.module('hr');
+
+QUnit.test("Test: Leave application [HR]", function (assert) {
+ assert.expect(5);
+ let done = assert.async();
+ let today_date = frappe.datetime.nowdate();
+ let leave_date = frappe.datetime.add_days(today_date, 1); // leave for tomorrow
+
+ frappe.run_serially([
+ // test creating leave application
+ () => frappe.db.get_value('Employee', {'employee_name':'Test Employee 1'}, 'name'),
+ (employee) => {
+ return frappe.tests.make('Leave Application', [
+ {leave_type: "Test Leave type"},
+ {from_date: leave_date}, // for today
+ {to_date: leave_date},
+ {half_day: 1},
+ {employee: employee.message.name},
+ {leave_approver: "Administrator"},
+ {follow_via_email: 0}
+ ]);
+ },
+ () => frappe.timeout(1),
+ // check calculated total leave days
+ () => assert.equal("0.5", cur_frm.doc.total_leave_days,
+ "leave application for half day"),
+ () => assert.ok(!cur_frm.doc.docstatus,
+ "leave application not submitted with status as open"),
+ () => cur_frm.set_value("status", "Approved"), // approve the application [as administrator]
+ () => frappe.timeout(0.5),
+ // save form
+ () => cur_frm.save(),
+ () => frappe.timeout(1),
+ () => cur_frm.savesubmit(),
+ () => frappe.timeout(1),
+ () => frappe.click_button('Yes'),
+ () => frappe.timeout(1),
+ () => assert.ok(cur_frm.doc.docstatus,
+ "leave application submitted after approval"),
+ // check auto filled posting date [today]
+ () => assert.equal(today_date, cur_frm.doc.posting_date,
+ "posting date correctly set"),
+ () => frappe.set_route("List", "Leave Application", "List"),
+ () => frappe.timeout(1),
+ // check approved application in list
+ () => assert.deepEqual(["Test Employee 1", "Approved"], [cur_list.data[0].employee_name, cur_list.data[0].status],
+ "leave for correct employee is approved"),
+ () => done()
+ ]);
+});
\ No newline at end of file
diff --git a/erpnext/tests/ui/tests.txt b/erpnext/tests/ui/tests.txt
index 60ca47c..a8c1a7e 100644
--- a/erpnext/tests/ui/tests.txt
+++ b/erpnext/tests/ui/tests.txt
@@ -23,6 +23,7 @@
erpnext/hr/doctype/leave_type/test_leave_type.js
erpnext/hr/doctype/leave_control_panel/test_leave_control_panel.js
erpnext/hr/doctype/leave_allocation/test_leave_allocation.js
+erpnext/hr/doctype/leave_application/test_leave_application.js
erpnext/schools/doctype/academic_year/test_academic_year.js
erpnext/schools/doctype/academic_term/test_academic_term.js
erpnext/schools/doctype/school_settings/test_school_settings.js