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
Roshan singh 21Roshan singh 21 

Not Getting 75% code coverage

Hi All,
Please check my code I am getting 71%code coverage. please help me.
My Controller:-
public class ImpactedIssuerController {


public ImpactedIssuerController(ApexPages.StandardController controller){ 

 
}
   
     Public String cid;
     public List<WrapIssuer> wrapIssuerList {get; set;}
     public Boolean selectAllCheckbox {get; set;}  
     public boolean errormsg=false; 
    
     String userinput;
     String userinp;
     String userinp2;
     String siloinput;
    
     public List<Issuers__c> allissuer = new List<Issuers__c>();
     public List<Issuers__c> selectedIssuer2 = new List<Issuers__c>();
     
     
     /* Getter and setter methods for getting the user input ie. Issuer name from the UI */
     public String getuserinput(){return userinput;}
     //public void setuserinput(String userinp){this.userinput=userinp=userinp2;}
     public void setuserinput(String userinp){this.userinput=userinp;}
     public String getuserinp(){return userinp;}
     public void setuserinp(String userinp){this.userinp=userinp;} 
     
     public String getuserinp2(){return userinp2;}
     public void setuserinp2(String userinp2){this.userinp2=userinp2;} 
     
     public String getsiloinput(){return siloinput;}
     public void setsiloinput(String siloinput){this.siloinput=siloinput;}
     
     
      /*End of Getter and Setter methods */
      
      
     /* Method to Search the Issuer database to fetch the query results */
      public List<Issuers__c> search() {
      
      errormsg=false;
      wrapIssuerList = new List<WrapIssuer>();
      for(Issuers__c ilist:[select Name,id,Bankdir_Name__c,Processor_Name__c,Subprocessor_Name__c,Silo_Name__c  from Issuers__c where Name like :userinput+'%' and Processor_Name__c like :userinp+'%' and Subprocessor_Name__c like :userinp2+'%' and Silo_Name__c like :siloinput+'%'LIMIT 1000 ])
        {
           wrapIssuerList.add(new WrapIssuer(ilist));
         }
         return null;
      }
      /* End of Search method */
       
       /* Method for returning the contact search results to the UI */
        public List<WrapIssuer> getresults()
            {
             return wrapIssuerList;
            }
        /* End of Method */
        
        
        /* Wrapper class to contain contact record and a boolean flag */
        public class WrapIssuer {
        public Issuers__c Issu {get; set;}
        public Boolean selected {get; set;}
 
        public WrapIssuer(Issuers__c ism) {
            Issu = ism;
            selected = false;
         }
        }
       /* end of Wrapper class */
       
       
      /* Method to fetch the selected records and save them to other other object */
      
   public List<Impacted_Issuers__c> cList=new List<Impacted_Issuers__c>();
    
    public PageReference processSelected() {
    List<Issuers__c> selectedIssuers = new List<Issuers__c>();
    //selectedIssuer= new List<Issuers__c>();
 
        for(wrapIssuer wrapIssuerObj : wrapIssuerList) {
            if(wrapIssuerObj.selected == true) {
                selectedIssuers.add(wrapIssuerObj.Issu);
            }
        }
    
     for(Issuers__c Issu:selectedIssuers){
     Impacted_Issuers__c imp =new Impacted_Issuers__c();
        imp.Name=Issu.name;
        imp.Bankdir_Name__c=Issu.Bankdir_Name__c;
        imp.Processor_Name__c=Issu.Processor_Name__c;
        imp.Subprocessor_Name__c=Issu.Subprocessor_Name__c;
        imp.Silo_Name__c=Issu.Silo_Name__c;
        imp.Development_Task__c =string.valueOf(apexpages.currentpage().getparameters().get('CF00N1F000002a29R_lkid'));
        cList.add(imp);
        
            
     }   
if(cList.size()>0)
{
     insert cList; 
     return new PageReference('/'+ApexPages.currentPage().getParameters().get('CF00N1F000002a29R_lkid'));
     }
     
        errormsg=true;
         return null;        
    }
       
    
       /* return error message if no contact is selected */
        public boolean geterrormsg()
        {
         return errormsg;
        } 
        
        /* Method to cancel the entire process */
        public Pagereference Cancel()
        {
        return new PageReference('/'+ApexPages.currentPage().getParameters().get('CF00N1F000002a29R_lkid'));
        }
        
    }


Test Class:-

