You need to sign in to do that
Don't have an account?
Test coverage;
Hi all.
i need test coverage for apex class, My apex, calss is
public class AIOlineitems {
public boolean check{set;get;}
id pid;
public boolean Newpol{set;get;}
public Integer sno{set;get;}
public Id poedit{set;get;}
public Availability_In_Order_Lineitems__c newPO{set;get;}
public Id poid{set;get;}
public map<id,Availability_In_Order_Lineitems__c> polmap{set;get;}
public Id productname{set;get;}
public integer cou{set;get;}
public List<SelectOption> productlist{set;get;}
public Availability_In_Order_Lineitems__c edu{set;get;}
public list<wrappo> POlist{set;get;}
public class wrappo{
public Availability_In_Order_Lineitems__c pol{set;get;}
public boolean newp{set;get;}
public integer no{set;get;}
public wrappo(){
pol=new Availability_In_Order_Lineitems__c();
newp=false;
}
}
public AIOlineitems(ApexPages.StandardController controller) {
productlist=new List<SelectOption>();
polmap=new map<id,Availability_In_Order_Lineitems__c>();
for(products__c p:[select id,Name from products__c ORDER BY Name DESC limit 1000])
productlist.add(new SelectOption(p.Id,p.Name));
NewPol=false;
PoId=Apexpages.currentpage().getParameters().get('id');
POlist=new list<wrappo>();
cou=0;
general();
}
public void Cancelpoedit(){
edu=null;
}
public void general(){
edu=null;
if(polist.size()>0)
polist.clear();
for(Availability_In_Order_Lineitems__c pol:[select Id,Name,Products__c,Products__r.name,Ordered_Quantity__c,Available_Quantity__c,Total_Product_price__c from Availability_In_Order_Lineitems__c where Availability_In_Order__c=:poid ORDER BY Name DESC limit 1000])
{
wrappo w=new wrappo();
w.pol=pol;
w.newp=false;
w.no=cou+1;
cou=cou+1;
polmap.put(pol.id,pol);
polist.add(w);
}
for(Availability_In_Order__C a:[select id,Purchase_Order__c from Availability_In_Order__C where id=:poid])
pid=a.Purchase_Order__c;
Purchase_Order__c p1=[select id,Available_Order_Accepted_by_executive__c from Purchase_Order__c where id=:pid];
check=p1.Available_Order_Accepted_by_executive__c;
}
public List<SelectOption> getproducts1(){
return productlist;
}
Public void newPoline(){
wrappo w=new wrappo();
newpo=new Availability_In_Order_Lineitems__c();
w.pol=newpo;
w.newp=true;
w.no=cou+1;
cou=cou+1;
polist.add(w);
}
public void editprodu(){
poedit=Apexpages.currentpage().getParameters().get('editid');
edu=polmap.get(poedit);
productname=edu.products__c;
sno=Integer.valueof(Apexpages.currentpage().getParameters().get('sno'));
}
public pagereference savepoedit(){
pagereference p;
if(edu!=null){
If(edu.products__c!=productname)
edu.products__c=productname;
update edu;
polist[sno-1].newp=false;
}
else{
polist[cou-1].pol.Availability_In_Order__c=poid;
polist[cou-1].pol.Products__c=productname;
insert polist[cou-1].pol;
polist[cou-1].newp=false;
}
general();
p=new pagereference('/'+poid);
return p;
}
public pagereference deleteprodu(){
pagereference p;
poedit=Apexpages.currentpage().getParameters().get('deid');
Availability_In_Order_Lineitems__c delpo=polmap.get(poedit);
if(delpo!=null)
delete delpo;
//polist.clear();
p=new pagereference('/'+poid);
//general();
return p;
}
}
i have written test class for the apex calss bu t i m getting error like Compile Error: Constructor not defined: [AIOlineitems].<Constructor>() at line 15 column 23
@isTest
private class TestAIOlineitems
{
static TestMethod void testAI01Line()
{
Products__c p=new Products__c(name='xxxxx');
insert p;
Purchase_Order__c po=new Purchase_Order__c();
insert po;
Availability_In_Order__c ava =new Availability_In_Order__c(Purchase_Order__c=po.id);
insert ava;
Availability_In_Order_Lineitems__c ao=new Availability_In_Order_Lineitems__c(Availability_In_Order__c=ava.id,Products__c=p.id);
insert ao;
ApexPages.Currentpage().getParameters().put('id',p.ID);
AIOlineitems ai=new AIOlineitems();
ai.getproducts1();
ai.Cancelpoedit();
ai.newPoline();
ai.editprodu();
ai.savepoedit();
ai.deleteprodu();
}
}
Hi,
You are getting this error because you don’t have default constructor inside the class. So either creates a default constructor or you can create a parameterized constructor inside the class. Try the below parameterized constructor inside the Test Method:
Availability_In_Order_Lineitems__c A = new Availability_In_Order_Lineitems__c();
ApexPages.StandardController sc = new ApexPages.standardController( A );
AIOlineitems obj = new PAIOlineitems (sc);
Did this answer your question? If not, let me know what didn't work, or if so, please mark it solved.
Hi
Try this
@isTest
private class TestAIOlineitems
{
static TestMethod void testAI01Line()
{
Products__c p=new Products__c(name='xxxxx');
insert p;
Purchase_Order__c po=new Purchase_Order__c();
insert po;
Availability_In_Order__c ava =new Availability_In_Order__c(Purchase_Order__c=po.id);
insert ava;
Availability_In_Order_Lineitems__c ao=new Availability_In_Order_Lineitems__c(Availability_In
_Order__c=ava.id,Products__c=p.id);
insert ao;
ApexPages.Currentpage().getParameters().put('id',p.ID);
ApexPages.StandardController sc = new ApexPages.StandardController(p);
AIOlineitems ai=new AIOlineitems(sc);
ai.getproducts1();
ai.Cancelpoedit();
ai.newPoline();
ai.editprodu();
ai.savepoedit();
ai.deleteprodu();
}
}
Regards,
Rajesh.
Hi all.
i need test coverage for apex class, My apex, calss is
public class AIOlineitems {
public boolean check{set;get;}
id pid;
public boolean Newpol{set;get;}
public Integer sno{set;get;}
public Id poedit{set;get;}
public Availability_In_Order_Lineitems__c newPO{set;get;}
public Id poid{set;get;}
public map<id,Availability_In_Order_Lineitems__c> polmap{set;get;}
public Id productname{set;get;}
public integer cou{set;get;}
public List<SelectOption> productlist{set;get;}
public Availability_In_Order_Lineitems__c edu{set;get;}
public list<wrappo> POlist{set;get;}
public class wrappo{
public Availability_In_Order_Lineitems__c pol{set;get;}
public boolean newp{set;get;}
public integer no{set;get;}
public wrappo(){
pol=new Availability_In_Order_Lineitems__c();
newp=false;
}
}
public AIOlineitems(ApexPages.StandardController controller) {
productlist=new List<SelectOption>();
polmap=new map<id,Availability_In_Order_Lineitems__c>();
for(products__c p:[select id,Name from products__c ORDER BY Name DESC limit 1000])
productlist.add(new SelectOption(p.Id,p.Name));
NewPol=false;
PoId=Apexpages.currentpage().getParameters().get('id');
POlist=new list<wrappo>();
cou=0;
general();
}
public void Cancelpoedit(){
edu=null;
}
public void general(){
edu=null;
if(polist.size()>0)
polist.clear();
for(Availability_In_Order_Lineitems__c pol:[select Id,Name,Products__c,Products__r.name,Ordered_Quantity__c,Available_Quantity__c,Total_Product_price__c from Availability_In_Order_Lineitems__c where Availability_In_Order__c=:poid ORDER BY Name DESC limit 1000])
{
wrappo w=new wrappo();
w.pol=pol;
w.newp=false;
w.no=cou+1;
cou=cou+1;
polmap.put(pol.id,pol);
polist.add(w);
}
for(Availability_In_Order__C a:[select id,Purchase_Order__c from Availability_In_Order__C where id=:poid])
pid=a.Purchase_Order__c;
Purchase_Order__c p1=[select id,Available_Order_Accepted_by_executive__c from Purchase_Order__c where id=:pid];
check=p1.Available_Order_Accepted_by_executive__c;
}
public List<SelectOption> getproducts1(){
return productlist;
}
Public void newPoline(){
wrappo w=new wrappo();
newpo=new Availability_In_Order_Lineitems__c();
w.pol=newpo;
w.newp=true;
w.no=cou+1;
cou=cou+1;
polist.add(w);
}
public void editprodu(){
poedit=Apexpages.currentpage().getParameters().get('editid');
edu=polmap.get(poedit);
productname=edu.products__c;
sno=Integer.valueof(Apexpages.currentpage().getParameters().get('sno'));
}
public pagereference savepoedit(){
pagereference p;
if(edu!=null){
If(edu.products__c!=productname)
edu.products__c=productname;
update edu;
polist[sno-1].newp=false;
}
else{
polist[cou-1].pol.Availability_In_Order__c=poid;
polist[cou-1].pol.Products__c=productname;
insert polist[cou-1].pol;
polist[cou-1].newp=false;
}
general();
p=new pagereference('/'+poid);
return p;
}
public pagereference deleteprodu(){
pagereference p;
poedit=Apexpages.currentpage().getParameters().get('deid');
Availability_In_Order_Lineitems__c delpo=polmap.get(poedit);
if(delpo!=null)
delete delpo;
//polist.clear();
p=new pagereference('/'+poid);
//general();
return p;
}
}
that red mark code is not covering , i got 35% coverage forthat class .any body can help
Hi
Try this
@isTest
private class TestAIOlineitems
{
static TestMethod void testAI01Line()
{
Products__c p=new Products__c(name='xxxxx');
insert p;
Purchase_Order__c po=new Purchase_Order__c();
insert po;
Availability_In_Order__c ava =new Availability_In_Order__c(Purchase_Order__c=po.id);
insert ava;
Availability_In_Order_Lineitems__c ao=new Availability_In_Order_Lineitems__c(Availability_In
_Order__c=ava.id,Products__c=p.id);
insert ao;
ApexPages.Currentpage().getParameters().put('id',p.ID);
AIOlineitems.wrappo ade= new AIOlineitems.wrappo();
ApexPages.StandardController sc = new ApexPages.StandardController(p);
AIOlineitems ai=new AIOlineitems(sc);
ai.getproducts1();
ai.Cancelpoedit();
ai.newPoline();
ai.editprodu();
ai.savepoedit();
ai.deleteprodu();
}
}
Regards,
Rajesh.
Hi Rajesh,
I Have witten test Calss for apex class It covers 71%,
@isTest
private class TestAIOlineitems
{
static TestMethod void testAI01Line()
{
AIOlineitems.wrappo w=new AIOlineitems.wrappo();
Products__c p=new Products__c(name='xxxxx');
insert p;
Purchase_Order__c po=new Purchase_Order__c();
insert po;
Availability_In_Order__c ava =new Availability_In_Order__c(Purchase_Order__c=po.id);
insert ava;
Availability_In_Order_Lineitems__c ao=new Availability_In_Order_Lineitems__c(Availability_In_Order__c=ava.id,Products__c=p.id);
insert ao;
ApexPages.Currentpage().getParameters().put('id',ava.ID);
ApexPages.StandardController sc = new ApexPages.StandardController(ao);
AIOlineitems ai=new AIOlineitems(sc);
ai.Cancelpoedit();
ai.getproducts1();
ai.newPoline();
ApexPages.Currentpage().getParameters().put('id',ao.ID);
ai.editprodu();
ai.savepoedit();
ai.deleteprodu();
}
----------------------------------------------
The apex class is
-------------------------------------------------------------
public class AIOlineitems {
public boolean check{set;get;}
id pid;
public boolean Newpol{set;get;}
public Integer sno{set;get;}
public Id poedit{set;get;}
public Availability_In_Order_Lineitems__c newPO{set;get;}
public Id poid{set;get;}
public map<id,Availability_In_Order_Lineitems__c> polmap{set;get;}
public Id productname{set;get;}
public integer cou{set;get;}
public List<SelectOption> productlist{set;get;}
public Availability_In_Order_Lineitems__c edu{set;get;}
public list<wrappo> POlist{set;get;}
public class wrappo{
public Availability_In_Order_Lineitems__c pol{set;get;}
public boolean newp{set;get;}
public integer no{set;get;}
public wrappo(){
pol=new Availability_In_Order_Lineitems__c();
newp=false;
}
}
public AIOlineitems(ApexPages.StandardController controller) {
productlist=new List<SelectOption>();
polmap=new map<id,Availability_In_Order_Lineitems__c>();
for(products__c p:[select id,Name from products__c ORDER BY Name DESC limit 1000])
productlist.add(new SelectOption(p.Id,p.Name));
NewPol=false;
PoId=Apexpages.currentpage().getParameters().get('id');
POlist=new list<wrappo>();
cou=0;
general();
}
public void Cancelpoedit(){
edu=null;
}
public void general(){
edu=null;
if(polist.size()>0)
polist.clear();
for(Availability_In_Order_Lineitems__c pol:[select Id,Name,Products__c,Products__r.name,Ordered_Quantity__c,Available_Quantity__c,Total_Product_price__c from Availability_In_Order_Lineitems__c where Availability_In_Order__c=:poid ORDER BY Name DESC limit 1000])
{
wrappo w=new wrappo();
w.pol=pol;
w.newp=false;
w.no=cou+1;
cou=cou+1;
polmap.put(pol.id,pol);
polist.add(w);
}
for(Availability_In_Order__C a:[select id,Purchase_Order__c from Availability_In_Order__C where id=:poid])
pid=a.Purchase_Order__c;
Purchase_Order__c p1=[select id,Available_Order_Accepted_by_executive__c from Purchase_Order__c where id=:pid];
check=p1.Available_Order_Accepted_by_executive__c;
}
public List<SelectOption> getproducts1(){
return productlist;
}
Public void newPoline(){
wrappo w=new wrappo();
newpo=new Availability_In_Order_Lineitems__c();
w.pol=newpo;
w.newp=true;
w.no=cou+1;
cou=cou+1;
polist.add(w);
}
public void editprodu(){
poedit=Apexpages.currentpage().getParameters().get('editid');
edu=polmap.get(poedit);
productname=edu.products__c;
sno=Integer.valueof(Apexpages.currentpage().getParameters().get('sno'));
}
public pagereference savepoedit(){
pagereference p;
if(edu!=null){
If(edu.products__c!=productname)
edu.products__c=productname;
update edu;
polist[sno-1].newp=false;
}
else{
polist[cou-1].pol.Availability_In_Order__c=poid;
polist[cou-1].pol.Products__c=productname;
insert polist[cou-1].pol;
polist[cou-1].newp=false;
}
general();
p=new pagereference('/'+poid);
return p;
}
public pagereference deleteprodu(){
pagereference p;
poedit=Apexpages.currentpage().getParameters().get('deid');
Availability_In_Order_Lineitems__c delpo=polmap.get(poedit);
if(delpo!=null)
delete delpo;
//polist.clear();
p=new pagereference('/'+poid);
//general();
return p;
}
}
this code is not covering rajesh can help me to cover that code
Hi
Try this
@isTest
private class TestAIOlineitems
{
static TestMethod void testAI01Line()
{
AIOlineitems.wrappo w=new AIOlineitems.wrappo();
Products__c p=new Products__c(name='xxxxx');
insert p;
Purchase_Order__c po=new Purchase_Order__c();
insert po;
Availability_In_Order__c ava =new Availability_In_Order__c(Purchase_Order__c=po.id);
insert ava;
Availability_In_Order_Lineitems__c ao=new Availability_In_Order_Lineitems__c(Availability_In
_Order__c=ava.id,Products__c=p.id);
insert ao;
ApexPages.Currentpage().getParameters().put('id',ava.ID);
ApexPages.StandardController sc = new ApexPages.StandardController(ao);
AIOlineitems ai=new AIOlineitems(sc);
ai.Cancelpoedit();
ai.getproducts1();
ai.newPoline();
ApexPages.Currentpage().getParameters().put('id',ao.ID);
ai.editprodu();
PageReference nextPage= ai.savepoedit();
PageReference nextPage1= ai.deleteprodu();
}
Regards,
Rajesh.
HI Rajesh
I am getting error like
System.NullPointerException: Attempt to de-reference a null object,,,,,Class.AIOlineitems.editprodu: line 76, column 1 Class.TestAIOlineitems.testAI01Line: line 25, column 1
Hi.
The parameters name is different in Class and test code
Class:
poedit=Apexpages.currentpage().getParameters().get('editid');
Test code:
ApexPages.Currentpage().getParameters().put('id',ao.ID);
In the above change id ->editid
I think it will work.
cheers
suresh
HIiiii,
now this part is not covering ,getting error like Null exception ,Argument1 should not equals to null.
public pagereference savepoedit(){
pagereference p;
if(edu!=null){
If(edu.products__c!=productname)
edu.products__c=productname;
update edu;
polist[sno-1].newp=false;
}
else{
polist[cou-1].pol.Availability_In_Order__c=poid;
polist[cou-1].pol.Products__c=productname;
insert polist[cou-1].pol;
polist[cou-1].newp=false;
}
general();
p=new pagereference('/'+poid);
return p;
}
public pagereference deleteprodu(){
pagereference p;
poedit=Apexpages.currentpage().getParameters().get('deid');
Availability_In_Order_Lineitems__c delpo=polmap.get(poedit);
if(delpo!=null)
delete delpo;
//polist.clear();
p=new pagereference('/'+poid);
//general();
return p;
Hi,
Try to insert the products__c and some other fields in Availability_In_Order_Lineitems__c .
and also keep.
pagereference pm = ApexPages.currentPage(a0);
these are to be kept before calling to savepoedit() method.
Regards,
Rajesh.