You need to sign in to do that
Don't have an account?
NAGAM VENKATA KRISHNA 8
can any one help me test coverage to 100%, my test class is covering only 92% else part is not covering
global class deleteFireScoreSummaryRecords implements Database.batchable<FIRE_Score_Summary__c>,schedulable
{
global Iterable<FIRE_Score_Summary__c> start(Database.BatchableContext BC)
{
FIRE_Score_Configuration__c defaultFireScoreConfiguration = FIRE_Score_Configuration__c.getValues('Default');
if(defaultFireScoreConfiguration!=null && defaultFireScoreConfiguration.No_Of_Days_Historical_Data_to_Keep__c!=null)
{
DateTime dt=System.now().addDays(Integer.Valueof(-1*defaultFireScoreConfiguration.No_Of_Days_Historical_Data_to_Keep__c));
return [SELECT Id,Name from FIRE_Score_Summary__c where Scoring_Date_and_Time__c<=:dt Limit 20];
}
else
{
return [SELECT Id,Name from FIRE_Score_Summary__c];
}
}
global void execute(Database.batchableContext info, List<FIRE_Score_Summary__c> scope)
{
if(scope!=null && scope.size()>0)
{
delete scope;
}
}
global void finish(Database.batchableContext info)
{
}
global void execute(SchedulableContext sc){
deleteFireScoreSummaryRecords thisBatch = new deleteFireScoreSummaryRecords();
Database.executebatch(thisBatch,1);
}
}
=====================================================>
my test class
@isTest
public class deleteFireScoreSummaryRecordsTest {
@isTest
public static void testMethod1(){
FIRE_Score_Configuration__c defaultFireScoreConfiguration = new FIRE_Score_Configuration__c();
defaultFireScoreConfiguration.Enable_FIRE_Score__c = TRUE;
defaultFireScoreConfiguration.Account_Record_Types_to_Include_for_FIRE__c = 'Both';
defaultFireScoreConfiguration.Include_Active_Accounts_Only__c = TRUE;
defaultFireScoreConfiguration.Running_Date__c = 'CURRENT' ;
defaultFireScoreConfiguration.Name = 'Default';
defaultFireScoreConfiguration.Allow_Single_Account_Calculation__c= TRUE;
defaultFireScoreConfiguration.Number_of_Weeks_to_Process_Data__c=2;
defaultFireScoreConfiguration.No_Of_Days_Historical_Data_to_Keep__c=2;
insert defaultFireScoreConfiguration;
System.debug (' defaultFireScoreConfiguration ====> '+ defaultFireScoreConfiguration);
Id systemAdminProfileId = [SELECT Id FROM Profile WHERE Name = 'System Administrator' LIMIT 1].Id;
User userExample = new User();
userExample.Username = 'emailtst@test.com';
userExample.FirstName = 'First';
userExample.LastName = 'Last';
userExample.Alias = 'Alias';
userExample.Email = 'emailtest@test.com';
userExample.TimeZoneSidKey = 'America/New_York';
userExample.LocaleSidKey = 'en_US';
userExample.EmailEncodingKey = 'ISO-8859-1';
userExample.ProfileId = systemAdminProfileId;
userExample.LanguageLocaleKey = 'en_US';
insert userExample;
Account account = new Account(Account_Type__c='Sub Agent',Name = 'Test Account',status__c='Active' , CSM__c=userExample.id , SSD__c=userExample.id , BDR__c=userExample.id , Coverage__c= 'Strategic' , Sales_Engineer__c=userExample.id);
insert account;
List<FIRE_Score_Summary__c> fireScoreSummaryList = new List<FIRE_Score_Summary__c>();
for( Integer i=0 ; i<=2 ; i++){
FIRE_Score_Summary__c fireHeaderRec = new FIRE_Score_Summary__c();
fireHeaderRec.Account__c=account.Id;
fireHeaderRec.Scoring_Date_and_Time__c=System.now();
fireScoreSummaryList.add(fireHeaderRec);
}
insert fireScoreSummaryList;
deleteFireScoreSummaryRecords testFire = new deleteFireScoreSummaryRecords();
Database.executeBatch(new deleteFireScoreSummaryRecords(),10);
testFire.execute(null);
testFire.execute(null, fireScoreSummaryList);
}
}
{
global Iterable<FIRE_Score_Summary__c> start(Database.BatchableContext BC)
{
FIRE_Score_Configuration__c defaultFireScoreConfiguration = FIRE_Score_Configuration__c.getValues('Default');
if(defaultFireScoreConfiguration!=null && defaultFireScoreConfiguration.No_Of_Days_Historical_Data_to_Keep__c!=null)
{
DateTime dt=System.now().addDays(Integer.Valueof(-1*defaultFireScoreConfiguration.No_Of_Days_Historical_Data_to_Keep__c));
return [SELECT Id,Name from FIRE_Score_Summary__c where Scoring_Date_and_Time__c<=:dt Limit 20];
}
else
{
return [SELECT Id,Name from FIRE_Score_Summary__c];
}
}
global void execute(Database.batchableContext info, List<FIRE_Score_Summary__c> scope)
{
if(scope!=null && scope.size()>0)
{
delete scope;
}
}
global void finish(Database.batchableContext info)
{
}
global void execute(SchedulableContext sc){
deleteFireScoreSummaryRecords thisBatch = new deleteFireScoreSummaryRecords();
Database.executebatch(thisBatch,1);
}
}
=====================================================>
my test class
@isTest
public class deleteFireScoreSummaryRecordsTest {
@isTest
public static void testMethod1(){
FIRE_Score_Configuration__c defaultFireScoreConfiguration = new FIRE_Score_Configuration__c();
defaultFireScoreConfiguration.Enable_FIRE_Score__c = TRUE;
defaultFireScoreConfiguration.Account_Record_Types_to_Include_for_FIRE__c = 'Both';
defaultFireScoreConfiguration.Include_Active_Accounts_Only__c = TRUE;
defaultFireScoreConfiguration.Running_Date__c = 'CURRENT' ;
defaultFireScoreConfiguration.Name = 'Default';
defaultFireScoreConfiguration.Allow_Single_Account_Calculation__c= TRUE;
defaultFireScoreConfiguration.Number_of_Weeks_to_Process_Data__c=2;
defaultFireScoreConfiguration.No_Of_Days_Historical_Data_to_Keep__c=2;
insert defaultFireScoreConfiguration;
System.debug (' defaultFireScoreConfiguration ====> '+ defaultFireScoreConfiguration);
Id systemAdminProfileId = [SELECT Id FROM Profile WHERE Name = 'System Administrator' LIMIT 1].Id;
User userExample = new User();
userExample.Username = 'emailtst@test.com';
userExample.FirstName = 'First';
userExample.LastName = 'Last';
userExample.Alias = 'Alias';
userExample.Email = 'emailtest@test.com';
userExample.TimeZoneSidKey = 'America/New_York';
userExample.LocaleSidKey = 'en_US';
userExample.EmailEncodingKey = 'ISO-8859-1';
userExample.ProfileId = systemAdminProfileId;
userExample.LanguageLocaleKey = 'en_US';
insert userExample;
Account account = new Account(Account_Type__c='Sub Agent',Name = 'Test Account',status__c='Active' , CSM__c=userExample.id , SSD__c=userExample.id , BDR__c=userExample.id , Coverage__c= 'Strategic' , Sales_Engineer__c=userExample.id);
insert account;
List<FIRE_Score_Summary__c> fireScoreSummaryList = new List<FIRE_Score_Summary__c>();
for( Integer i=0 ; i<=2 ; i++){
FIRE_Score_Summary__c fireHeaderRec = new FIRE_Score_Summary__c();
fireHeaderRec.Account__c=account.Id;
fireHeaderRec.Scoring_Date_and_Time__c=System.now();
fireScoreSummaryList.add(fireHeaderRec);
}
insert fireScoreSummaryList;
deleteFireScoreSummaryRecords testFire = new deleteFireScoreSummaryRecords();
Database.executeBatch(new deleteFireScoreSummaryRecords(),10);
testFire.execute(null);
testFire.execute(null, fireScoreSummaryList);
}
}
https://salesforce.stackexchange.com/questions/244788/how-do-i-write-an-apex-unit-test
https://salesforce.stackexchange.com/questions/244794/how-do-i-increase-my-code-coverage-or-why-cant-i-cover-these-lines
Thanks!