You need to sign in to do that
Don't have an account?
shekhar kumar 5
How to cover the code of Wrapper class
Hello gyys ,
i am trying to make a test class but i am facing some issue can someone help me out
Class -------------
public with sharing class NewQuoteLineItemCont {
public Quote__c quote {get; set;}
public List<QuoteLineItemWrapper> qliwList { get; set; }
public Integer glbCounter = 0;
public Integer index {get;set;}
public String type {get;set;}
public NewQuoteLineItemCont(){
String quoteId = ApexPages.CurrentPage().getParameters().get('QuoteId');
quote = ([ SELECT Id,Name FROM Quote__c WHERE Id =: quoteId ] ).get(0);
Quote_Line_Item__c item1 = new Quote_Line_Item__c();
item1.Quote__c = quote.Id;
glbCounter = 0;
Slab__c sl = new Slab__c();
qliwList = new List<QuoteLineItemWrapper> ();
QuoteLineItemWrapper qw = new QuoteLineItemWrapper ( quote , item1 , sl, glbCounter );
qliwList.add ( qw );
glbCounter++;
}
public void setSlabTableMethod(){
system.debug('===========index=============>>' + index );
if ( index != null && index >= 0 ){
QuoteLineItemWrapper qw = qliwList.get ( index );
if ( type != null && type.equalsIgnorecase('Slab') )
qw.showSlab = true;
else
qw.showSlab = false;
}
}
public void addProduct(){
Quote_Line_Item__c item1 = new Quote_Line_Item__c();
item1.Quote__c = quote.Id;
item1.Service_Tax__c = 14;
item1.VAT_CST__c = 5;
Slab__c sl = new Slab__c();
QuoteLineItemWrapper qw = new QuoteLineItemWrapper ( quote , item1 , sl, glbCounter );
qliwList.add ( qw );
glbCounter++;
system.debug('===========qliwList==============>>'+ qliwList );
}
public PageReference saveQuoteLine(){
Quote_Line_Item__c item = new Quote_Line_Item__c ();
Map<Quote_Line_Item__c,List<Slab__c>> quoteSlabMap = new Map<Quote_Line_Item__c,List<Slab__c>>();
List<Quote_Line_Item__c> insQuLineListWihoutSlab = new List<Quote_Line_Item__c>();
for ( QuoteLineItemWrapper qw : qliwList ){
System.debug('==========qw===============>>'+ qw );
System.debug('==========qw.lineItem===============>>'+ qw.lineItem );
System.debug('==========qw.slabList===============>>'+ qw.slabList );
item = qw.lineItem;
System.debug('==========item===============>>'+ item );
System.debug('==========item.Product__c ===============>>'+ item.Product__c );
System.debug('==========item.Price_Type__c===============>>'+ item.Price_Type__c);
if ( item.Product__c != null ){
if ( (item.Price_Type__c).equalsIgnoreCase('Slab') ){
List<Slab__c> slbList = new List<Slab__c>();
for ( Slab__c sl : qw.slabList ){
if ( sl.To__c != null && sl.Till__c != null && sl.Price__c != null )
slbList.add ( sl );
}
System.debug('==========item===============>>'+ item );
System.debug('==========slbList===============>>'+ slbList );
quoteSlabMap.put ( item , slbList );
}else{
insQuLineListWihoutSlab.add ( item );
}
}
}
if ( insQuLineListWihoutSlab.size() > 0 )
INSERT insQuLineListWihoutSlab;
System.debug('==========quoteSlabMap========BEFORE=======>>'+ quoteSlabMap );
if ( quoteSlabMap.size() > 0 ){
List<Quote_Line_Item__c> insQuLineList = new List<Quote_Line_Item__c>();
System.debug('==========quoteSlabMap.keySet()===============>>'+ quoteSlabMap.keySet() );
for ( Quote_Line_Item__c qline : quoteSlabMap.keySet() ){
System.debug('==========qline===============>>'+ qline );
insQuLineList.add ( qline );
}
INSERT insQuLineList;
Integer ck = 0;
List<Slab__c> insSbList = new List<Slab__c>();
for ( List<Slab__c> sbList : quoteSlabMap.values() ){
System.debug('==========sbList================>>'+ sbList );
for ( Slab__c sl : sbList ){
System.debug('==========insQuLineList.get ( ck )================>>'+ insQuLineList.get ( ck ) );
sl.Quote_Line_Item__c = insQuLineList.get ( ck ).Id;
insSbList.add ( sl );
}
ck++;
}
System.debug('==========insSbList================>>'+ insSbList );
if ( insSbList.size() > 0 )
INSERT insSbList;
/*List<Slab__c> insSlabList = new List<Slab__c>();
for ( Quote_Line_Item__c line : quoteSlabMap.keySet() ){
System.debug('==========line===============>>'+ line );
System.debug('==========line.Id===============>>'+ line.Id );
List<Slab__c> sList = quoteSlabMap.get ( line );
System.debug('==========sList===============>>'+ sList );
}
System.debug('==========quoteSlabMap========AFTER=======>>'+ quoteSlabMap );*/
}
return ( new PageReference ('/'+quote.Id) );
}
public PageReference cancelQuoteLine(){
return ( new PageReference ('/'+quote.Id) );
}
public class QuoteLineItemWrapper {
public Integer counter {get;set;}
public Quote__c quote {get;set;}
public Quote_Line_Item__c lineItem {get;set;}
public List<Slab__c> slabList {get;set;}
public Boolean showSlab {get;set;}
public QuoteLineItemWrapper( Quote__c q, Quote_Line_Item__c li , Slab__c s, Integer cnt){
counter = cnt;
quote = q;
lineItem = li;
//Slab__c slab;
slabList = new List<Slab__c>();
showSlab = false;
for ( Integer i = 0 ; i < 5 ; i++ ){
Slab__c slab = new Slab__c(name = 'slab-'+String.valueOf(i+1));
slabList.add ( slab );
}
}
}
}
and my test class is follows
@istest
Private Class TestNewQuoteLineItemCont{
Static TestMethod void TestNewQuoteLineItemCont(){
Account acc = new account();
acc.Name = 'Test';
insert acc;
Opportunity__c opp=new Opportunity__c(Name='test12',Account__c=acc.id);
insert opp;
Quote__c lead = new Quote__c();
lead.Description__c= 'TestLeadTest';
lead.Opportunity_Name__c=opp.id;
insert lead;
Product__c p=new Product__c();
p.Name='test';
insert p;
Quote_Line_Item__c Eve = new Quote_Line_Item__c();
Eve.Quote__c= lead.id;
Eve.Product__c=p.id;
insert Eve;
Slab__c s=new Slab__c();
s.name='s-1';
s.Quote_Line_Item__c=Eve.id;
insert s;
Slab__c s1=new Slab__c();
s1.name='s-1';
s1.Quote_Line_Item__c=Eve.id;
insert s1;
NewQuoteLineItemCont cls = new NewQuoteLineItemCont();
cls.QuoteLineItemWrapper a = new cls.QuoteLineItemWrapper(lead,Eve,s,1);
cls.setSlabTableMethod();
cls.addProduct();
cls.saveQuoteLine();
cls.cancelQuoteLine();
cls.index =1;
cls.type = 'abc';
}
}
Error is---------- Invalid type: cls.QuoteLineItemWrapper at line 38 column 37
i am trying to make a test class but i am facing some issue can someone help me out
Class -------------
public with sharing class NewQuoteLineItemCont {
public Quote__c quote {get; set;}
public List<QuoteLineItemWrapper> qliwList { get; set; }
public Integer glbCounter = 0;
public Integer index {get;set;}
public String type {get;set;}
public NewQuoteLineItemCont(){
String quoteId = ApexPages.CurrentPage().getParameters().get('QuoteId');
quote = ([ SELECT Id,Name FROM Quote__c WHERE Id =: quoteId ] ).get(0);
Quote_Line_Item__c item1 = new Quote_Line_Item__c();
item1.Quote__c = quote.Id;
glbCounter = 0;
Slab__c sl = new Slab__c();
qliwList = new List<QuoteLineItemWrapper> ();
QuoteLineItemWrapper qw = new QuoteLineItemWrapper ( quote , item1 , sl, glbCounter );
qliwList.add ( qw );
glbCounter++;
}
public void setSlabTableMethod(){
system.debug('===========index=============>>' + index );
if ( index != null && index >= 0 ){
QuoteLineItemWrapper qw = qliwList.get ( index );
if ( type != null && type.equalsIgnorecase('Slab') )
qw.showSlab = true;
else
qw.showSlab = false;
}
}
public void addProduct(){
Quote_Line_Item__c item1 = new Quote_Line_Item__c();
item1.Quote__c = quote.Id;
item1.Service_Tax__c = 14;
item1.VAT_CST__c = 5;
Slab__c sl = new Slab__c();
QuoteLineItemWrapper qw = new QuoteLineItemWrapper ( quote , item1 , sl, glbCounter );
qliwList.add ( qw );
glbCounter++;
system.debug('===========qliwList==============>>'+ qliwList );
}
public PageReference saveQuoteLine(){
Quote_Line_Item__c item = new Quote_Line_Item__c ();
Map<Quote_Line_Item__c,List<Slab__c>> quoteSlabMap = new Map<Quote_Line_Item__c,List<Slab__c>>();
List<Quote_Line_Item__c> insQuLineListWihoutSlab = new List<Quote_Line_Item__c>();
for ( QuoteLineItemWrapper qw : qliwList ){
System.debug('==========qw===============>>'+ qw );
System.debug('==========qw.lineItem===============>>'+ qw.lineItem );
System.debug('==========qw.slabList===============>>'+ qw.slabList );
item = qw.lineItem;
System.debug('==========item===============>>'+ item );
System.debug('==========item.Product__c ===============>>'+ item.Product__c );
System.debug('==========item.Price_Type__c===============>>'+ item.Price_Type__c);
if ( item.Product__c != null ){
if ( (item.Price_Type__c).equalsIgnoreCase('Slab') ){
List<Slab__c> slbList = new List<Slab__c>();
for ( Slab__c sl : qw.slabList ){
if ( sl.To__c != null && sl.Till__c != null && sl.Price__c != null )
slbList.add ( sl );
}
System.debug('==========item===============>>'+ item );
System.debug('==========slbList===============>>'+ slbList );
quoteSlabMap.put ( item , slbList );
}else{
insQuLineListWihoutSlab.add ( item );
}
}
}
if ( insQuLineListWihoutSlab.size() > 0 )
INSERT insQuLineListWihoutSlab;
System.debug('==========quoteSlabMap========BEFORE=======>>'+ quoteSlabMap );
if ( quoteSlabMap.size() > 0 ){
List<Quote_Line_Item__c> insQuLineList = new List<Quote_Line_Item__c>();
System.debug('==========quoteSlabMap.keySet()===============>>'+ quoteSlabMap.keySet() );
for ( Quote_Line_Item__c qline : quoteSlabMap.keySet() ){
System.debug('==========qline===============>>'+ qline );
insQuLineList.add ( qline );
}
INSERT insQuLineList;
Integer ck = 0;
List<Slab__c> insSbList = new List<Slab__c>();
for ( List<Slab__c> sbList : quoteSlabMap.values() ){
System.debug('==========sbList================>>'+ sbList );
for ( Slab__c sl : sbList ){
System.debug('==========insQuLineList.get ( ck )================>>'+ insQuLineList.get ( ck ) );
sl.Quote_Line_Item__c = insQuLineList.get ( ck ).Id;
insSbList.add ( sl );
}
ck++;
}
System.debug('==========insSbList================>>'+ insSbList );
if ( insSbList.size() > 0 )
INSERT insSbList;
/*List<Slab__c> insSlabList = new List<Slab__c>();
for ( Quote_Line_Item__c line : quoteSlabMap.keySet() ){
System.debug('==========line===============>>'+ line );
System.debug('==========line.Id===============>>'+ line.Id );
List<Slab__c> sList = quoteSlabMap.get ( line );
System.debug('==========sList===============>>'+ sList );
}
System.debug('==========quoteSlabMap========AFTER=======>>'+ quoteSlabMap );*/
}
return ( new PageReference ('/'+quote.Id) );
}
public PageReference cancelQuoteLine(){
return ( new PageReference ('/'+quote.Id) );
}
public class QuoteLineItemWrapper {
public Integer counter {get;set;}
public Quote__c quote {get;set;}
public Quote_Line_Item__c lineItem {get;set;}
public List<Slab__c> slabList {get;set;}
public Boolean showSlab {get;set;}
public QuoteLineItemWrapper( Quote__c q, Quote_Line_Item__c li , Slab__c s, Integer cnt){
counter = cnt;
quote = q;
lineItem = li;
//Slab__c slab;
slabList = new List<Slab__c>();
showSlab = false;
for ( Integer i = 0 ; i < 5 ; i++ ){
Slab__c slab = new Slab__c(name = 'slab-'+String.valueOf(i+1));
slabList.add ( slab );
}
}
}
}
and my test class is follows
@istest
Private Class TestNewQuoteLineItemCont{
Static TestMethod void TestNewQuoteLineItemCont(){
Account acc = new account();
acc.Name = 'Test';
insert acc;
Opportunity__c opp=new Opportunity__c(Name='test12',Account__c=acc.id);
insert opp;
Quote__c lead = new Quote__c();
lead.Description__c= 'TestLeadTest';
lead.Opportunity_Name__c=opp.id;
insert lead;
Product__c p=new Product__c();
p.Name='test';
insert p;
Quote_Line_Item__c Eve = new Quote_Line_Item__c();
Eve.Quote__c= lead.id;
Eve.Product__c=p.id;
insert Eve;
Slab__c s=new Slab__c();
s.name='s-1';
s.Quote_Line_Item__c=Eve.id;
insert s;
Slab__c s1=new Slab__c();
s1.name='s-1';
s1.Quote_Line_Item__c=Eve.id;
insert s1;
NewQuoteLineItemCont cls = new NewQuoteLineItemCont();
cls.QuoteLineItemWrapper a = new cls.QuoteLineItemWrapper(lead,Eve,s,1);
cls.setSlabTableMethod();
cls.addProduct();
cls.saveQuoteLine();
cls.cancelQuoteLine();
cls.index =1;
cls.type = 'abc';
}
}
Error is---------- Invalid type: cls.QuoteLineItemWrapper at line 38 column 37
Hope this helps!