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
Venkatesh Ganta 16Venkatesh Ganta 16 

How to Cover code coverage for the below Class

Controller :-


public class DOPdf
{
    public class productItemList
    {
        public string styleStr{get;set;}
        public string styleHead{get;set;}
        public List<Product_Line_Items__c> proItemList{get;set;}
    }
    public list<Delivery_Order__c> delordr{get;set;}
    public Id getid{get;set;} 
    public String phoneNumberBuyer{get;set;}
    public String phoneNumberConsignee{get;set;}
    public String destinationAdd{get;set;}
    public List<productItemList> finalProductLineItemList{get;set;}
    public DOPdf(ApexPages.StandardController controller) 
    {
        getid=ApexPages.currentPage().getParameters().get('id');
        delordr=[Select From_Address__c,To_Address__c,Bill_To__c,Bill_to_If_Direct__c,Dealers__r.Phone__c,Dealers__r.Phone_2__c,Dealers__r.Distributor__r.Phone__c,Dealers__r.Distributor__r.Phone_2__c,
                 Sub_Dealer__r.Phone__c,Sub_Dealer__r.Phone_2__c,Sub_Dealer__r.Dealer__r.Phone_2__c, Sub_Dealer__r.Dealer__r.Phone__c,
                 DistributorNew__r.Phone__c,DistributorNew__r.Phone_2__c,City__c,Pincode__c,Destination_Address__c,Consignee_City__c from Delivery_Order__c where Id=:getid ORDER BY CreatedDate];
        
        if(delordr.size() > 0)
        {
            List<Product_Line_Items__c> itemList=[SELECT Id,Price_List__r.Print_Name__c,Length_in_Feet__c,Quantity_In_Number__c,Meters__c,Total_Feet__c,Price_List__r.Unit_Price__c,Amount__c,Delivery_Order__c FROM Product_Line_Items__c WHERE Delivery_Order__c=:getid];
            if(!itemList.isEmpty())
            {
                List<productItemList> pOList=new List<productItemList>();
                if(itemList.size()<=6)
                {
                    productItemList pObj=new productItemList();
                    pObj.proItemList=itemList;
                    pObj.styleStr='display:inline-block'; 
                    pObj.styleHead='page-break-after:avoid;';
                    pOList.add(pObj);
                    finalProductLineItemList=pOList;
                }
                else
                {
                    integer i=1;
                    integer j=1;
                    List<Product_Line_Items__c> lineIList=new List<Product_Line_Items__c>();
                    for(Product_Line_Items__c obj:itemList)
                    {            
                        System.debug('i value='+i);
                        if(i==6)
                        {                           
                            lineIList.add(obj);
                            List<Product_Line_Items__c> lineIListCopy=new List<Product_Line_Items__c>();
                            lineIListCopy=lineIList.clone();
                            productItemList pObj=new productItemList();
                            pObj.proItemList=lineIListCopy;
                            pObj.styleStr='display:none';
                            pObj.styleHead='page-break-after:always;';
                            pOList.add(pObj);
                            lineIList.clear();
                            i=1;
                        }
                        else if(j==itemList.size())
                        {
                            lineIList.add(obj);
                            productItemList pObj=new productItemList();
                            pObj.proItemList=lineIList;
                            pObj.styleStr='display:inline-block';
                            pObj.styleHead='page-break-after:avoid;';
                            pOList.add(pObj);                                       
                        }
                        else
                        {
                           lineIList.add(obj); 
                           i++;
                        }
                        j++;
                     }
                     finalProductLineItemList=pOList;
                }
            }
            system.debug('finalProductLineItemList= '+finalProductLineItemList.size());
            if(String.isNotBlank(delordr[0].Pincode__c) && (delordr[0].Consignee_City__c!= delordr[0].City__c))
            {
                destinationAdd= delordr[0].City__c+' - '+ delordr[0].Pincode__c;
            }
            else
            {
                destinationAdd= delordr[0].Destination_Address__c;
            }
            
            If(delordr[0].Bill_To__c == 'Dealer')
            {
                phoneNumberConsignee=delordr[0].Dealers__r.Phone__c ;
                if(String.isNotBlank(delordr[0].Dealers__r.Phone_2__c))
                {
                    phoneNumberConsignee= phoneNumberConsignee+','+delordr[0].Dealers__r.Phone_2__c;
                }
                phoneNumberBuyer=delordr[0].Dealers__r.Distributor__r.Phone__c;
                if(String.isNotBlank(delordr[0].Dealers__r.Distributor__r.Phone_2__c))
                {
                    phoneNumberBuyer= phoneNumberBuyer+','+ delordr[0].Dealers__r.Distributor__r.Phone_2__c;
                }
                
            } 
            else If(delordr[0].Bill_To__c == 'Sub-Dealer')
            { 
                phoneNumberConsignee=delordr[0].Sub_Dealer__r.Phone__c;
                if(String.isNotBlank(delordr[0].Sub_Dealer__r.Phone_2__c))
                {
                    phoneNumberConsignee= phoneNumberConsignee+','+ delordr[0].Sub_Dealer__r.Phone_2__c;
                }
                phoneNumberBuyer = delordr[0].Sub_Dealer__r.Dealer__r.Phone__c ;
                if(String.isNotBlank(delordr[0].Sub_Dealer__r.Dealer__r.Phone_2__c))
                {
                    phoneNumberBuyer= phoneNumberBuyer+','+delordr[0].Sub_Dealer__r.Dealer__r.Phone_2__c;
                }
                
            }
            else if(delordr[0].Bill_To__c == 'Direct' )
            {
                if(delordr[0].Bill_to_If_Direct__c == 'Dealer')
                {
                    phoneNumberConsignee= delordr[0].Dealers__r.Phone__c ;
                    phoneNumberBuyer= delordr[0].Dealers__r.Phone__c ;
                    if(String.isNotBlank(delordr[0].Dealers__r.Phone_2__c))
                    {
                        phoneNumberConsignee= phoneNumberConsignee+','+ delordr[0].Dealers__r.Phone_2__c;
                    }
                    if(String.isNotBlank(delordr[0].Dealers__r.Phone_2__c))
                    {
                        phoneNumberBuyer= phoneNumberBuyer+','+delordr[0].Dealers__r.Phone_2__c;
                    }
                }
                else if(delordr[0].Bill_to_If_Direct__c == 'Sub Dealer')
                {
                    phoneNumberConsignee = delordr[0].Sub_Dealer__r.Phone__c ;
                    phoneNumberBuyer = delordr[0].Sub_Dealer__r.Phone__c ;
                    if(String.isNotBlank(delordr[0].Sub_Dealer__r.Phone_2__c))
                    {
                        phoneNumberConsignee= phoneNumberConsignee+','+ delordr[0].Sub_Dealer__r.Phone_2__c;
                    }
                    if(String.isNotBlank(delordr[0].Sub_Dealer__r.Phone_2__c))
                    {
                        phoneNumberBuyer= phoneNumberBuyer+','+delordr[0].Sub_Dealer__r.Phone_2__c;
                    }
                }
                else if(delordr[0].Bill_to_If_Direct__c =='Distributor')
                {
                    phoneNumberConsignee = delordr[0].DistributorNew__r.Phone__c ; 
                    phoneNumberBuyer = delordr[0].DistributorNew__r.Phone__c;
                    if(String.isNotBlank(delordr[0].DistributorNew__r.Phone_2__c))
                    {
                        phoneNumberConsignee= phoneNumberConsignee+','+delordr[0].DistributorNew__r.Phone_2__c;
                    }
                    if(String.isNotBlank(delordr[0].DistributorNew__r.Phone_2__c))
                    {
                        phoneNumberBuyer= phoneNumberBuyer+','+delordr[0].DistributorNew__r.Phone_2__c;
                    }
                }
            }
        }
        
    }
}




