You need to sign in to do that
Don't have an account?
Dolgoldy
Stuck in Code coverrage
Hi ,
I Written test class, pass all the data but not getting conerage plz help
below is the class, test classs.
I Written test class, pass all the data but not getting conerage plz help
below is the class, test classs.
public class RetailLicenseController { @AuraEnabled public static Response createRetailLiscense( String jsonData,String customerID ){ // Create a savepoint Savepoint savePointRec = Database.setSavepoint(); try{ Map<String,String> mpStatus = new Map<String,String>(); system.debug('<<<<<<<jsonData>>>>>>' + jsonData); RetailLiscenseDTO objRetailLiscenseDTO = (RetailLiscenseDTO)JSON.deserialize(jsonData, RetailLiscenseDTO.class); system.debug('<<<<<<<objRetailLiscenseDTO>>>>>>' + objRetailLiscenseDTO); //DML for Explosive if( objRetailLiscenseDTO.ExplosiveClass!=null ){ BPCL_ROIR_License__c explosiveObj = new BPCL_ROIR_License__c() ; explosiveObj.Customer_name__c = customerID; explosiveObj.Certificate_Name__c = 'Explosive'; explosiveObj.License_No__c = objRetailLiscenseDTO.ExplosiveClass.ExplosiveLisenceNo; explosiveObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.ExplosiveClass.ExplosiveFrmDate ); explosiveObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.ExplosiveClass.ExplosiveTillDate ); explosiveObj.License_Remarks__c = objRetailLiscenseDTO.ExplosiveClass.ExplosiveRemarks; insert explosiveObj; mpStatus.put('Explosive','Success'); } //DML for DPSL if( objRetailLiscenseDTO.DPSLClass != null ){ BPCL_ROIR_License__c DPSLObj = new BPCL_ROIR_License__c() ; DPSLObj.Customer_name__c = customerID; DPSLObj.Certificate_Name__c = 'DPSL'; DPSLObj.Partners_Proprietor_Name__c = objRetailLiscenseDTO.DPSLClass.DPSLPartnersProprietorNo; DPSLObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.DPSLClass.DPSLPartnersProprietorFrmDate ) ; DPSLObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.DPSLClass.DPSLPartnersProprietorTillDate ); DPSLObj.License_Remarks__c = objRetailLiscenseDTO.DPSLClass.DPSLPartnersProprietorRemarks; insert DPSLObj; mpStatus.put('DPSL','Success'); } //DML for WandMClass if( objRetailLiscenseDTO.WandMClass != null ){ BPCL_ROIR_License__c wandMLObj = new BPCL_ROIR_License__c() ; wandMLObj.Customer_name__c = customerID; wandMLObj.Certificate_Name__c = 'W&M'; wandMLObj.License_No__c = objRetailLiscenseDTO.WandMClass.WandMLicenseNumber; wandMLObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.WandMClass.WandMFrmDate ); wandMLObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.WandMClass.WandMTillDate ); wandMLObj.License_Remarks__c = objRetailLiscenseDTO.WandMClass.WandMRemarks; insert wandMLObj; mpStatus.put('W&M','Success'); } //DML for Air Guauge Calibration if( objRetailLiscenseDTO.AirGuaugeCalibrationClass != null ){ BPCL_ROIR_License__c airguageObj = new BPCL_ROIR_License__c() ; airguageObj.Customer_name__c = customerID; airguageObj.Certificate_Name__c = 'Air Gauge Calibration'; airguageObj.License_No__c = objRetailLiscenseDTO.AirGuaugeCalibrationClass.AirGuaugeLicenseNumber; airguageObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.AirGuaugeCalibrationClass.AirGuaugeFrmDate ); airguageObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.AirGuaugeCalibrationClass.AirGuaugeTillDate ); airguageObj.License_Remarks__c = objRetailLiscenseDTO.AirGuaugeCalibrationClass.AirGuaugeRemarks; insert airguageObj; mpStatus.put('AirGaugeCalibration','Success'); } //DML for Trade license BPCL_ROIR_License__c tradeLicenseObj = new BPCL_ROIR_License__c() ; tradeLicenseObj.Customer_name__c = customerID; tradeLicenseObj.Certificate_Name__c = 'Trade license'; tradeLicenseObj.Name_of_the_License_holder__c = objRetailLiscenseDTO.TradeLicenseClass.TradeLicenseHolderName; tradeLicenseObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.TradeLicenseClass.TradeLicenseFrmDate ); tradeLicenseObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.TradeLicenseClass.TradeLicenseTillDate ); tradeLicenseObj.License_Remarks__c = objRetailLiscenseDTO.TradeLicenseClass.TradeLicenseRemarks; if( String.isNotBlank( objRetailLiscenseDTO.TradeLicenseClass.TradeLicenseHolderName) ){ insert tradeLicenseObj; mpStatus.put('Tradelicense','Success'); } //DML for ALPLicenseClass BPCL_ROIR_License__c ALPObj = new BPCL_ROIR_License__c() ; ALPObj.Customer_name__c = customerID; ALPObj.Certificate_Name__c = 'ALPG License'; ALPObj.License_No__c = objRetailLiscenseDTO.ALPLicenseClass.ALPLicenseNumber; ALPObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.ALPLicenseClass.ALPValidFrmDate ); ALPObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.ALPLicenseClass.ALPValidToDate ); ALPObj.License_Remarks__c = objRetailLiscenseDTO.ALPLicenseClass.ALPRemarks; if( String.isNotBlank( objRetailLiscenseDTO.ALPLicenseClass.ALPLicenseNumber) ){ insert ALPObj; mpStatus.put('ALPGLicense','Success'); } //DML for CNG License BPCL_ROIR_License__c CNGObj = new BPCL_ROIR_License__c() ; CNGObj.Customer_name__c = customerID; CNGObj.Certificate_Name__c = 'CNG License'; CNGObj.License_No__c = objRetailLiscenseDTO.CNGLicenseClass.CNGLicenseNumber; CNGObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.CNGLicenseClass.CNGLicenseValidFrmDate ); CNGObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.CNGLicenseClass.CNGLicenseValidToDate ); CNGObj.License_Remarks__c = objRetailLiscenseDTO.CNGLicenseClass.CNGRemarks; if( String.isNotBlank( objRetailLiscenseDTO.CNGLicenseClass.CNGLicenseNumber) ){ insert CNGObj; mpStatus.put('CNG','Success'); } //DML for PAN BPCL_ROIR_License__c PANObj = new BPCL_ROIR_License__c() ; PANObj.Customer_name__c = customerID; PANObj.Certificate_Name__c = 'PAN'; PANObj.PAN_Number__c = objRetailLiscenseDTO.PANClass.PANNo; PANObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.PANClass.PANValidFrmDate ); PANObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.PANClass.PANValidTillDate ); PANObj.License_Remarks__c = objRetailLiscenseDTO.PANClass.PANRemarks; if( String.isNotBlank( objRetailLiscenseDTO.PANClass.PANNo) ){ insert PANObj; mpStatus.put('PAN','Success'); } //DML for GST BPCL_ROIR_License__c GSTObj = new BPCL_ROIR_License__c() ; GSTObj.Customer_name__c = customerID; GSTObj.Certificate_Name__c = 'GST'; GSTObj.GST_Number__c = objRetailLiscenseDTO.GSTClass.GSTNumber; GSTObj.License_Valid_From__c = fromStringToDate ( objRetailLiscenseDTO.GSTClass.GSTValidFrmDate ); GSTObj.License_Valid_Till__c = fromStringToDate ( objRetailLiscenseDTO.GSTClass.GSTValidTillDate ); GSTObj.License_Remarks__c = objRetailLiscenseDTO.GSTClass.GSTRemarks; if( String.isNotBlank( objRetailLiscenseDTO.GSTClass.GSTNumber) ){ insert GSTObj; mpStatus.put('GST','Success'); } if(mpStatus.size()==0){ return new Response(false, null, 'Exception occured while submitting form, Please Try again.'); }else{ return new Response(true, objRetailLiscenseDTO, 'Retail Licenses has been Saved Successfully!'); } }Catch(Exception ex){ System.debug('<<<<<<<Exception occured in createRIOR, Exception>>>>>>>>>' + ex.getMessage() + ', on line ' + ex.getLineNumber()); // Rollback operation Database.rollback(savePointRec); return new Response(false, null, 'Exception occured while submitting form, Please Try again.'); //return new Response(false, null, 'Exception occured while submitting form, Exception: ' + ex.getMessage() + ', on line ' + ex.getLineNumber() ); } } // Convert String to Date //16/11/2022 public static Date fromStringToDate(String DateStr){ Date convertedDate; system.debug('>>>>DateStr>>>'+DateStr); //2022-11-23 if( String.isNotBlank(DateStr) ){ List<String> intLst=DateStr.split('-'); String yearStr = intLst[0]; string monthStr = intLst[1]; string dayStr = intLst[2]; string strDate = yearStr + '-' + monthStr + '-' + dayStr ; convertedDate = Date.valueOf(strDate ); } return convertedDate ; } }
@isTest public class RetailLicenseControllerTest { @isTest static void test(){ Account accParent = new Account(Name ='test Account11', RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Retail').getRecordTypeId(), BillingStreet = 'test', BillingCity='Chicago', BillingState = 'Illinois', BillingCountry='United States', BillingPostalCode = '60657', Busniess_Unit__c ='Retail', Customer_Type__c ='RO Dealers(Channel Partner)', Email_Id__c ='test@gmail.com', BL_Number__c = '123', Sales_Area_Code_Text__c = '3102', Active__c = true ); insert accParent; //Create Distributer Account acc = new Account(Name ='test Account112', ParentId = accParent.Id, RecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByName().get('Retail').getRecordTypeId(), BillingStreet = 'test', BillingCity='Chicago', BillingState = 'Illinois', BillingCountry='United States', BillingPostalCode = '60657', Busniess_Unit__c ='Retail', Customer_Type__c ='RO Dealers(Channel Partner)', Email_Id__c ='test@gmail.com', BL_Number__c = '123', Sales_Area_Code_Text__c = '512', Active__c = true ); insert acc; // Explosive BPCL_ROIR_License__c ObjLicense_1 = new BPCL_ROIR_License__c(); ObjLicense_1 .Certificate_Name__c ='Explosive'; ObjLicense_1.Certificate_Number__c = 'Test123'; ObjLicense_1.Customer_name__c = acc.ID ; ObjLicense_1.License_No__c = 'LC-0056' ; ObjLicense_1.License_Valid_From__c = Date.today().addDays(30); ObjLicense_1.License_Valid_Till__c = Date.today(); ObjLicense_1.License_Remarks__c = 'Test'; Insert ObjLicense_1; // DPSL BPCL_ROIR_License__c ObjLicense_2 = new BPCL_ROIR_License__c(); ObjLicense_2 .Certificate_Name__c ='DPSL'; ObjLicense_2.Certificate_Number__c = 'Test123'; ObjLicense_2.Customer_name__c = acc.ID ; ObjLicense_2.License_No__c = 'LC-0056' ; ObjLicense_2.License_Valid_From__c = Date.today().addDays(30); ObjLicense_2.License_Valid_Till__c = Date.today(); ObjLicense_2.License_Remarks__c = 'Test'; Insert ObjLicense_2; //W&M BPCL_ROIR_License__c ObjLicense_3 = new BPCL_ROIR_License__c(); ObjLicense_3 .Certificate_Name__c ='W&M'; ObjLicense_3.Certificate_Number__c = 'Test123'; ObjLicense_3.Customer_name__c = acc.ID ; ObjLicense_3.License_No__c = 'LC-0056' ; ObjLicense_3.License_Valid_From__c = Date.today().addDays(30); ObjLicense_3.License_Valid_Till__c = Date.today(); ObjLicense_3.License_Remarks__c = 'Test'; Insert ObjLicense_3; //Air Gauge Calibration BPCL_ROIR_License__c ObjLicense_4 = new BPCL_ROIR_License__c(); ObjLicense_4 .Certificate_Name__c ='Air Gauge Calibration'; ObjLicense_4.Certificate_Number__c = 'Test123'; ObjLicense_4.Customer_name__c = acc.ID ; ObjLicense_4.License_No__c = 'LC-0056' ; ObjLicense_4.License_Valid_From__c = Date.today().addDays(30); ObjLicense_4.License_Valid_Till__c = Date.today(); ObjLicense_4.License_Remarks__c = 'Test'; Insert ObjLicense_4; //Trade license BPCL_ROIR_License__c ObjLicense_5 = new BPCL_ROIR_License__c(); ObjLicense_5.Certificate_Name__c ='Air Gauge Calibration'; ObjLicense_5.Certificate_Number__c = 'Test123'; ObjLicense_5.Customer_name__c = acc.ID ; ObjLicense_5.License_No__c = 'LC-0056' ; ObjLicense_5.License_Valid_From__c = Date.today().addDays(30); ObjLicense_5.License_Valid_Till__c = Date.today(); ObjLicense_5.License_Remarks__c = 'Test'; Insert ObjLicense_5; //ALPG License BPCL_ROIR_License__c ObjLicense_6 = new BPCL_ROIR_License__c(); ObjLicense_6.Certificate_Name__c ='ALPG License'; ObjLicense_6.Certificate_Number__c = 'Test123'; ObjLicense_6.Customer_name__c = acc.ID ; ObjLicense_6.License_No__c = 'LC-0056' ; ObjLicense_6.License_Valid_From__c = Date.today().addDays(30); ObjLicense_6.License_Valid_Till__c = Date.today(); ObjLicense_6.License_Remarks__c = 'Test'; Insert ObjLicense_6; //CNG License BPCL_ROIR_License__c ObjLicense_7 = new BPCL_ROIR_License__c(); ObjLicense_7.Certificate_Name__c ='CNG License'; ObjLicense_7.Certificate_Number__c = 'Test123'; ObjLicense_7.Customer_name__c = acc.ID ; ObjLicense_7.License_No__c = 'LC-0056' ; ObjLicense_7.License_Valid_From__c = Date.today().addDays(30); ObjLicense_7.License_Valid_Till__c = Date.today(); ObjLicense_7.License_Remarks__c = 'Test'; Insert ObjLicense_7; //PAN BPCL_ROIR_License__c ObjLicense_8 = new BPCL_ROIR_License__c(); ObjLicense_8.Certificate_Name__c ='PAN'; ObjLicense_8.Certificate_Number__c = 'Test123'; ObjLicense_8.Customer_name__c = acc.ID ; ObjLicense_8.License_No__c = 'LC-0056' ; ObjLicense_8.License_Valid_From__c = Date.today().addDays(30); ObjLicense_8.License_Valid_Till__c = Date.today(); ObjLicense_8.License_Remarks__c = 'Test'; Insert ObjLicense_8; Test.startTest(); RetailLicenseController.createRetailLiscense('jsonData',acc.Id); RetailLiscenseDTO objDto = new RetailLiscenseDTO(); objDto.ExplosiveClass.ExplosiveLisenceNo = 'Test 123'; objDto.ExplosiveClass.ExplosiveRemarks = 'Test'; objDto.ExplosiveClass.ExplosiveFrmDate = 'Date.today().addDays(30)'; objDto.ExplosiveClass.ExplosiveTillDate = 'Date.today()'; Test.stopTest(); } }
public class RetailLiscenseDTO { @AuraEnabled public ExplosiveClass ExplosiveClass{get;set;} @AuraEnabled public DPSLClass DPSLClass{get;set;} @AuraEnabled public WandMClass WandMClass{get;set;} @AuraEnabled public AirGuaugeCalibrationClass AirGuaugeCalibrationClass{get;set;} @AuraEnabled public TradeLicenseClass TradeLicenseClass{get;set;} @AuraEnabled public ALPLicenseClass ALPLicenseClass{get;set;} @AuraEnabled public CNGLicenseClass CNGLicenseClass{get;set;} @AuraEnabled public PANClass PANClass{get;set;} @AuraEnabled public GSTClass GSTClass{get;set;} public RetailLiscenseDTO(){ this.ExplosiveClass = new ExplosiveClass(); this.DPSLClass = new DPSLClass(); this.WandMClass = new WandMClass(); this.AirGuaugeCalibrationClass = new AirGuaugeCalibrationClass(); this.TradeLicenseClass = new TradeLicenseClass(); this.ALPLicenseClass = new ALPLicenseClass(); this.CNGLicenseClass = new CNGLicenseClass(); this.PANClass = new PANClass(); this.GSTClass = new GSTClass(); } //ExplosiveClass Public class ExplosiveClass{ @AuraEnabled public String ExplosiveLisenceNo{get;set;} @AuraEnabled public String ExplosiveFrmDate{get;set;} @AuraEnabled public String ExplosiveTillDate{get;set;} @AuraEnabled public String ExplosiveRemarks{get;set;} } //DPSLClass Public class DPSLClass{ @AuraEnabled public String DPSLPartnersProprietorNo{get;set;} @AuraEnabled public String DPSLPartnersProprietorFrmDate{get;set;} @AuraEnabled public String DPSLPartnersProprietorTillDate{get;set;} @AuraEnabled public String DPSLPartnersProprietorRemarks{get;set;} } //WandMClass Public class WandMClass{ @AuraEnabled public String WandMLicenseNumber{get;set;} @AuraEnabled public String WandMFrmDate{get;set;} @AuraEnabled public String WandMTillDate{get;set;} @AuraEnabled public String WandMRemarks{get;set;} } //AirGuaugeCalibrationClass Public class AirGuaugeCalibrationClass{ @AuraEnabled public String AirGuaugeLicenseNumber{get;set;} @AuraEnabled public String AirGuaugeFrmDate{get;set;} @AuraEnabled public String AirGuaugeTillDate{get;set;} @AuraEnabled public String AirGuaugeRemarks{get;set;} } //TradeLicenseClass Public class TradeLicenseClass{ @AuraEnabled public String TradeLicenseHolderName{get;set;} @AuraEnabled public String TradeLicenseFrmDate{get;set;} @AuraEnabled public String TradeLicenseTillDate{get;set;} @AuraEnabled public String TradeLicenseRemarks{get;set;} } //ALPLicenseClass Public class ALPLicenseClass{ @AuraEnabled public String ALPLicenseNumber{get;set;} @AuraEnabled public String ALPValidFrmDate{get;set;} @AuraEnabled public String ALPValidToDate{get;set;} @AuraEnabled public String ALPRemarks{get;set;} } //CNGLicenseClass Public class CNGLicenseClass{ @AuraEnabled public String CNGLicenseNumber{get;set;} @AuraEnabled public String CNGLicenseValidFrmDate{get;set;} @AuraEnabled public String CNGLicenseValidToDate{get;set;} @AuraEnabled public String CNGRemarks{get;set;} } //PANClass Public class PANClass{ @AuraEnabled public String PANNo{get;set;} @AuraEnabled public String PANValidFrmDate{get;set;} @AuraEnabled public String PANValidTillDate{get;set;} @AuraEnabled public String PANRemarks{get;set;} } //GSTClass Public class GSTClass{ @AuraEnabled public String GSTNumber{get;set;} @AuraEnabled public String GSTValidFrmDate{get;set;} @AuraEnabled public String GSTValidTillDate{get;set;} @AuraEnabled public String GSTRemarks{get;set;} } }
The code provided in question does not highlight the uncovered lines. Since this code is huge and requires an understanding of your implementation, it might not be possible to provide exact edit suggestions. However, the below articles give a good insight into how coverage can be improved
https://salesforce.stackexchange.com/questions/244794/how-do-i-increase-my-code-coverage-or-why-cant-i-cover-these-lines
Code Coverage Best Practices
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_code_coverage_best_pract.htm
Checking Code Coverage
https://help.salesforce.com/articleView?id=code_dev_console_tests_coverage.htm&type=5
Deployment related code coverage issues
https://help.salesforce.com/articleView?id=000335222&type=1&mode=1
Thank you