I have tried multiples ways to achieve more than 80% code coverage for this apex class but fail to do that. I have tried (Test.isRunningTest()) as well to cover the single query.
`public with sharing class FetchMultipleRecords { // Method to fetch all the quantification records from Drawing Line Items Object.
@AuraEnabled(cacheable=true)
public static String selectDPRRecord(String dprID) {
System.debug('dprID: ' + dprID);
List<DPR__c> dpr = [SELECT Id, Execution__c FROM DPR__c WHERE Id = :dprID LIMIT 1];
return dpr[0].Execution__c;
}
@AuraEnabled
public static void updateDPRPlanforTomorrow(String dprID, String planforTomorrow, Date nextWorkingDate, Decimal nooflabors, Decimal noofhours ) {
System.debug('dprID: ' + dprID + ' | planforTomorrow: ' + planforTomorrow + '| nextWorkingDate: '+ nextWorkingDate + '| nooflabors:' + nooflabors +'| noofhours : '+noofhours);
DPR__c dpr = [SELECT Id, Execution__c, Plan_for_Tomorrow__c,Number_of_Labors__c,Number_of_Hours__c FROM DPR__c WHERE Id = :dprID LIMIT 1];
DPR__c updateDpr = dpr;
updateDpr.Plan_for_Tomorrow__c = planforTomorrow;
updateDpr.DPR_Generated_By__c = UserInfo.getUserId();
updateDpr.DPR_generated_date__c = System.Date.today();
updateDpr.Next_Working_Date__c = nextWorkingDate;
updateDpr.Number_of_Labors__c = nooflabors;
updateDpr.Number_of_Hours__c = noofhours;
update dpr;
System.debug('dprID: ' + dprID + ' | planforTomorrow: ' + planforTomorrow + '| nextWorkingDate: '+ nextWorkingDate + '| nooflabors:' + nooflabors +'| noofhours : '+noofhours);
}
@AuraEnabled(Cacheable=true)
public static List<Installation__c> getActivities(String projectName) {
return [
SELECT Id, Name, Drawing_ID__r.Formula_Name__c, Floor__c, Installation_Activity__c, Execution__r.Name
FROM Installation__c
WHERE Execution__c = :projectName AND No_of_Line_Items__c>0
];
}
@AuraEnabled(Cacheable=true)
public static List<Installation_Line_Items__c> getInstallationActivitiesForFloor(
String installationActivity,
String floor,
String installationId
) {
return [
SELECT
Id,
Floor__c,
Installation_Activity__c,
Project_Items__c,
Project_Items__r.SAP_Item_Code__c,
Project_Items__r.Item_Description__c,
Project_Items__r.Total_BOQ_Quantity__c,
Project_Items__r.Total_installed_Quantity__c,
Project_Items__r.BOQ_Description__c,
Project_Items__r.Total_Shop_Drawing_Quantity__c,
Installation__r.Execution__r.Name,
Floor_cutting_JB_floor__c,
Floor_chipping_JB_floor__c,
Raceway_Junction_box_marking_JB__c,
Raceway_cutting_laying_JB_floor__c,
Raceway_earthing_JB_floor__c,
Raceway_conduit_laying_JB_floor__c,
Raceway_clamp_installation_JB_floor__c,
Raceway_filling_JB_floor__c,
Junction_box_installation_JB_floor__c,
Junction_box_packing_JB_floor__c,
av_conduit_installation_conduit__c,
AV_Switch_plate_installation_SS__c,
AV_power_point_circuit_wires_laying__c,
Access_security_Switch_plate_installat__c,
Access_security_power_point_circuit__c,
Armoured_cable_laying_HT__c,
Armoured_cable_laying__c,
bms_conduit_installation_Conduit__c,
Back_box_installation_SS__c,
Back_box_marking_SS__c,
Busduct_installation__c,
Bucholz_relay_installation__c,
CCTV_conduit_installation_Conduit__c,
CSS_USS_Installation_on_foundation__c,
CSS_neutral_earth_strip_w_terminal__c,
Cable_cutting_Armoured__c,
Cable_cutting_HT__c,
Cable_dressing_Armoured__c,
Cable_dressing_HT__c,
Cable_laying_dressing_inside_equiments__c,
Cable_tag_installation_ENDT__c,
Cable_tag_installation_Earthing_cable__c,
Cable_tag_installation_HT__c,
Cable_tray_Ceiling_trunking_bend_fabricn__c,
Cable_tray_Ceiling_trunking_bend_install__c,
Cable_terimination_in_busbar__c,
Cable_terimination_in_busbar_ENDT__c,
Cable_tray_Ceiling_trunking_clamp_instal__c,
Cable_tray_Ceiling_trunking_laying__c,
Cable_tray_Ceiling_trunking_cover_laying__c,
Cable_tray_Ceiling_trunking_support_inst__c,
Ceiling_rose_installation__c,
Circuit_conduit_Trunking_terminate_wit__c,
Circuit_ferruling_Lighting__c,
Circuit_ferruling_Raceway__c,
Circuit_laying_in_DB_frame_and_DB__c,
Connec_busbar_Panel__c,
Connect_busbar_HT__c,
Connect_cable_shield_with_body_earthing__c,
Connect_earthing_strip_with_earthing_ter__c,
Connect_earthing_strip_with_termination__c,
Connect_neutral_earth_strip_w_terminal__c,
Conservator_Tank_installation__c,
DB_Chart_DB_tag_hanging__c,
DB_Trunking_installation__c,
DB_Wall_marking__c,
DB_Installation__c,
DB_dressing_work__c,
Earth_box_installation_Earthing_cable__c,
Earthing_cable_laying__c,
Earthing_cable_termination_Earthing_cab__c,
Earthing_clamp_installation__c,
Earthing_strip_connection__c,
Earthing_strip_laying__c,
Earthing_strip_route_marking__c,
Explosion_vent_installation__c,
Filling_oil_tank_of_transformer__c,
Foundation_fabrication__c,
Foundation_footprint_marking_CSS__c,
Foundation_footprint_marking__c,
Gland_and_earthing_ring_fixing_in_cable__c,
Gland_earthing_connection_ENDT__c,
HT_Cable_laying_inside_cable_chamber__c,
HT_Cable_shield_connected_w_earth_strip__c,
HT_Cable_tag_installation__c,
HT_Cable_terimination_in_busbar__c,
HT_Lugs_installation_and_crimping__c,
Highest_Labor_on_a_day__c,
HT_make_hole_or_cut_in_gland_plate__c,
Input_and_output_cable_laying_work__c,
HVAC_power_points_conduit_installation__c,
jb_cover_installation_conduit__c,
Installation_of_all_accessories__c,
LV_Switch_plate_installation_SS__c,
LV_power_point_circuit_wires_laying__c,
Light_Fixture_Installation__c,
Light_fixtures_marking__c,
Lay_Cable_in_equipment_s_cable_chamber__c,
Light_fixtures_tagging__c,
Lighting_conduit_installation_Conduit__c,
Light_fixtures_wiring_connection__c,
Lighting_point_circuit_wires_laying__c,
Line_out_cable_tray_Ceiling_trunking_rou__c,
Lugs_installation_and_crimping_ENDT__c,
Line_out_conduit_route_Conduit__c,
Lugs_installation_and_crimping_HT__c,
Mark_location_of_equipment_s_on_floor__c,
Mark_the_footprint_of_UPS_inverter_bat__c,
Outer_cover_installation__c,
Panel_installation_HT__c,
partition_conduit_dropping_conduit__c,
Panel_installation__c,
Phase_reversal_box_bustduct_installed__c,
Power_conduit_installation_Conduit__c,
RAW_Power_point_circuit_wires_laying__c,
Radiator_installation__c,
Raw_power_cable_laying_Raceway__c,
Raw_power_switch_plate_installation_SS__c,
Switch_plate_connection_with_circuit_S__c,
Silica_Breather_installation__c,
Saddle_spacer_installation_Conduit__c,
Switch_socket_looping_SS__c,
Rising_mains_installation__c,
Switch_plate_tagging_SS__c,
Switch_socket_assemble_SS__c,
Tightening_of_all_joints__c,
Transformer_shifted_at_desire_location__c,
UPS_Power_point_circuit_wires_laying__c,
UPS_inverter_batteries_commissioning__c,
UPS_inverter_batteries_installation__c,
UPS_power_cable_laying_Raceway__c,
UPS_power_switch_plate_installation_SS__c,
VAV_HVAC_Switch_plate_installation_SS__c,
VAV_HVAC_power_point_circuit_wires_lay__c,
WIFI_conduit_installation_Conduit__c,
Workstations_switch_plate_installation__c,
base_frame_installation_HT__c,
align_all_pieces_of_bus_duct__c,
base_frame_installation__c,
check_continuity_IR_values_after_cut_AR__c,
check_continuity_IR_values_after_cut_HT__c,
check_continuity_IR_values_before_cut_AR__c,
check_continuity_IR_values_before_cut_HT__c,
connect_control_wiring_Panel__c,
control_cable_laying_b_w_MB_and_AUX__c,
connect_control_wiring_HT__c,
make_the_appropriate_size_of_hole_ENDT__c,
line_out_route_marking_of_bus_duct__c,
make_the_appropriate_size_of_hole_HT__c,
marking_of_Panel_dimension_HT__c,
marking_of_Panel_dimension__c,
marking_of_metering_Kiosk_dimension__c,
metering_Kiosk_Installation__c,
rodent_conduit_installation_conduit__c,
suspenders_installation__c,
tie_bunch_cable_Earthing_cable__c,
tie_bunch_cable_Raceway__c,
Total_installed_quantity_DPR_Quantity__c,
Manhours__c,
Total_No_Of_Tasks__c
FROM Installation_Line_Items__c
WHERE
Installation_Activity__c = :installationActivity
AND Floor__c = :floor
AND Installation__c = :installationId
AND Installation__r.No_of_Line_Items__c > 0 AND Project_Items__r.Item_Group_Name__c !='Consumable' AND Project_Items__r.Item_Group_Name__c !=null
];
}
@AuraEnabled
public static void insertDPRLineItems(String dprli)
{
List<DPR_Line_Items__c> addDPRLI = new List<DPR_Line_Items__c>();
List<Installation_Line_Items__c> addILI = new List<Installation_Line_Items__c>();
// -----------------------------------------CABLE TRAY------------------------------------------------------
List<DPRLICableTray> c = (List<DPRLICableTray>)JSON.deserialize(dprli,List<DPRLICableTray>.class);
System.debug('c. '+c.size());
for(DPRLICableTray edprli : c){
if (edprli.InstallationActivityc == 'Cable Tray') {
Integer count = 0;
System.debug('c.edprli '+edprli.NumberOfLaboursc);
DPR_Line_Items__c dli = new DPR_Line_Items__c();
dli.DPR__c = edprli.DPR;
dli.Installation_Line_Items_ID__c=edprli.InstallationLineItemsIDc;
System.debug('InstallationLineItemsIDc :'+ edprli.InstallationLineItemsIDc);
dli.Daily_Measure_Quantity__c = edprli.DailyMeasureQuantityc;
dli.Number_Of_hours__c = edprli.NumberOfhoursc;
dli.Number_Of_Labours__c = edprli.NumberOfLaboursc;
dli.Project_Items__c = edprli.ProjectItemsc;
dli.Installation_Activity__c= edprli.InstallationActivityc;
dli.Floor__c= edprli.Floorc;
dli.Line_out_CABT_Ceiling_trunking_route__c = edprli.LineoutCABTCeilingtrunkingroutec;
dli.CABT_Ceiling_trunking_support_instn__c = edprli.CABTCeilingtrunkingsupportinstnc;
dli.CABT_Ceiling_trunking_bend_fabrication__c = edprli.CABTCeilingtrunkingbendfabricationc;
dli.CABT_Ceiling_trunking_laying__c = edprli.CABTCeilingtrunkinglayingc;
dli.CABT_Ceiling_trunking_bend_installation__c = edprli.CABTCeilingtrunkingbendinstallationc;
dli.Cable_tray_Ceiling_trunking_cover_laying__c = edprli.CabletrayCeilingtrunkingcoverlayingc;
dli.CABT_Ceiling_trunking_clamp_instal__c = edprli.CABTCeilingtrunkingclampinstalc;
addDPRLI.add(dli);
System.debug('dli: '+ dli);
//-------------UPDATE CABLE TRAY INSTALLATION LINE ITEM WITH CABLE TRAY DPR LINE ITEMS--------------
Installation_Line_Items__c ili = new Installation_Line_Items__c();
ili.Id = edprli.InstallationLineItemsIDc;
ili.Total_installed_quantity_DPR_Quantity__c = edprli.TotalinstalledquantityDPRQuantityc + edprli.DailyMeasureQuantityc;
ili.Cable_tray_Ceiling_trunking_cover_laying__c = edprli.CabletrayCeilingtrunkingcoverlayingc;
ili.Line_out_cable_tray_Ceiling_trunking_rou__c = edprli.LineoutCABTCeilingtrunkingroutec;
ili.Cable_tray_Ceiling_trunking_support_inst__c = edprli.CABTCeilingtrunkingsupportinstnc;
ili.Cable_tray_Ceiling_trunking_bend_fabricn__c = edprli.CABTCeilingtrunkingbendfabricationc;
ili.Cable_tray_Ceiling_trunking_laying__c = edprli.CABTCeilingtrunkinglayingc;
ili.Cable_tray_Ceiling_trunking_bend_install__c = edprli.CABTCeilingtrunkingbendinstallationc;
ili.Cable_tray_Ceiling_trunking_clamp_instal__c = edprli.CABTCeilingtrunkingclampinstalc;
ili.Manhours__c= edprli.Manhoursc + (edprli.NumberOfhoursc * edprli.NumberOfLaboursc);
//if (edprli.HighestLaboronadayc < edprli.NumberOfLaboursc || edprli.HighestLaboronadayc == null || edprli.HighestLaboronadayc == 0) {
ili.Highest_Labor_on_a_day__c= edprli.NumberOfLaboursc;
// }
ili.Total_No_Of_Tasks__c= 7;
if (edprli.CabletrayCeilingtrunkingcoverlayingc == 'Completed') {
count += 1;
}
if (edprli.LineoutCABTCeilingtrunkingroutec == 'Completed') {
count += 1;
}
if (edprli.CABTCeilingtrunkingsupportinstnc == 'Completed') {
count += 1;
}
if (edprli.CABTCeilingtrunkingbendfabricationc == 'Completed') {
count += 1;
}
if (edprli.CABTCeilingtrunkinglayingc == 'Completed') {
count += 1;
}
if (edprli.CABTCeilingtrunkingbendinstallationc == 'Completed') {
count += 1;
}
if (edprli.CABTCeilingtrunkingclampinstalc == 'Completed') {
count += 1;
}
ili.Total_No_Of_Tasks_Completed__c=count;
addILI.add(ili);
}
}
// -----------------------------------------CLASSES END---------------
if (addDPRLI.size() > 0) {
insert addDPRLI;
System.debug('addDPRLI value after insert: '+ addDPRLI);
}
if (addILI.size() > 0) {
update addILI;
System.debug('addILI value after insert: '+ addILI);
}
}
// -----------------------------------------CABLE TRAY WRAPPER CLASS---------------------------------------------------
public class DPRLICableTray{
@AuraEnabled
public String DPR {get; set;}
@AuraEnabled
public Decimal TotalinstalledquantityDPRQuantityc{get; set;}
@AuraEnabled
public Decimal Manhoursc {get; set;}
@AuraEnabled
public String InstallationLineItemsIDc {get; set;}
@AuraEnabled
public Decimal DailyMeasureQuantityc {get; set;}
@AuraEnabled
public Decimal NumberOfLaboursc {get; set;}
@AuraEnabled
public Decimal NumberOfhoursc {get; set;}
@AuraEnabled
public id ProjectItemsc {get; set;}
@AuraEnabled
public string InstallationActivityc {get; set;}
@AuraEnabled
public string Floorc {get; set;}
@AuraEnabled
public string LineoutCABTCeilingtrunkingroutec {get; set;}
@AuraEnabled
public string CABTCeilingtrunkingclampinstalc {get; set;}
@AuraEnabled
public string CABTCeilingtrunkingsupportinstnc {get; set;}
@AuraEnabled
public string CABTCeilingtrunkingbendfabricationc {get; set;}
@AuraEnabled
public string CABTCeilingtrunkinglayingc {get; set;}
@AuraEnabled
public string CABTCeilingtrunkingbendinstallationc {get; set;}
@AuraEnabled
public string CabletrayCeilingtrunkingcoverlayingc {get; set;}
@AuraEnabled
public Decimal TotalNoOfTasksc {get; set;}
@AuraEnabled
public Decimal HighestLaboronadayc {get; set;}
public DPRLICableTray (
String DPR,
Decimal DailyMeasureQuantityc,
Decimal NumberOfLaboursc,
Decimal NumberOfhoursc,
Id ProjectItemsc,
String InstallationLineItemsIDc,
string InstallationActivityc,
string Floorc,
string LineoutCABTCeilingtrunkingroutec,
string CABTCeilingtrunkingclampinstalc,
string CABTCeilingtrunkingsupportinstnc,
string CABTCeilingtrunkingbendfabricationc,
string CABTCeilingtrunkinglayingc,
string CABTCeilingtrunkingbendinstallationc,
string CabletrayCeilingtrunkingcoverlayingc,
Decimal TotalinstalledquantityDPRQuantityc,
Decimal Manhoursc,
Decimal HighestLaboronadayc
){
this.DPR = DPR;
this.InstallationLineItemsIDc= InstallationLineItemsIDc;
this.DailyMeasureQuantityc = DailyMeasureQuantityc;
this.NumberOfLaboursc = NumberOfLaboursc;
this.NumberOfhoursc = NumberOfhoursc;
this.InstallationActivityc= InstallationActivityc;
this.ProjectItemsc= ProjectItemsc;
this.Floorc= Floorc;
this.LineoutCABTCeilingtrunkingroutec = LineoutCABTCeilingtrunkingroutec;
this.CABTCeilingtrunkingsupportinstnc = CABTCeilingtrunkingsupportinstnc;
this.CABTCeilingtrunkingbendfabricationc = CABTCeilingtrunkingbendfabricationc;
this.CABTCeilingtrunkinglayingc = CABTCeilingtrunkinglayingc;
this.CABTCeilingtrunkingbendinstallationc = CABTCeilingtrunkingbendinstallationc;
this.CabletrayCeilingtrunkingcoverlayingc = CabletrayCeilingtrunkingcoverlayingc;
this.CABTCeilingtrunkingclampinstalc = CABTCeilingtrunkingclampinstalc;
this.TotalinstalledquantityDPRQuantityc = TotalinstalledquantityDPRQuantityc;
this.Manhoursc = Manhoursc;
this.HighestLaboronadayc = HighestLaboronadayc;
this.TotalNoOfTasksc= 3;
}
}