ATF Tests — تفاصيل الاختبارات
Test 1 — حساب الأيام
Steps:
1. Create a Record.
Table: x_786686_hr_leave_req_v2
Set: u_start_date = 2026-06-01, u_end_date = 2026-06-05
2. Run Server Side Script (assertion):
// Mon..Fri = 5 business days
(function(outputs, steps, stepResult, assertEqual) {
var gr = new GlideRecord('x_786686_hr_leave_req_v2');
gr.get(steps('step1').record_id);
assertEqual({ name: 'days', expected: '5', actual: gr.getValue('u_days_count') });
})(outputs, steps, stepResult, assertEqual);
Test 2 — الإرسال يطلق الحدث
Steps:
1. Create record with u_state = submitted.
2. Server Side Script: query sysevent for x_786686_hr_leave.leave_v2.submitted.
Test 3 — الموافقة تدقّق وتحدّث الرصيد
Steps:
1. Create approved-path record.
2. Update u_state = approved.
3. Record Query على x_786686_hr_leave_audit_v2 → يوجد سجل بـ u_new_state = approved.
Test 4 — ACL
Steps:
1. Impersonate موظف A، أنشئ طلبًا.
2. Impersonate موظف B.
3. Record Query → لا يرى طلب A.