@isTest
private class Test_ImpactedIssuerController
 {
 
    
   
  @isTest static void TestIssuer()
    {
       
       PageReference pageRef = Page.ImpactedIssuerVFpage;
       Test.setCurrentPage(pageRef); 
       String userinput;
       String userinp;
       String userinp2;
       String siloinput;             
       boolean selectAllCheckbox;
       boolean errormsg;
       selectAllCheckbox= false;
       
       Issuers__c issu= new Issuers__c();
          
          issu.Name='Name';
          issu.Bankdir_Name__c='testdir'; 
          issu.Processor_Name__c='Tsys';
          issu.Subprocessor_Name__c='IND';
          issu.Silo_Name__c='Preview2';       
          Insert issu;
          
                
            Development_Tasks__c DT = new Development_Tasks__c (
            Subject__c = 'Test DevTask Subject',
            Description__c = 'Test DevTask Description',
            Assignment_Group__c = 'Application Development',
            Request_Type__c = 'Add BIN',
            Platform__c = 'Preview 2',
            Status__c = 'Ready for Development'
            );
            insert DT;
            
            
            Impacted_Issuers__c imp= new Impacted_Issuers__c();
             imp.Name=issu.Name;
             imp.Development_Task__c=DT.ID;
             imp.Bankdir_Name__c=issu.Bankdir_Name__c; 
             imp.Processor_Name__c=issu.Processor_Name__c;
             imp.Subprocessor_Name__c=issu.Subprocessor_Name__c;
             imp.Silo_Name__c=issu.Silo_Name__c;  
             insert imp;
             
                        
             ImpactedIssuerController.WrapIssuer wp = new ImpactedIssuerController.WrapIssuer(issu);
                       
             Impacted_Issuers__c imp1= new Impacted_Issuers__c();
             imp1.Name='Imptest';
             imp1.Development_Task__c=DT.ID;
             imp1.Bankdir_Name__c='testdir'; 
             imp1.Processor_Name__c='Tsys';
             imp1.Subprocessor_Name__c='IND';
             imp1.Silo_Name__c='Preview2';  
             insert imp1;
            
           
           Test.StartTest(); 
        
            ApexPages.currentPage().getParameters().put('Id', String.valueOf(issu.Id));
            ApexPages.StandardController sc = new ApexPages.StandardController(imp);
                        
            ImpactedIssuerController obj = new ImpactedIssuerController(sc);
            List<Impacted_Issuers__c> lstimp = new List<Impacted_Issuers__c>();
            
            lstimp.add(imp); 
            System.assertEquals(true,lstimp.size()>0);
             
            obj.Cancel();
            obj.geterrormsg();
            obj.search();
            obj.getresults();            
            obj.processSelected();            
            obj.getuserinput();
            obj.getuserinp();
            obj.getuserinp2();
            obj.getsiloinput();
            obj.setuserinput(userinput);
            obj.setuserinp(userinp);
            obj.setuserinp2(userinp2);
            obj.setsiloinput(siloinput);
            

        Test.StopTest();
             
          }
           
         }
Best Answer chosen by Roshan singh 21
Steven NsubugaSteven Nsubuga
You need to set the variables before you call the search method.
@isTest
private class Test_ImpactedIssuerController
{
    
    
    
    @isTest static void TestIssuer()
    {
        
        PageReference pageRef = Page.ImpactedIssuerVFpage;
        Test.setCurrentPage(pageRef);
        
        String userinput ='Name';
        String userinp ='Tsys';
        String userinp2 = 'IND';
        String siloinput='Preview2';             
        boolean selectAllCheckbox;
        boolean errormsg;
        selectAllCheckbox= false;
        
        Issuers__c issu= new Issuers__c();
        
        issu.Name='NameX';
        issu.Bankdir_Name__c='testdirX'; 
        issu.Processor_Name__c='TsysX';
        issu.Subprocessor_Name__c='INDX';
        issu.Silo_Name__c='Preview2X';       
        Insert issu;
        
        
        Development_Tasks__c DT = new Development_Tasks__c (
            Subject__c = 'Test DevTask Subject',
            Description__c = 'Test DevTask Description',
            Assignment_Group__c = 'Application Development',
            Request_Type__c = 'Add BIN',
            Platform__c = 'Preview 2',
            Status__c = 'Ready for Development'
        );
        insert DT;
        
        
        Impacted_Issuers__c imp= new Impacted_Issuers__c();
        imp.Name=issu.Name;
        imp.Development_Task__c=DT.ID;
        imp.Bankdir_Name__c=issu.Bankdir_Name__c; 
        imp.Processor_Name__c=issu.Processor_Name__c;
        imp.Subprocessor_Name__c=issu.Subprocessor_Name__c;
        imp.Silo_Name__c=issu.Silo_Name__c;  
        insert imp;
        
        
        ImpactedIssuerController.WrapIssuer wp = new ImpactedIssuerController.WrapIssuer(issu);
        
        Impacted_Issuers__c imp1= new Impacted_Issuers__c();
        imp1.Name='Imptest';
        imp1.Development_Task__c=DT.ID;
        imp1.Bankdir_Name__c='testdir'; 
        imp1.Processor_Name__c='Tsys';
        imp1.Subprocessor_Name__c='IND';
        imp1.Silo_Name__c='Preview2';  
        insert imp1;
        
        
        
        Test.StartTest(); 
        
        ApexPages.currentPage().getParameters().put('Id', String.valueOf(issu.Id));
        ApexPages.StandardController sc = new ApexPages.StandardController(imp);
        
        ImpactedIssuerController obj = new ImpactedIssuerController(sc);
        List<Impacted_Issuers__c> lstimp = new List<Impacted_Issuers__c>();
        
        lstimp.add(imp); 
        System.assertEquals(true,lstimp.size()>0);
        
        obj.Cancel();
        obj.geterrormsg();
        obj.setuserinput(userinput);
        obj.setuserinp(userinp);
        obj.selectAllCheckbox = true;
        obj.setuserinp2(userinp2);
        obj.setsiloinput(siloinput);
        obj.search();
        obj.getresults();  
        obj.wrapIssuerList[0].selected = true;
        obj.processSelected();            
        obj.getuserinput();
        obj.getuserinp();
        obj.getuserinp2();
        obj.getsiloinput();
        
        Test.StopTest();
    }
    
}

 

