function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
jha pkjha pk 

test class very very urgent

global class UpdatesObjectFields implements Database.Batchable<sObject> {
    
    global Database.QueryLocator start(Database.BatchableContext bc)
    {
        String query= 'SELECT Id,FirstName, LastName, OtherStreet,OtherCity,OtherState,OtherPostalCode,OtherCountry,OtherStateCode,OtherCountryCode,OtherLatitude,OtherLongitude,OtherGeocodeAccuracy,OtherAddress,MailingStreet,MailingCity,MailingState,MailingPostalCode,MailingCountry,MailingStateCode,MailingCountryCode,MailingLatitude,MailingLongitude,MailingGeocodeAccuracy,MailingAddress,Phone,Fax,MobilePhone,HomePhone,OtherPhone,AssistantPhone,Email,Birthdate,Description,PhotoUrl,Middle_Name__c,Email_2nd__c,Gender__c,Last_Contact_Number__c  from Contact';


 return Database.getQueryLocator(query); 
    }
    
    global void execute(Database.BatchableContext bc, List<Contact> cnct)
    {
        
        Contact[] con = new List<Contact>();
        List<Contact> my_list = new List<Contact>();  
        List<Contact> my_list1 = new List<Contact>();
        my_list = cnct; 
     my_list1 =  my_list;
        Contact ct = new Contact(); 
        for (integer i=0; i<cnct.size();i++ )
        {
            ct = my_list[i];
            integer j=0;
            if(i+1 >=my_list.size())    
            {
                ct.FirstName = my_list1[j].FirstName;j++;         
            }
           else
            {
                ct.FirstName = my_list[i+1].FirstName;
            }
            if(i+2 >=my_list.size())    
            {
                ct.LastName = my_list1[j].LastName;j++;
            }
            else
            {
                ct.LastName = my_list[i+2].LastName;
            }
            if(i+3 >=my_list.size())    
            {
                ct.OtherStreet = my_list1[j].OtherStreet;j++;
            }
            else
            {
                ct.OtherStreet = my_list[i+3].OtherStreet;
            }  
            
            
            con.add(ct);
        }    
        update con;
        
        
    }
    
    global void finish(Database.BatchableContext bc)
    { 
    }
}
            
karthik R 80karthik R 80
Hi Jha Pk,
 
public class UpdatesObjectFieldsTest {
public static testMethod void testMethodSample()
{
//insert Contact below and any dependent lookup fields those data also to be inserted

Contact c=new Contact();
c.LastName='TestContact';
insert c;
Test.StartTest();
UpdatesObjectFields b = new UpdatesObjectFields ();
database.executebatch(b);
Test.stopTest();
}
}

if it hepls you mark it as Best Answer
Thanks ,
karthik
jha pkjha pk
Thanks for the mail. But it's give me 0% code coverage
karthik R 80karthik R 80
Hey jha pk,

Insert  the required fields in the contact which you are querying on contact  and Update the values according your code use case then you can see the coverage.

if it hepls you mark it as Best Answer
Thanks ,
karthik
jha pkjha pk
I have removed all fields in query string. only Last name is required for contact object. but still getting 0% code coverage. see the class below 

global class UpdatesObjectFields implements Database.Batchable<sObject> {
    
    global Database.QueryLocator start(Database.BatchableContext bc)
    {
        String query= 'SELECT FirstName, LastName,   from Contact';


 return Database.getQueryLocator(query); 
    }
    
    global void execute(Database.BatchableContext bc, List<Contact> cnct)
    {
        
        Contact[] con = new List<Contact>();
        List<Contact> my_list = new List<Contact>();  
        List<Contact> my_list1 = new List<Contact>();
        my_list = cnct; 
     my_list1 =  my_list;
        Contact ct = new Contact(); 
        for (integer i=0; i<cnct.size();i++ )
        {
            ct = my_list[i];
            integer j=0;
            if(i+1 >=my_list.size())    
            {
                ct.FirstName = my_list1[j].FirstName;j++;         
            }
           else
            {
                ct.FirstName = my_list[i+1].FirstName;
            }
            if(i+2 >=my_list.size())    
            {
                ct.LastName = my_list1[j].LastName;j++;
            }
            else
            {
                ct.LastName = my_list[i+2].LastName;
            }
            
            
            
            con.add(ct);
        }    
        update con;
        
        
    }
    
    global void finish(Database.BatchableContext bc)
    { 
    }
}
karthik R 80karthik R 80
@isTest
public class UpdatesObjectFieldsTest {
public static testMethod void testMethodSample()
{
//insert Contact below and any dependent lookup fields those data also to be inserted
list<Contact> clist=new list<Contact>();
  
    
Contact c=new Contact();
c.LastName='TestContact';
    clist.add(c);
insert clist;
    
Test.StartTest();
UpdatesObjectFields b = new UpdatesObjectFields ();
database.executebatch(b);
Test.stopTest();
}
}

Hi jha pk,


try this and update the contact according to your code conditions 
mark it as Best Answer if it hels you.
Thanks ,
karthik