-
Notifications
You must be signed in to change notification settings - Fork 0
/
PA_ATF_TestScriptInclude
100 lines (90 loc) · 4.27 KB
/
PA_ATF_TestScriptInclude
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
function isEmployeeInCollection(crewMembers, empID) {
var index;
for (index = 0; index < crewMembers.length; index++) {
if (crewMembers[index].employee_number.startsWith(empID))
return true;
}
return false;
}
(function(outputs, steps, stepResult, assertEqual) {
// add test script here
try {
var errorMessage = '';
var paUtil = new pa_util();
var supervisors = paUtil.getSupervisors();
if (supervisors.length == 0)
errorMessage += "No Supervisors returned from pa_util.getSupervisors().";
var crewMembers = paUtil.getEmployees();
if (crewMembers.length == 0)
errorMessage += "No Crew Members returned from pa_util.getEmployees().";
// test to see if correct employees are returned
var empID;
var fcmGR = new GlideRecord("u_field_crew_member");
fcmGR.addEncodedQuery("u_status=0f8aabfcdb529b40b8a5fb16bf961944");
fcmGR.setLimit(1);
fcmGR.query();
if (fcmGR.next()) {
empID = fcmGR.getValue('u_employeeid');
//active employee in collection?
if (isEmployeeInCollection(crewMembers, empID) == 'false')
errorMessage += "Active Crew Member: " + empID + " not returned by getEmployees";
}
var fcmGR1 = new GlideRecord("u_field_crew_member");
fcmGR1.addEncodedQuery("u_status!=0f8aabfcdb529b40b8a5fb16bf961944^ORu_status=NULL^u_termination_dateRELATIVEGE@dayofweek@ago@29");
fcmGR1.setLimit(1);
fcmGR1.query();
if (fcmGR1.next()) {
empID = fcmGR1.getValue('u_employeeid');
// employee inactive recently in collection?
if(isEmployeeInCollection(crewMembers, empID) == 'false')
errorMessage += "Recently inactive Crew Member: " + empID + " not returned by getEmployees";
}
var fcmGR2 = new GlideRecord("u_field_crew_member");
fcmGR2.addEncodedQuery("u_status!=0f8aabfcdb529b40b8a5fb16bf961944^ORu_status=NULL^u_termination_dateRELATIVELE@dayofweek@ago@31");
fcmGR2.setLimit(1);
fcmGR2.query();
if (fcmGR2.next()) {
empID = fcmGR2.getValue('u_employeeid');
// long inactive employee in collection?
if(isEmployeeInCollection(crewMembers, empID) == 'true')
errorMessage += "Long inactive Crew Member: " + empID + " was returned by getEmployees";
}
var hoursTypes = paUtil.getPayrollHoursTypes('Hourly');
if (hoursTypes.length == 0)
errorMessage += "No Hours Types returned from pa_util.hoursTypes('Hourly').";
var premiums = paUtil.getPayrollHoursTypes('Premium');
if (premiums.length == 0)
errorMessage += "No Premium Types returned from pa_util.hoursTypes('Premium').";
var hoursRules = paUtil.getPayrollHoursRules();
if (hoursRules.length == 0)
errorMessage += "No Hours Type rules returned from pa_util.getPayrollHoursRules().";
var roles = paUtil.getFieldEmployeeTypes();
if (roles.length == 0)
errorMessage += "No Field Employee Types returned from pa_util.getFieldEmployeeTypes().";
var jobs = paUtil.getJobNumbers();
var jobCount = (jobs.length + 1) / 8;
if (jobCount.length == 0)
errorMessage += "No Job Numbers returned from pa_util.getJobNumbers().";
//getFieldEmployeeTypes
if (errorMessage.length > 0) {
stepResult.setOutputMessage(errorMessage);
return false;
} else {
var msg = "Functions in pa_util are returning ";
msg += supervisors.length + " supervisors, ";
msg += crewMembers.length + " crew employees, ";
msg += hoursTypes.length + " Hours Types, ";
msg += premiums.length + " Premium Types, ";
msg += roles.length + " crew roles. ";
msg += jobCount + " job numbers. ";
msg += hoursRules.length + " Rules for Hours Type";
stepResult.setOutputMessage(msg);
return true;
}
} catch (ex) {
stepResult.setOutputMessage("Exception in test : " + ex.message);
return false;
}
})(outputs, steps, stepResult, assertEqual);
// uncomment the next line to execute this script as a jasmine test
//jasmine.getEnv().execute();