-
ChatterFeed
-
0Best Answers
-
0Likes Received
-
0Likes Given
-
5Questions
-
2Replies
How to Do Code Coverage for Below one
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 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);
}
}
- Venkatesh Ganta 16
- December 29, 2022
- Like
- 0
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='FAX : 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();
}
}
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='FAX : 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();
}
}
- Venkatesh Ganta 16
- December 29, 2022
- Like
- 0
How to Code Coverage for the below one.
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.
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.
- Venkatesh Ganta 16
- December 17, 2021
- Like
- 0
How to do code Coverage for Remote actions, currently my code coverage is 72%, can anyone help to increase little bit
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();
}
}
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();
}
}
- Venkatesh Ganta 16
- December 14, 2021
- Like
- 0
How to cover code Coverage for Apex rest Api
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();
}
}
```
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();
}
}
```
- Venkatesh Ganta 16
- November 21, 2021
- Like
- 0
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='FAX : 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();
}
}
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='FAX : 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();
}
}
- Venkatesh Ganta 16
- December 29, 2022
- Like
- 0
How to cover code Coverage for Apex rest Api
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();
}
}
```
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();
}
}
```
- Venkatesh Ganta 16
- November 21, 2021
- Like
- 0