• Venkatesh Ganta 16
  • NEWBIE
  • 20 Points
  • Member since 2020

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 5
    Questions
  • 2
    Replies
Now the coverage is 15%

Controller : -
public class DS_Schedule_List {
    public class finalReturnList
    {
        public string region{get;set;}
        public List<deliveryDetails> detailsList{get;set;}
       
    }
    public class deliveryDetails
    {
        public integer sno{get;set;}
        public Decimal size360mtr{get;set;}
        public Decimal size300mtr{get;set;}
        public string partyName1{get;set;}
        public string partyName2{get;set;}
        Public string Region{get;set;}
        public String donum{get;set;}
        public String City{get;set;}
        public Date    Dodate{get;set;}
        public Decimal Freight{get;set;}
        public Decimal Meter{get;set;} 
        public Decimal Weight{get;set;}
        public Decimal Tonnes{get;set;}
        public string Transporter{get;set;}
        public Decimal size275mtr{get;set;}
        public Decimal size250mtr{get;set;}
        public Decimal size225mtr{get;set;}
        public Decimal size200mtr{get;set;}
        public Decimal size175mtr{get;set;}
        public Decimal size150mtr{get;set;}
        public Decimal size125mtr{get;set;}
        public Decimal size100mtr{get;set;}
        public Decimal size335mtr{get;set;}
        public Decimal size180mtr{get;set;}
        public Decimal sizeAR10{get;set;}
        public Decimal sizeAR2{get;set;}
        public Decimal sizeAR9{get;set;}
        public Decimal size15SC{get;set;}
        public String phoneNumberBuyer{get;set;}
        public String phoneNumberConsignee{get;set;}
        public String destinationAdd{get;set;}
    }
    
    public list<finalReturnList> finalReturnLists{get;set;}
   
