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
anuj huriaanuj huria 

write test class for wrapper class

controller


public class accToPick 
{

   

    
List<Account> acc;
public String val{get;set;}
 public List<cContact> ist{get;set;}
  public String index {get;set;}
  
  public String fname{get;set;}
  public String lname{get;set;}
  

    public accToPick()
    {
    acc= [SELECT id,name FROM Account];
    
    
    
    }
    
        
 
    
    public List<SelectOption> getAccounnames() 
    {
        List<SelectOption> accOptions= new List<SelectOption>();
        for(Account acc2:acc)
            {
            
            accOptions.add(new selectOption(acc2.id,acc2.name));
            }
        return accOptions;
    }
    

    public List<cContact> conload()
    {    
          ist= new List<cContact>();
        for(Contact a:[SELECT id,name,email from Contact where Account.Id=:val])
        {
            ist.add(new cContact(a));
        }
        
         return null;
    }
    
    public void addContact()
        {
        Contact lc=new Contact(FirstName=fname,LastName=lname,AccountId=val);
        
            try
            {
                insert lc;
            }
            
            catch(Exception e)
            {
                ApexPages.addMessages(e);
            }
            conload();
            fname='';
            lname='';
        }
     
     public void deletecon()
     {
      Contact c1=[select id from Contact where id=:index];
      delete c1;
      conload();
     }
     
     public PageReference sendmail()
     {
         List<Contact> selectedContacts = new List<Contact>();
        
            
              
           
            
         
         //System.debug(selected + 'abc');
        for(cContact cCon :ist) 
        {
        
            if(cCon.selected==true) 
            {
                selectedContacts.add(cCon.con);
                
            }
            
        }
        System.debug('These are the selected Contacts…');
        for(Contact con : selectedContacts) 
        {
            string conEmail = con.Email;
            Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
            String[] toAddresses = new String[] {conEmail};
            mail.setToAddresses(toAddresses);
            mail.setReplyTo('huria.99.anuj@gmail.com');
            mail.setSenderDisplayName('Salesforce Support');
            mail.setSubject('New Case Created : ' + case.Id);
            mail.setBccSender(false);
            mail.setUseSignature(false);
            mail.setPlainTextBody('Thank for Contacting');
            mail.setHtmlBody('Thank for Contacting');
            Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
        }
        return null;
     }
     
      public class cContact 
      {
        public Contact con {get; set;}
        public Boolean selected {get; set;}
        public cContact(Contact c)
        {
            con = c;
            selected = false;
        }
    }
    
    
}
anuj huriaanuj huria
i  tried to write test class for this  but coverage is 53% only

test classs




@isTest
public class accToPickTest 

{
    
    public static testMethod void wtest()
    
    {
       
        accToPick ap=new accToPick();
        
        Contact c=new Contact(lastName='abc');
        
        accToPick.cContact wc=new accToPick.cContact(c);
       
        pagereference pf=Page.task3;
        
        ap.getAccounnames();
        
        ap.conload();
        
        ap.addContact();
        
        ap.deletecon();
        
        ap.sendmail();
    
    }

}
GauriiGaurii
Check in console which part is not covered.
anuj huriaanuj huria
hi swa

i already tried this but the problem is that in test class im calling sendmail() function but in developer console it is showing in uncovered area
thnks
Amit Chaudhary 8Amit Chaudhary 8
Please try below test class.
@isTest
public class accToPickTest 
{
    
   public static testMethod void wtest()
    {
		Account acc= new Account();
		acc.Name='Test Acc';
		insert acc;
	    
		Contact cont = new Contact();
		cont.Email ='huria.99.anuj@gmail.com';
		cont.lastName ='Test Contact';
		cont.firstName ='Test';
		cont.accountid =acc.id;
		insert cont;
	   
        accToPick ap=new accToPick();
		List<SelectOption> lstSOpp = ap.getAccounnames();
		ap.val = acc.id;
        ap.conload();
		
		For(accToPick.cContact cCon :  ap.ist )
		{
			cCon.selected = true;
		}
		ap.sendmail();
		
		
		ap.fname ='Test';	
		ap.lname ='Test';	
        ap.addContact();
		
		ap.index = cont.id;
		ap.deletecon();
    }

}
Let us know if this will help you

Thanks
Amit Chaudhary