Test Class:- 




@isTest 
public class DoPdfTest
{
     static testMethod void Dopdf()
     {
      Dealer__c dlr = new Dealer__c();
      dlr.Name = 'Test Dealer';
        dlr.Phone__c = '123456789';
        dlr.Pincode__c = '234567';
        dlr.Address1__c = 'test address 1';
        dlr.GSTN__c = '29AAACC1206D2ZB';
        dlr.Region__c = 'Bihar';
        dlr.District__c = 'Bhojpur';
        dlr.City__c = 'CHARKHI DADRI';
        dlr.Commission_Rate__c = 23.23;
        dlr.PAN__c = 'CDJNS7339L';
        dlr.Whatsapp_Number2__c = '9876456789';
        dlr.Whatsapp_Number__c  ='3434543456';
        dlr.Latitude__c = 77.2342344;
        dlr.Longitude__c = 98.7876787;
        dlr.TCS_Required__c = 'yes';
        dlr.Status__c = 'Approved';
        
         Sub_Dealer__c sdlf = new Sub_Dealer__c();
        sdlf.title__c ='Mr';
        sdlf.Name = 'Test subdealer';
        sdlf.Region__c = 'Bihar';
        sdlf.GSTN__c = '29AAACC1206D2ZV';
        sdlf.PAN__c = 'CDJNS7339H';
        sdlf.Whatsapp_Number2__c = '9876456799';
        sdlf.Whatsapp_Number__c  ='3434543476';
        sdlf.Phone__c = '1234567870';
        sdlf.Pincode__c = '234587';
        sdlf.TCS_Required__c ='yes';
        sdlf.Status__c = 'Approved';
         
         Distributor__c dbr = new Distributor__c();
        dbr.title__c = 'Mr';
        dbr.Name = 'Test Distributor';
        dbr.Region__c ='Bihar';
        dbr.GSTN__c = '29AAACC1606D2ZV';
        dbr.PAN_Number__c = 'HDJNS7339H';
        dbr.Whatsapp_Number2__c = '9876456999';
        dbr.Whatsapp_Number__c  ='3434547476';
        dbr.Phone__c = '1234568870';
        dbr.Pincode__c = '234577';
        dbr.TCS_Required__c ='yes';
        dbr.Status__c = 'Approved';
        insert dlr;
        insert sdlf;
        insert dbr;
         
      Delivery_Order__c dlrodr = new Delivery_Order__c();
      dlrodr.From_Address__c = 'Jaipur-302016';
      dlrodr.To_Address__c='User-added imageFAX : 6702713';
      dlrodr.Date_Of_Delivery__c = system.today();
      dlrodr.GST__c = '24AAACC1206D1ZM';
      dlrodr.Pincode__c = '666777';
      dlrodr.City__c = 'Hyderabad';
      dlrodr.Bill_To__c = 'Direct';
      dlrodr.Bill_to_If_Direct__c = 'Dealer';
      dlrodr.Dealers__c = dlr.Id;  
         
      
      
     insert dlrodr;
     
     Test.StartTest(); 

  Delivery_Order__c doorder =[Select id,Name,City__c,Pincode__c,Destination_Address__c From Delivery_Order__c Where Id = :dlrodr.Id ];
            
            ApexPages.StandardController sc = new ApexPages.StandardController(doorder);
            
            dopdf dopdf1 = new dopdf(sc);
            
            PageReference pageRef = Page.DO_PDF; // Add your VF page Name here
            pageRef.getParameters().put('getid', doorder.id);
            Test.setCurrentPage(pageRef);
               
        Test.StopTest();
     
     }
}
CharuDuttCharuDutt
Hii Vankatesh
Try Below Code
If Dealer Object And Distributor Object Have Any Parent Child lookup Please Fill Up
@isTest 
public class DoPdfTest
{
    static testMethod void Dopdf()
    {
        Dealer__c dlr = new Dealer__c();
        dlr.Name = 'Test Dealer';
        dlr.Phone__c = '123456789';
        dlr.Pincode__c = '234567';
        dlr.Address1__c = 'test address 1';
        dlr.GSTN__c = '29AAACC1206D2ZB';
        dlr.Region__c = 'Bihar';
        dlr.District__c = 'Bhojpur';
        dlr.City__c = 'CHARKHI DADRI';
        dlr.Commission_Rate__c = 23.23;
        dlr.PAN__c = 'CDJNS7339L';
        dlr.Whatsapp_Number2__c = '9876456789';
        dlr.Whatsapp_Number__c  ='3434543456';
        dlr.Latitude__c = 77.2342344;
        dlr.Longitude__c = 98.7876787;
        dlr.TCS_Required__c = 'yes';
        dlr.Status__c = 'Approved';
        
        Sub_Dealer__c sdlf = new Sub_Dealer__c();
        sdlf.title__c ='Mr';
        sdlf.Name = 'Test subdealer';
        sdlf.Region__c = 'Bihar';
        sdlf.GSTN__c = '29AAACC1206D2ZV';
        sdlf.PAN__c = 'CDJNS7339H';
        sdlf.Whatsapp_Number2__c = '9876456799';
        sdlf.Whatsapp_Number__c  ='3434543476';
        sdlf.Phone__c = '1234567870';
        sdlf.Pincode__c = '234587';
        sdlf.TCS_Required__c ='yes';
        sdlf.Status__c = 'Approved';
        
        Distributor__c dbr = new Distributor__c();
        dbr.title__c = 'Mr';
        dbr.Name = 'Test Distributor';
        dbr.Region__c ='Bihar';
        dbr.GSTN__c = '29AAACC1606D2ZV';
        dbr.PAN_Number__c = 'HDJNS7339H';
        dbr.Whatsapp_Number2__c = '9876456999';
        dbr.Whatsapp_Number__c  ='3434547476';
        dbr.Phone__c = '1234568870';
        dbr.Pincode__c = '234577';
        dbr.TCS_Required__c ='yes';
        dbr.Status__c = 'Approved';
        insert dlr;
        insert sdlf;
        insert dbr;
        
        Delivery_Order__c dlrodr = new Delivery_Order__c();
        dlrodr.From_Address__c = 'Jaipur-302016';
        dlrodr.To_Address__c='User-added imageFAX : 6702713';
        dlrodr.Date_Of_Delivery__c = system.today();
        dlrodr.GST__c = '24AAACC1206D1ZM';
        dlrodr.Pincode__c = '666777';
        dlrodr.City__c = 'Hyderabad';
        dlrodr.Bill_To__c = 'Direct';
        dlrodr.Bill_to_If_Direct__c = 'Dealer';
        dlrodr.Dealers__c = dlr.Id;  
        insert dlrodr;
        
        Product_Line_Items__c pli = new Product_Line_Items__c();
        pli.Delivery_Order__c = dlrodr.Id;
        //Fill All Required Fields
        insert pli;
        
        Test.StartTest(); 
        
        Delivery_Order__c doorder =[Select id,Name,City__c,Pincode__c,Destination_Address__c From Delivery_Order__c Where Id = :dlrodr.Id ];
        
        ApexPages.StandardController sc = new ApexPages.StandardController(doorder);
        
        dopdf dopdf1 = new dopdf(sc);
        
        PageReference pageRef = Page.DO_PDF; // Add your VF page Name here
        pageRef.getParameters().put('getid', doorder.id);
        Test.setCurrentPage(pageRef);
        
        Test.StopTest();
        
    }
}
Please Mark It As Best Answer If It Helps
Thank You!
Venkatesh Ganta 16Venkatesh Ganta 16
@Charudutt   Still Same coverage after updating ProductLineItem