All Answers

Steven NsubugaSteven Nsubuga
You need to set the variables before you call the search method.
@isTest
private class Test_ImpactedIssuerController
{
    
    
    
    @isTest static void TestIssuer()
    {
        
        PageReference pageRef = Page.ImpactedIssuerVFpage;
        Test.setCurrentPage(pageRef);
        
        String userinput ='Name';
        String userinp ='Tsys';
        String userinp2 = 'IND';
        String siloinput='Preview2';             
        boolean selectAllCheckbox;
        boolean errormsg;
        selectAllCheckbox= false;
        
        Issuers__c issu= new Issuers__c();
        
        issu.Name='NameX';
        issu.Bankdir_Name__c='testdirX'; 
        issu.Processor_Name__c='TsysX';
        issu.Subprocessor_Name__c='INDX';
        issu.Silo_Name__c='Preview2X';       
        Insert issu;
        
        
        Development_Tasks__c DT = new Development_Tasks__c (
            Subject__c = 'Test DevTask Subject',
            Description__c = 'Test DevTask Description',
            Assignment_Group__c = 'Application Development',
            Request_Type__c = 'Add BIN',
            Platform__c = 'Preview 2',
            Status__c = 'Ready for Development'
        );
        insert DT;
        
        
        Impacted_Issuers__c imp= new Impacted_Issuers__c();
        imp.Name=issu.Name;
        imp.Development_Task__c=DT.ID;
        imp.Bankdir_Name__c=issu.Bankdir_Name__c; 
        imp.Processor_Name__c=issu.Processor_Name__c;
        imp.Subprocessor_Name__c=issu.Subprocessor_Name__c;
        imp.Silo_Name__c=issu.Silo_Name__c;  
        insert imp;
        
        
        ImpactedIssuerController.WrapIssuer wp = new ImpactedIssuerController.WrapIssuer(issu);
        
        Impacted_Issuers__c imp1= new Impacted_Issuers__c();
        imp1.Name='Imptest';
        imp1.Development_Task__c=DT.ID;
        imp1.Bankdir_Name__c='testdir'; 
        imp1.Processor_Name__c='Tsys';
        imp1.Subprocessor_Name__c='IND';
        imp1.Silo_Name__c='Preview2';  
        insert imp1;
        
        
        
        Test.StartTest(); 
        
        ApexPages.currentPage().getParameters().put('Id', String.valueOf(issu.Id));
        ApexPages.StandardController sc = new ApexPages.StandardController(imp);
        
        ImpactedIssuerController obj = new ImpactedIssuerController(sc);
        List<Impacted_Issuers__c> lstimp = new List<Impacted_Issuers__c>();
        
        lstimp.add(imp); 
        System.assertEquals(true,lstimp.size()>0);
        
        obj.Cancel();
        obj.geterrormsg();
        obj.setuserinput(userinput);
        obj.setuserinp(userinp);
        obj.selectAllCheckbox = true;
        obj.setuserinp2(userinp2);
        obj.setsiloinput(siloinput);
        obj.search();
        obj.getresults();  
        obj.wrapIssuerList[0].selected = true;
        obj.processSelected();            
        obj.getuserinput();
        obj.getuserinp();
        obj.getuserinp2();
        obj.getsiloinput();
        
        Test.StopTest();
    }
    
}

 
This was selected as the best answer
Roshan singh 21Roshan singh 21
Hi Steven,
Thank you so much. this code worked for me. 
Steven NsubugaSteven Nsubuga
You're welcome Roshan!!