    public Id getid{get;set;}
    public DS_Schedule_List(ApexPages.StandardController controller) 
    {
        
        
        getid=ApexPages.currentPage().getParameters().get('id');
        
        
        
        Map<string,List<deliveryDetails>> regionMap=new Map<string,List<deliveryDetails>>();
        //List<Delivery_Order__c> delOrderList=[Select Id,Name,Dispatch_Schedule__c,Name_Address_Of_Buyer__c,Name_Address_Of_Consignee__c,D_O_No__c,D_O_Date__c,Freight__c,District_for_DS_pdf__c,Weight__c,Destination_Address__c,Tonnes__c,Transporter__c,Total_Meters__c,Freights__c,Dealer_Name_for_DS__c,Distributor_Name_for_DS__c,Total_weight_Tonn_for_Metal__c,Region__c,(SELECT Id,Quantity_In_Number__c,Size__c,Products__r.Product_Specification__c,Name from ProductLineItems__r )  from Delivery_Order__c Where Status__c='Added to Dispatch Schedule'AND Dispatch_Schedule__c =:getid ORDER BY Region__c ASC];
         List<Delivery_Order__c> delOrderList=[Select Id,Name,Dispatch_Schedule__c,Name_Address_Of_Buyer__c,Name_Address_Of_Consignee__c,D_O_No__c,D_O_Date__c,Freight__c,District_for_DS_pdf__c,Weight__c,Destination_Address__c,
                                               Tonnes__c,Transporter__c,Total_Meters__c,Freights__c,Dealer_Name_for_DS__c,Distributor_Name_for_DS__c,Total_weight_Tonn_for_Metal__c,
                                               Region__c,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,Consignee_City__c,(SELECT Id,Quantity_In_Number__c,Size__c,Products__r.Product_Specification__c,Name from ProductLineItems__r )  from Delivery_Order__c Where Status__c!='Pending' AND  Dispatch_Schedule__c =:getid ORDER BY Region__c ASC];
        if(!delOrderList.isEmpty())
        {
            integer i=1;
            for(Delivery_Order__c obj:delOrderList)
            {
                deliveryDetails dlvObj=new deliveryDetails();             
                dlvObj.partyName1='';
                if(String.isNotBlank(obj.Pincode__c) && (obj.Consignee_City__c!= obj.City__c))
                {
                    dlvObj.partyName1='('+ obj.City__c+' '+ obj.Pincode__c;
                }
                else if(String.isNotBlank(obj.Destination_Address__c))
                {
                     dlvObj.partyName1='('+obj.Destination_Address__c;
                }
            
                if(String.isNotBlank(obj.District_for_DS_pdf__c))
                {
                     dlvObj.partyName1= (String.isNotBlank(dlvObj.partyName1))?(dlvObj.partyName1 +'), ' +obj.District_for_DS_pdf__c):(dlvObj.partyName1 +')' +obj.District_for_DS_pdf__c);
                }
                if(String.isNotBlank(obj.Dealer_Name_for_DS__c))
                {
                     dlvObj.partyName1=(String.isNotBlank(dlvObj.partyName1))?(dlvObj.partyName1 +', ('+ obj.Dealer_Name_for_DS__c+')'):('('+dlvObj.partyName1 + obj.Dealer_Name_for_DS__c+')');
                }
                if(String.isNotBlank(obj.Distributor_Name_for_DS__c))
                {
                     dlvObj.partyName1=dlvObj.partyName1+' ('+ obj.Distributor_Name_for_DS__c+')';   
                }
                dlvObj.partyName2=obj.Distributor_Name_for_DS__c;
                dlvObj.Region = obj.District_for_DS_pdf__c;
                dlvObj.donum=obj.Name;
                dlvObj.dodate=obj.D_O_Date__c;
                dlvObj.Freight=obj.Freight__c;
                dlvObj.Meter=obj.Total_Meters__c;
                dlvObj.Weight=obj.Weight__c;
                dlvObj.Tonnes=obj.tonnes__c;
                dlvObj.transporter=obj.Transporter__c;
                dlvobj.City = obj.Destination_Address__c;
                for(Product_Line_Items__c objDL:obj.ProductLineItems__r)
                {
                    if(objDL.Products__r.Product_Specification__c=='3.60')
                    {
                        dlvObj.size360mtr=(dlvObj.size360mtr != null)?(dlvObj.size360mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='3.00')
                    {
                        dlvObj.size300mtr=(dlvObj.size300mtr != null)?(dlvObj.size300mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.75')
                    {
                        dlvObj.size275mtr=(dlvObj.size275mtr != null)?(dlvObj.size275mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.50')
                    {
                        dlvObj.size250mtr=(dlvObj.size250mtr != null)?(dlvObj.size250mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.25')
                    {
                        dlvObj.size225mtr=(dlvObj.size225mtr != null)?(dlvObj.size225mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.00')
                    {
                        dlvObj.size200mtr=(dlvObj.size200mtr != null)?(dlvObj.size200mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.75')
                    {
                        dlvObj.size175mtr=(dlvObj.size175mtr != null)?(dlvObj.size175mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.50')
                    {
                        dlvObj.size150mtr=(dlvObj.size150mtr != null)?(dlvObj.size150mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.25')
                    {
                        dlvObj.size125mtr=(dlvObj.size125mtr != null)?(dlvObj.size125mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.00')
                    {
                        dlvObj.size100mtr=(dlvObj.size100mtr != null)?(dlvObj.size100mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='3.35')
                    {
                        dlvObj.size335mtr=(dlvObj.size335mtr != null)?(dlvObj.size335mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.83')
                    {
                        dlvObj.size180mtr=(dlvObj.size180mtr != null)?(dlvObj.size180mtr + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-10')
                    {
                        dlvObj.sizeAR10=(dlvObj.sizeAR10 != null)?(dlvObj.sizeAR10 + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-2')
                    {
                        dlvObj.sizeAR2=(dlvObj.sizeAR2 != null)?(dlvObj.sizeAR2 + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-9')
                    {
                        dlvObj.sizeAR9=(dlvObj.sizeAR9 != null)?(dlvObj.sizeAR9 + objDL.Quantity_In_Number__c):objDL.Quantity_In_Number__c ; 
                    }
                }             
               
                List<deliveryDetails> dlOrderList=new List<deliveryDetails>();
                if(regionMap.containsKey(obj.Region__c))
                {
                     i++;
                    dlvObj.sno=i;
                    dlOrderList=regionMap.get(obj.Region__c);
                    dlOrderList.add(dlvObj);
                    regionMap.put(obj.Region__c,dlOrderList);
                }
                else
                {
                    i=1;
                    dlvObj.sno=i;
                    dlOrderList.add(dlvObj);
                    regionMap.put(obj.Region__c,dlOrderList);
                }
            }
               
            List<finalReturnList> finalrtnList=new List<finalReturnList>();
            for(string obj:regionMap.keySet())
            {
                finalReturnList finalrtnObj=new finalReturnList();
                finalrtnObj.region=obj;
                finalrtnObj.detailsList=regionMap.get(obj);
                finalrtnList.add(finalrtnObj);
                finalReturnLists=finalrtnList;    
            }
        }
    }
    
}



Test class:- 


@isTest 
public class DS_Schedule_List_Test
{    
     @testSetup
     static void setTestData(){
       Dispatch_Schedule__c dispatch = new Dispatch_Schedule__c();
       
       Product__c prod = new Product__c ();
       Product_Line_Items__c prodlnitem = new Product_Line_Items__c();
       List<Product_Line_Items__c> prodlnitemList = new List<Product_Line_Items__c>();
       dispatch.Name='Dispatch Name';
       dispatch.Status__c='pending';
     
       insert dispatch;
          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';
         insert dlr;
     Delivery_Order__c dlrodr = new Delivery_Order__c();
        dlrodr.Pincode__c= '123233';
        dlrodr.From_Address__c = 'Jaipur-302016';
        dlrodr.To_Address__c=' 6702713';
        dlrodr.Date_Of_Delivery__c = system.today();
        dlrodr.Status__c = 'Added to Dispatch Schedule';
        dlrodr.GST__c = '24AAACC1206D1ZM';
        dlrodr.Dispatch_Schedule__c=dispatch.id;
        dlrodr.Bill_To__c = 'Direct';
        dlrodr.Bill_to_If_Direct__c = 'Dealer';
        dlrodr.Dealers__c = dlr.Id;
        insert dlrodr;
       
        prod.Name='A.C. Sheet (3.0 M) (Haryana)';
        prod.Unit__c='Meter';
        prod.Size__c = 3;
        prod.Product_Type__c = 'A.C. Sheet';
        prod.Weight__c = 5;
        prod.Product_Specification__c ='3.00';
        insert prod;
        

       Price_List__c Plist = new Price_List__c();
         Plist.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist.Unit_Price__c = 150;
         plist.Product_Specification__c ='3';
         plist.Region__c = 'Rajasthan';
         Plist.Product__c = prod.id;
         insert Plist;
         
  
       
        Product_Line_Items__c prodlnitem1 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.0 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem1);
        Product_Line_Items__c prodlnitem2 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.75 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem2);
        Product_Line_Items__c prodlnitem3 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='3.0 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem3);
        Product_Line_Items__c prodlnitem4 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.25 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem4);
        Product_Line_Items__c prodlnitem5 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='3.6 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem5);   
        Product_Line_Items__c prodlnitem6 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.5 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem6);
        Product_Line_Items__c prodlnitem7 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.75 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem7);
        Product_Line_Items__c prodlnitem8 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.5 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem8);
        Product_Line_Items__c prodlnitem9 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.25 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem9);
        Product_Line_Items__c prodlnitem10 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.80 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem10);   
        Product_Line_Items__c prodlnitem11 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.0 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem11);
        Product_Line_Items__c prodlnitem12 = new Product_Line_Items__c(Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.0 MTR',Product_Type__c ='A.C. Sheet'); prodlnitemList.add(prodlnitem12);
      
       // prodlnitem.Name='3.6 MTR';
        prodlnitem.Delivery_Order__c=dlrodr.id; 
        prodlnitem.Products__c=prod.id;
        prodlnitem.Quantity_In_Number__c=12;
        prodlnitemList.add(prodlnitem);
         
      
        insert prodlnitemList;
     }
     @isTest
     static void DispatchControllerTest(){
       
          
         //Delivery_Order__c delivery =[Select Id,Name,Dispatch_Schedule__c,Region__c,(SELECT Id,Quantity_In_Number__c,Size__c,Products__r.Product_Specification__c,Name from ProductLineItems__r )  from Delivery_Order__c Where Id =:Dispatch_Schedule__c.id];
         Dispatch_Schedule__c dispatch = [select id, Name, Status__c from Dispatch_Schedule__c where Name = : 'Dispatch Name'];
             ApexPages.StandardController sc = new ApexPages.StandardController(dispatch);
           DS_Schedule_List dispatchschedule = new DS_Schedule_List(sc);
            
             PageReference pageRef = Page.DS_Schedule_List; // Add your VF page Name here
          //  pageRef.getParameters().put('getid', dlrodr.id);
            Test.setCurrentPage(pageRef);    
     }     
}
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();
     
     }
}
The code is not covering due to the soql query on the test class, can anyone help to rectify this error.


Apex Class:-

public class DispatchController {

       public class finalReturnList
    {
        public string region{get;set;}
        public List<deliveryDetails> detailsList{get;set;}
    }
    public class deliveryDetails
    {
        public integer sno{get;set;}
        public Decimal size360mtr{get;set;}
        public Decimal size300mtr{get;set;}
        public string partyName1{get;set;}
        public string partyName2{get;set;}
        Public string Region{get;set;}
        public String donum{get;set;}
        public String City{get;set;}
        public Date    Dodate{get;set;}
        public Decimal Freight{get;set;}
        public Decimal Meter{get;set;} 
        public Decimal Weight{get;set;}
        public Decimal Tonnes{get;set;}
        public string Transporter{get;set;}
        public Decimal size275mtr{get;set;}
        public Decimal size250mtr{get;set;}
        public Decimal size225mtr{get;set;}
        public Decimal size200mtr{get;set;}
        public Decimal size175mtr{get;set;}
        public Decimal size150mtr{get;set;}
        public Decimal size125mtr{get;set;}
        public Decimal size100mtr{get;set;}
        public Decimal size335mtr{get;set;}
        public Decimal size180mtr{get;set;}
        public Decimal sizeAR10{get;set;}
        public Decimal sizeAR2{get;set;}
        public Decimal sizeAR9{get;set;}
        public Decimal size15SC{get;set;}
    }

    public list<finalReturnList> finalReturnLists{get;set;}
    public Id getid{get;set;}
    public DispatchController(ApexPages.StandardController controller) 
    {
         
   
        getid=ApexPages.currentPage().getParameters().get('id');
        
    
 
        Map<string,List<deliveryDetails>> regionMap=new Map<string,List<deliveryDetails>>();
        List<Delivery_Order__c> delOrderList=[Select Id,Name,Dispatch_Schedule__c,Name_Address_Of_Buyer__c,Name_Address_Of_Consignee__c,D_O_No__c,D_O_Date__c,Freight__c,District_for_DS_pdf__c,Weight__c,Destination_Address__c,Tonnes__c,Transporter__c,Total_Meters__c,Freights__c,Dealer_Name_for_DS__c,Distributor_Name_for_DS__c,Total_weight_Tonn_for_Metal__c,Region__c,(SELECT Id,Quantity_In_Number__c,Size__c,Products__r.Product_Specification__c,Name from ProductLineItems__r )  from Delivery_Order__c Where Status__c='Added to Dispatch Schedule'AND Dispatch_Schedule__c =:getid ORDER BY Region__c ASC];
        if(!delOrderList.isEmpty())
        {
            integer i=1;
            for(Delivery_Order__c obj:delOrderList)
            {
                deliveryDetails dlvObj=new deliveryDetails();
                dlvObj.sno=i;
                dlvObj.partyName1=obj.Dealer_Name_for_DS__c;
                dlvObj.partyName2=obj.Distributor_Name_for_DS__c;
                dlvObj.Region = obj.District_for_DS_pdf__c;
                dlvObj.donum=obj.Name;
                dlvObj.dodate=obj.D_O_Date__c;
                dlvObj.Freight=obj.Freight__c;
                dlvObj.Meter=obj.Total_Meters__c;
                dlvObj.Weight=obj.Weight__c;
               dlvObj.Tonnes=obj.tonnes__c;
                dlvObj.transporter=obj.Transporter__c;
                dlvobj.City = obj.Destination_Address__c;
                for(Product_Line_Items__c objDL:obj.ProductLineItems__r)
                {
                    if(objDL.Products__r.Product_Specification__c=='3.60')
                    {
                        dlvObj.size360mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='3.00')
                    {
                        dlvObj.size300mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.75')
                    {
                        dlvObj.size275mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.50')
                    {
                        dlvObj.size250mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.25')
                    {
                        dlvObj.size225mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='2.00')
                    {
                        dlvObj.size200mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.75')
                    {
                        dlvObj.size175mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.50')
                    {
                        dlvObj.size150mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.25')
                    {
                        dlvObj.size125mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.00')
                    {
                        dlvObj.size100mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='3.35')
                    {
                        dlvObj.size335mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='1.83')
                    {
                        dlvObj.size180mtr=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-10')
                    {
                        dlvObj.sizeAR10=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-2')
                    {
                        dlvObj.sizeAR2=objDL.Quantity_In_Number__c;
                    }
                    else if(objDL.Products__r.Product_Specification__c=='A.R.-9')
                    {
                        dlvObj.sizeAR9=objDL.Quantity_In_Number__c;
                    }
                }
                i++;
                
                List<deliveryDetails> dlOrderList=new List<deliveryDetails>();
                if(regionMap.containsKey(obj.Region__c))
                {
                    dlOrderList=regionMap.get(obj.Region__c);
                    dlOrderList.add(dlvObj);
                    regionMap.put(obj.Region__c,dlOrderList);
                }
                else
                {
                     dlOrderList.add(dlvObj);
                    regionMap.put(obj.Region__c,dlOrderList);
                }
            }
            
            List<finalReturnList> finalrtnList=new List<finalReturnList>();
            for(string obj:regionMap.keySet())
            {
                finalReturnList finalrtnObj=new finalReturnList();
                finalrtnObj.region=obj;
                finalrtnObj.detailsList=regionMap.get(obj);
                finalrtnList.add(finalrtnObj);
                finalReturnLists=finalrtnList;
            }
        }
    }

}



Test Class:-

@isTest 
public class DispatchControllerTest
{
     @testSetup
     static void setTestData(){
       Dispatch_Schedule__c dispatch = new Dispatch_Schedule__c();
       
       Product__c prod = new Product__c ();
       Product_Line_Items__c prodlnitem = new Product_Line_Items__c();
       List<Product_Line_Items__c> prodlnitemList = new List<Product_Line_Items__c>();
       dispatch.Name='Dispatch Name';
       dispatch.Status__c='pending';
     
       insert dispatch;
     Delivery_Order__c dlrodr = new Delivery_Order__c();
        dlrodr.Pincode__c= '123233';
        dlrodr.From_Address__c = 'Jaipur-302016';
        dlrodr.To_Address__c=' FAX : 6702713';
        dlrodr.Date_Of_Delivery__c = system.today();
        dlrodr.Status__c = 'Added to Dispatch Schedule';
        dlrodr.GST__c = '24AAACC1206D1ZM';
        dlrodr.Dispatch_Schedule__c=dispatch.id;
        insert dlrodr;
       
        prod.Name='A.C. Sheet (3.0 M) (Haryana)';
        prod.Unit__c='Meter';
        prod.Size__c = 3;
        prod.Product_Type__c = 'A.C. Sheet';
        prod.Weight__c = 5;
        prod.Product_Specification__c ='3.00';
        insert prod;
         Product__c prod1 = new Product__c ();
         prod1.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod1.Unit__c='Meter';
        prod1.Size__c = 3;
        prod1.Product_Type__c = 'A.C. Sheet';
        prod1.Weight__c = 5;
        prod1.Product_Specification__c ='2.00';
        insert prod1;
         
         Product__c prod2 = new Product__c ();
         prod2.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod2.Unit__c='Meter';
        prod2.Size__c = 3;
        prod2.Product_Type__c = 'A.C. Sheet';
        prod2.Weight__c = 5;
        prod2.Product_Specification__c ='1.75';
        insert prod2;
         
         Product__c prod3 = new Product__c ();
         prod3.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod3.Unit__c='Meter';
        prod3.Size__c = 3;
        prod3.Product_Type__c = 'A.C. Sheet';
        prod3.Weight__c = 5;
        prod3.Product_Specification__c ='1.50';
        insert prod3;
         
         Product__c prod4 = new Product__c ();
         prod4.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod4.Unit__c='Meter';
        prod4.Size__c = 3;
        prod4.Product_Type__c = 'A.C. Sheet';
        prod4.Weight__c = 5;
        prod4.Product_Specification__c ='2.75';
        insert prod4;
         
         Product__c prod5 = new Product__c ();
         prod5.Name='A.C. Sheet (2.0 M) (Haryana)';
        prod5.Unit__c='Meter';
        prod5.Size__c = 3;
        prod5.Product_Type__c = 'A.C. Sheet';
        prod5.Weight__c = 5;
        prod5.Product_Specification__c ='1.25';
        insert prod5;

       Price_List__c Plist = new Price_List__c();
         Plist.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist.Unit_Price__c = 150;
         plist.Product_Specification__c ='3';
         plist.Region__c = 'Rajasthan';
         Plist.Product__c = prod.id;
         insert Plist;
         
         Price_List__c Plist1 = new Price_List__c();
         Plist1.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist1.Unit_Price__c = 150;
         plist1.Product_Specification__c ='2';
         plist1.Region__c = 'Rajasthan';
         Plist1.Product__c = prod1.id;
         insert Plist1;
         
         Price_List__c Plist2 = new Price_List__c();
         Plist2.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist2.Unit_Price__c = 150;
         plist2.Product_Specification__c ='1.75';
         plist2.Region__c = 'Rajasthan';
         Plist2.Product__c = prod2.id;
         insert Plist2;
         
         Price_List__c Plist3 = new Price_List__c();
         Plist3.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist3.Unit_Price__c = 150;
         plist3.Product_Specification__c ='1.5';
         plist3.Region__c = 'Rajasthan';
         Plist3.Product__c = prod3.id;
         insert Plist3;
         
         Price_List__c Plist4 = new Price_List__c();
         Plist4.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist4.Unit_Price__c = 150;
         plist4.Product_Specification__c ='2.75';
         plist4.Region__c = 'Rajasthan';
         Plist4.Product__c = prod4.id;
         insert Plist4;
         
         Price_List__c Plist5 = new Price_List__c();
         Plist5.Name = 'A.C. Sheet (3.0 M) (Haryana)';
         Plist5.Unit_Price__c = 150;
         plist5.Product_Specification__c ='1.25';
         plist5.Region__c = 'Rajasthan';
         Plist5.Product__c = prod5.id;
         insert Plist5;
       
        Product_Line_Items__c prodlnitem1 = new Product_Line_Items__c(Name= '2.0 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod1.id,Price_List__c=Plist1.id,Quantity_In_Number__c=1,Size__c ='2.0 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem1);
        Product_Line_Items__c prodlnitem2 = new Product_Line_Items__c(Name= '2.75 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod4.id,Price_List__c=Plist4.id,Quantity_In_Number__c=1,Size__c ='2.75 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem2);
        Product_Line_Items__c prodlnitem3 = new Product_Line_Items__c(Name= '3.0 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='3.0 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem3);
        Product_Line_Items__c prodlnitem4 = new Product_Line_Items__c(Name= '2.25 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.25 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem4);
        Product_Line_Items__c prodlnitem5 = new Product_Line_Items__c(Name= '3.60',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='3.6 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem5);   
        Product_Line_Items__c prodlnitem6 = new Product_Line_Items__c(Name= '2.5 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.5 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem6);
        Product_Line_Items__c prodlnitem7 = new Product_Line_Items__c(Name= '1.75 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod2.id,Price_List__c=Plist2.id,Quantity_In_Number__c=1,Size__c ='1.75 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem7);
        Product_Line_Items__c prodlnitem8 = new Product_Line_Items__c(Name= '1.5 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod3.id,Price_List__c=Plist3.id,Quantity_In_Number__c=1,Size__c ='    1.5 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem8);
        Product_Line_Items__c prodlnitem9 = new Product_Line_Items__c(Name= '1.25 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod5.id,Price_List__c=Plist5.id,Quantity_In_Number__c=1,Size__c ='1.25 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem9);
        Product_Line_Items__c prodlnitem10 = new Product_Line_Items__c(Name= '1.80 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.80 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem10);   
        Product_Line_Items__c prodlnitem11 = new Product_Line_Items__c(Name= '1.0 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='1.0 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem11);
        Product_Line_Items__c prodlnitem12 = new Product_Line_Items__c(Name= '3.35 MTR',Delivery_Order__c=dlrodr.id,Products__c=prod.id,Price_List__c=Plist.id,Quantity_In_Number__c=1,Size__c ='2.0 MTR',Product_Type__c ='AC Sheet'); prodlnitemList.add(prodlnitem12);
      
        prodlnitem.Name='3.6 MTR';
        prodlnitem.Delivery_Order__c=dlrodr.id; 
        prodlnitem.Products__c=prod.id;
        prodlnitem.Quantity_In_Number__c=12;
        prodlnitemList.add(prodlnitem);
         
      
        insert prodlnitemList;
     }
     @isTest
     static void DispatchControllerTest(){
         Delivery_Order__c delivery =[Select Id,Name,Dispatch_Schedule__r.Name,Region__c,(SELECT Id,Quantity_In_Number__c,Size__c,Products__r.Product_Specification__c,Name from ProductLineItems__r )  from Delivery_Order__c Where Dispatch_Schedule__r.Name = : 'Dispatch Name' ];
         Dispatch_Schedule__c dispatch = [select id, Name, Status__c from Dispatch_Schedule__c where Name = : 'Dispatch Name'];
             ApexPages.StandardController sc = new ApexPages.StandardController(delivery);
           DispatchController dispatchschedule = new DispatchController(sc);
            
             PageReference pageRef = Page.DS_Schedule_List; // Add your VF page Name here
          //  pageRef.getParameters().put('getid', dlrodr.id);
            Test.setCurrentPage(pageRef);    
     }     
}

Issue is existing on the Query of Test Class.
global with sharing class FullCalendarDemo {

    Public string name;
    public string selectedOwner {set;get;}
    public string selectedType {set;get;}
    public decimal latt {get;set;}
    public decimal longt {get;set;}
    public List < visitList > vist_List {set;get;}
    public List < Account > acc_list {set;get;}
    public List < Account > All_acc_list {set;get;}

    public FullCalendarDemo() {
        searchAccountRecords();
    }
    public static List < selectOption > getUsers() {
        List < selectOption > userList = new List < selectOption > ();
        // List<User> lstUsers = [select Id,Name ,UserName from User where usertype IN ('Standard') ];
        String ProfileName = [SELECT Id, Name FROM Profile where Id =: UserInfo.getProfileId()].Name;
        List < User > lstUsers = new List < User > ();
        If(ProfileName == 'System Administrator') {
            lstUsers = [select Id, Name, UserName from User where usertype IN('Standard')];
        }
        else {
            lstUsers = [select Id, Name, UserName from User where(Id =: UserInfo.getUserId() OR ManagerId =: UserInfo.getUserId())];
        }

        system.debug('lstUsers' + lstUsers);

        for (User u: lstUsers) {
            userList.add(new selectOption(u.Id, u.Name));
            system.debug('userList' + userList);
        }
        return userList;
    }

    @RemoteAction
    global static List < User_Calendar__c > getEvents(String userId) {
        // String userId = UserInfo.getUserId() ;
        List < User_Calendar__c > userCalendar = [SELECT Id, Name, User__r.Name,
            Event__c, Event__r.Name, Event__r.Start_Time__c, Event__r.End_Time__c
            FROM User_Calendar__c
            WHERE User__c =: userId
        ];
        if (userCalendar.size() > 0) {
            return userCalendar;
        } else {
            return null;
        }
    }
    public List < SelectOption > getAccountTypeValues() {
        List < SelectOption > options = new List < SelectOption > ();
        Schema.DescribeFieldResult fieldResult = Account.Account_Type__c.getDescribe();
        List < Schema.PicklistEntry > ple = fieldResult.getPicklistValues();
        options.add(new SelectOption('Select', 'Select'));
        for (Schema.PicklistEntry f: ple) {
            options.add(new SelectOption(f.getLabel(), f.getValue()));
        }
        options.add(new SelectOption('All', 'All'));


        return options;
    }

    @RemoteAction
    global static List < User_Calendar__c > createOrUpdateEvents(String calendarEvent, String userId) {
        //Geting Calendar_Event__c object from received Json String
        Calendar_Event__c eventObject = ((Calendar_Event__c) JSON.deserialize(calendarEvent, Calendar_Event__c.class));
        //you need to put proper regex to validate recordId
        Boolean isOldRecord = eventObject.Id != null;
        
        upsert eventObject;
        //If its new record, create User Calendar record as well
        if (!isOldRecord) 
        {           
            User_Calendar__c userCalendar = new User_Calendar__c(Event__c = eventObject.Id, User__c = userId);
            insert userCalendar;
        }
        return getEvents(userId);
    }
    @RemoteAction
    global static List < User_Calendar__c > DeleteEvents(String calendarEvent, String userId) {
        //Geting Calendar_Event__c object from received Json String
        Calendar_Event__c eventObject = ((Calendar_Event__c) JSON.deserialize(calendarEvent, Calendar_Event__c.class));
        //you need to put proper regex to validate recordId
        Boolean isOldRecord = eventObject.Id != null;
        // eventObject.Account_Type__c=test;
        delete eventObject;
        //If its new record, create User Calendar record as well

        return getEvents(userId);
    }

    public void searchAccountRecords() {
        system.debug('heeee' + selectedType);
        try {
            List < Dealer__c > dealerList = new List < Dealer__c > ();
            List < Sub_Dealer__c > subDealerList = new List < Sub_Dealer__c > ();
            List < Distributor__c > distributorList = new List < Distributor__c > ();
            List < visitList > vList = new List < visitList > ();

            if (selectedType == 'Dealer') {
                dealerList = [Select Id, name, Status__c from Dealer__c Where Status__c ='Approved'];
            } else if (selectedType == 'SubDealer') {
                subDealerList = [Select Id, name,Status__c from Sub_Dealer__c Where Status__c ='Approved'];
            } else if (selectedType == 'Distributor') {
                distributorList = [Select Id, name,Status__c from Distributor__c Where Status__c ='Approved'];
            } else {
                dealerList = [Select Id, Name from Dealer__c];
                subDealerList = [Select Id, Name from Sub_Dealer__c];
                distributorList = [Select Id, Name from Distributor__c];
            }
            if (!dealerList.isEmpty()) {
                for (Dealer__c obj: dealerList) {
                    visitList vObj = new visitList();
                    vObj.Id = obj.Id;
                    vObj.Name = obj.Name;
                    vObj.Type = 'Dealer';
                    vList.add(vObj);
                }
            }
            if (!subDealerList.isEmpty()) {
                for (Sub_Dealer__c obj: subDealerList) {
                    visitList vObj = new visitList();
                    vObj.Id = obj.Id;
                    vObj.Name = obj.name;
                    vObj.Type = 'Sub Dealer';
                    vList.add(vObj);
                }
            }
            if (!distributorList.isEmpty()) {
                for (Distributor__c obj: distributorList) {
                    visitList vObj = new visitList();
                    vObj.Id = obj.Id;
                    vObj.Name = obj.Name;
                    vObj.Type = 'Distributor';
                    vList.add(vObj);
                }
            }
            vist_List = vList;
            system.debug('vist_List' + vist_List);
        } catch (Exception e) {
            System.debug('Message:=' + e.getMessage() + '***' + e.getLineNumber());
        }
    }
  
    public class visitList {
        public string Id {get;set;}
        public string Name {get;set;}
        public string Type {get;set;}
    }
}



Test Class:-

@isTest
public class FullCalendarDemoTest {
  @testSetup
    static void setTestData(){
        Profile p = [SELECT Id FROM Profile WHERE Name='System Administrator']; 
        User u = new User(Alias = 'standt', Email='testsystemadmin@testorg.com', 
            EmailEncodingKey='UTF-8', LastName='Test admin', LanguageLocaleKey='en_US', 
            LocaleSidKey='en_US', ProfileId = p.Id, 
            TimeZoneSidKey='America/Los_Angeles', UserName='testadmin@testorg.com');
    insert u;
        
        Profile p1 = [SELECT Id FROM Profile WHERE Name='Standard User']; 
        User u1 = new User(Alias = 'standt', Email='standarduser@testorg.com', 
            EmailEncodingKey='UTF-8', LastName='Testing', LanguageLocaleKey='en_US', 
            LocaleSidKey='en_US', ProfileId = p1.Id, 
            TimeZoneSidKey='America/Los_Angeles', UserName='teststandarduser@testorg.com');
        insert u1;
        
        Account acc = new Account(Name='TestAccount');
        Contact cont = new Contact(lastName='TestContact', AccountId = acc.Id);
        Event testEvent = new Event();
        testEvent.WhoId = cont.Id;
        testEvent.StartDateTime = DateTime.newInstance(2021, 8, 20);
        testEvent.EndDateTime = DateTime.newInstance(2021, 8, 21);
        testEvent.OwnerId = u.Id;
        insert testEvent;
        
        Dealer__c dlr = new Dealer__c();
        dlr.Dealer_Name__c = 'Test Dealer';
        dlr.Phone__c = '1234567890';
        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.Distributor_Name__c = '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;
    }
    
    @isTest
    static void FullCalendarDemoTest(){
        User usr = [select id, UserName from user where UserName = 'testadmin@testorg.com'];
        System.runAs(usr){}
        List < selectOption > userlist = FullCalendarDemo.getUsers();
        User usrstandard = [select id, UserName from user where UserName = 'teststandarduser@testorg.com'];
        System.runAs(usrstandard){}
        List < selectOption > stduserlist = FullCalendarDemo.getUsers();
        List < User_Calendar__c > uc = FullCalendarDemo.getEvents(usr.Id);
        FullCalendarDemo fcd = new FullCalendarDemo();
        List < SelectOption > accounttypes = fcd.getAccountTypeValues();
    }    
    
}User-added image
I am getting a NullPoint Exception on test class, any help will be appreciated.

My API Class:-

```
@RestResource (urlmapping = '/UpdateBill/*')
    global without sharing class ApiUpdateClass{
        
        @HttpPost
        global static void updateBill(OrderInfo oInfo){
            List<OrderDetail> objOrderDetail = oInfo.orderDt;
            Map<string,string> orderDetailMap=new Map<string,string>();
            List<Delivery_Order__c> upodateableList = new List<Delivery_Order__c>();
            if(objOrderDetail !=null && !objOrderDetail.isEmpty())
            {
                for(OrderDetail obj:objOrderDetail)
                {
                    orderDetailMap.put(obj.doNumber,obj.billNumber);
                }
                List<Delivery_Order__c> objOrderList = [Select id,Name,Bill_Number__c From Delivery_Order__c Where Name in :orderDetailMap.keySet()];
                for(Delivery_Order__c obj:objOrderList)
                {
                    if(orderDetailMap.containsKey(obj.Name))
                    {
                        obj.Bill_Number__c = orderDetailMap.get(obj.Name);
                        obj.Status__c ='Bill Generated';
                        upodateableList.add(obj);
                    }    
                }              
                if(!upodateableList.isEmpty())
                {
                    database.update(upodateableList);
                    RestContext.response.responseBody = Blob.valueOf('{"success":"Update successfully"}');
                }        
            }
            else
            {
                RestContext.response.responseBody = Blob.valueOf('{"error":"There is something went wrong"}');
            }    
            // RestContext.response.responseBody = Blob.valueOf('{"error":"'+objOrderDetailList+'"}');*/
        }
        
        global class  OrderDetail{
            global string billNumber;
            global string doNumber;
            
        }
         global class OrderInfo{
           List<OrderDetail> orderDt { get; set; }
        }
    }
```

Test Class:-
```
@isTest
@isTest
public class ApiUpdateClass_Test {
    
    Public static testmethod void setup() {
        Test.startTest();
        RestRequest request = new RestRequest();
        RestResponse res = new RestResponse();
        request.requestUri ='https://uat-restexplorer.cs32.force.com/services/apexrest/UpdateBill';
        request.httpMethod = 'POST';
        request.addHeader('Content-Type', 'Test/xml');
        RestContext.request = request;
        RestContext.response = res;
        
        ApiUpdateClass.OrderInfo oinfor = new ApiUpdateClass.OrderInfo();
        ApiUpdateClass.OrderDetail od= new ApiUpdateClass.OrderDetail();
        
        od.doNumber='123';
        od.billNumber='234';
        
        //Delivery_Order__c dod =ApiUpdateClass.updateBill(oinfor);
        ApiUpdateClass.updateBill(oinfor);
        System.assertEquals('234', od.billNumber);
        Test.stopTest();
    }
}
```

User-added image
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();
     
     }
}
I am getting a NullPoint Exception on test class, any help will be appreciated.

My API Class:-

```
@RestResource (urlmapping = '/UpdateBill/*')
    global without sharing class ApiUpdateClass{
        
        @HttpPost
        global static void updateBill(OrderInfo oInfo){
            List<OrderDetail> objOrderDetail = oInfo.orderDt;
            Map<string,string> orderDetailMap=new Map<string,string>();
            List<Delivery_Order__c> upodateableList = new List<Delivery_Order__c>();
            if(objOrderDetail !=null && !objOrderDetail.isEmpty())
            {
                for(OrderDetail obj:objOrderDetail)
                {
                    orderDetailMap.put(obj.doNumber,obj.billNumber);
                }
                List<Delivery_Order__c> objOrderList = [Select id,Name,Bill_Number__c From Delivery_Order__c Where Name in :orderDetailMap.keySet()];
                for(Delivery_Order__c obj:objOrderList)
                {
                    if(orderDetailMap.containsKey(obj.Name))
                    {
                        obj.Bill_Number__c = orderDetailMap.get(obj.Name);
                        obj.Status__c ='Bill Generated';
                        upodateableList.add(obj);
                    }    
                }              
                if(!upodateableList.isEmpty())
                {
                    database.update(upodateableList);
                    RestContext.response.responseBody = Blob.valueOf('{"success":"Update successfully"}');
                }        
            }
            else
            {
                RestContext.response.responseBody = Blob.valueOf('{"error":"There is something went wrong"}');
            }    
            // RestContext.response.responseBody = Blob.valueOf('{"error":"'+objOrderDetailList+'"}');*/
        }
        
        global class  OrderDetail{
            global string billNumber;
            global string doNumber;
            
        }
         global class OrderInfo{
           List<OrderDetail> orderDt { get; set; }
        }
    }
```

Test Class:-
```
@isTest
@isTest
public class ApiUpdateClass_Test {
    
    Public static testmethod void setup() {
        Test.startTest();
        RestRequest request = new RestRequest();
        RestResponse res = new RestResponse();
        request.requestUri ='https://uat-restexplorer.cs32.force.com/services/apexrest/UpdateBill';
        request.httpMethod = 'POST';
        request.addHeader('Content-Type', 'Test/xml');
        RestContext.request = request;
        RestContext.response = res;
        
        ApiUpdateClass.OrderInfo oinfor = new ApiUpdateClass.OrderInfo();
        ApiUpdateClass.OrderDetail od= new ApiUpdateClass.OrderDetail();
        
        od.doNumber='123';
        od.billNumber='234';
        
        //Delivery_Order__c dod =ApiUpdateClass.updateBill(oinfor);
        ApiUpdateClass.updateBill(oinfor);
        System.assertEquals('234', od.billNumber);
        Test.stopTest();
    }
}
```

User-added image