You need to sign in to do that
Don't have an account?
sandeepathadu
how to cover the else conditions in test case
this is my class
public class Oppctrldelete { decimal j = 0; public Oppctrldelete(ApexPages.StandardController controller) { this.id =ApexPages.currentPage().getParameters().get('id'); op =[select id,name,Total_Invoiced__c,Total_Approved__c ,Billings_Indicator__c ,StageFilter__c,final_stage__c ,Quote_vs_Billings_Difference__c ,Filterstage__c,Total_Planned__c,Total_Submitted__c,ownerid,Purchase_order__c,Account.name,stagename,CloseDate,amount,probability,Header_Opportunity__c,Accountid,Opp_Line_Items_Count__c,Billing_Contact__c,No_Of_Months_for_Billing__c from Opportunity where id=:id]; oli = [select id,Quantity,delete__c ,description,pricebookentry.name,UnitPrice,TotalPrice ,Opportunityid,Quote_Original_List_Price__c,Product_Code__c from OpportunityLineItem where opportunityid=:id ORDER BY Quantity]; if(op.StageFilter__c== 'Billing-Planned'){ opps =[select id,ownerid,Final_Stage__c,name,Account.name,stagename,CloseDate,amount,probability,Header_Opportunity__c,Accountid,Opp_Line_Items_Count__c,Billing_Contact__c,No_Of_Months_for_Billing__c,Filterstage__c from Opportunity where Header_Opportunity__c =:op.id ORDER BY closedate]; oppli = [select id,Line_Item_Total__c,Quantity,Quantity__c,PricebookEntryId,delete__c ,TotalPrice ,description,UnitPrice,Opportunityid,Quote_Original_List_Price__c,Product_Code__c from OpportunityLineItem where opportunityid in: opps ORDER BY Quantity]; } else if(op.StageFilter__c== 'Billing-Submitted'){ opps =[select id,ownerid,Final_Stage__c,name,Account.name,stagename,CloseDate,amount,probability,Header_Opportunity__c,Accountid,Opp_Line_Items_Count__c,Billing_Contact__c,No_Of_Months_for_Billing__c,Filterstage__c from Opportunity where Header_Opportunity__c =:op.id AND (stagename='Billing-Submitted' OR stagename='Billing-Approved' OR stagename='Billing-Invoiced') ORDER BY closedate]; oppli = [select id,Line_Item_Total__c,Quantity,Quantity__c,delete__c ,PricebookEntryId,TotalPrice ,description,UnitPrice,Opportunityid,Quote_Original_List_Price__c,Product_Code__c from OpportunityLineItem where opportunityid in: opps ORDER BY Quantity]; } else if(op.StageFilter__c== 'Billing-Approved'){ opps =[select id,ownerid,Final_Stage__c,name,Account.name,stagename,CloseDate,amount,probability,Header_Opportunity__c,Accountid,Opp_Line_Items_Count__c,Billing_Contact__c,No_Of_Months_for_Billing__c,Filterstage__c from Opportunity where Header_Opportunity__c =:op.id AND (stagename='Billing-Approved' OR stagename='Billing-Invoiced') ORDER BY closedate]; oppli = [select id,Line_Item_Total__c,PricebookEntryId ,Quantity,Quantity__c,delete__c ,TotalPrice ,description,UnitPrice,Opportunityid,Quote_Original_List_Price__c,Product_Code__c from OpportunityLineItem where opportunityid in: opps ORDER BY Quantity]; } else if(op.StageFilter__c== 'Billing-Invoiced'){ opps =[select id,ownerid,Final_Stage__c,name,Account.name,stagename,CloseDate,amount,probability,Header_Opportunity__c,Accountid,Opp_Line_Items_Count__c,Billing_Contact__c,No_Of_Months_for_Billing__c,Filterstage__c from Opportunity where Header_Opportunity__c =:op.id AND stagename='Billing-Invoiced' ORDER BY closedate]; oppli = [select id,Line_Item_Total__c,PricebookEntryId,Quantity,Quantity__c,delete__c ,TotalPrice ,description,UnitPrice,Opportunityid,Quote_Original_List_Price__c,Product_Code__c from OpportunityLineItem where opportunityid in: opps ORDER BY Quantity]; } //opadd =[select id, MAX(CloseDate) from Opportunity Limit 1 ]; //oppli = [select id,Line_Item_Total__c,Quantity,delete__c ,TotalPrice ,description,UnitPrice,Opportunityid,Quote_Original_List_Price__c,Product_Code__c from OpportunityLineItem where opportunityid in: opps]; Oppsnew = new List<Opportunity>(); Opplinew = new List<Opportunitylineitem>(); } // Save The Updates on Opp and LineIems public PageReference save() { try { update oppli; oppli[0].Fire_Trigger__c = true; update Opps; //oli[0].Fire_Trigger__c = true; update oli; update op; } catch(DmlException ex) { ApexPages.addMessages(ex); return null; } return(new ApexPages.StandardController(Op)).view(); } // Cancel and go Back to Header Opportunity public PageReference cancel() { return(new ApexPages.StandardController(Op)).view(); return null; } public PageReference addmonthdyn() { try { integer d; integer lkj = opps.size(); integer poi = lkj-1; OpportunitylineItem[] oli = [select id,TotalPrice,ListPrice,PricebookEntry.name,Quantity,PricebookEntry.Product2.Name , PricebookEntry.Product2.id, UnitPrice,PricebookEntryId,Opportunityid,Quote_Original_List_Price__c from OpportunityLineItem where Opportunityid=:id ORDER BY Quantity] ; opps[poi] = [select id,Final_Stage__c ,Final_Closed_Date__c,stagename,Description,AccountId ,Hold_My_date__c,Week_End_Day__c ,name,closedate,Estimated_Start_Date__c from Opportunity where Header_Opportunity__c=:op.id ORDER BY closedate DESC LIMIT 1]; Opportunity newopp= new Opportunity(); newopp.stagename = 'Billing-Planned'; newopp.Header_Opportunity__c=op.id; newopp.recordtypeid='012M000000008mu'; string mon; decimal x = (poi+1*30); newopp.Hold_My_date__c = opps[poi].closedate +x.intValue(); // LitOrd.closedate = o.closedate; // for(Opportunity opps2:opps) //{ //LitOrd.closedate = opps2.closedate+60; // LitOrd.closedate = LitOrd.closedate+30; // } newopp.closedate = opps[poi].closedate+30; //LitOrd.closedate = opps[poi].closedate; // Integer currentyear = opps[poi].Hold_My_date__c.year(); // Integer currentMonth = (opps[poi].Hold_My_date__c.Month())+1; Integer currentyear = newopp.Hold_My_date__c.year(); Integer currentMonth = newopp.Hold_My_date__c.Month(); if(currentMonth==1){ mon = 'JAN'; } else if(currentMonth==2){ mon = 'FEB'; } else if(currentMonth==3){ mon = 'MAR'; } else if(currentMonth==4){ mon = 'APR'; } else if(currentMonth==5){ mon = 'MAY'; } else if(currentMonth==6){ mon = 'JUN'; } else if(currentMonth==7){ mon = 'JUL'; } else if(currentMonth==8){ mon = 'AUG'; } else if(currentMonth==9){ mon = 'SEP'; } else if(currentMonth==10){ mon = 'OCT'; } else if(currentMonth==11){ mon = 'NOV'; } else if(currentMonth==12){ mon = 'DEC'; } newopp.accountid = opps[poi].accountid; newopp.name = op.Account.name+'-'+op.Name+'-'+'Billing'+'-'+mon+'-'+ currentyear; newopp.final_stage__c ='Billing-Planned'; newopp.probability =100; newopp.amount = 100; Oppsnew.add(newopp); insert oppsnew; } catch(DmlException ex) { ApexPages.addMessages(ex); return null; } PageReference customPage = new PageReference('/apex/opptctldelete'); customPage.getParameters().put('id', this.id); customPage.setRedirect(true); return customPage; } //Quick save changes public PageReference quicksave() { try { update oppli; oppli[0].Fire_Trigger__c = true; update Opps; //oli[0].Fire_Trigger__c = true; update oli; update op; } catch(DmlException ex) { ApexPages.addMessages(ex); return null; } PageReference customPage = new PageReference('/apex/opptctldelete'); customPage.getParameters().put('id', this.id); customPage.setRedirect(true); return customPage; } public List<Opportunity> Oppsnew {get; set;} public List<Opportunitylineitem> Opplinew {get; set;} public Opportunity Op ; public Opportunity opadd; public Opportunity[] Opps ; public OpportunitylineItem[] Oppli ; public OpportunitylineItem[] Oli ; public string id; decimal gtotal=0.0; decimal itotal=0; user u; decimal countindvidual; decimal actualcountindvidual; decimal BItotal; decimal count = 0; decimal finalBItotal =0; decimal counttotal = 0; decimal totval; decimal childtot=0.0; public String getname() { return 'Oppctrldelete'; } public Opportunity getop() { return op; } public user getu() { return u; } public Opportunity [] getopps() { return opps; } public PageReference filterstage() { update op; PageReference customPage = new PageReference('/apex/opptctldelete'); customPage.getParameters().put('id', this.id); customPage.setRedirect(true); return customPage; } public OpportunitylineItem[] getoppli() { return oppli; } public OpportunitylineItem[] getoli() { return oli; } public decimal gettotval() { return totval; } public decimal getcountindvidual() { return countindvidual; } public decimal getgtotal() { return gtotal; } public decimal getBItotal() { return BItotal; } }
this is my test case giving 79 percent code coverage and the else conditions are not getting covered plz help me to write test case in easiest possible way
@isTest private class Oppctrldelete_Test { static testmethod void MyTestController() { Pricebook2 standardPB = [select id from Pricebook2 where isStandard=true]; Pricebook2 pb = new Pricebook2(Name = 'Standard Price Book 2009', Description = 'Price Book 2009 Products', IsActive = true); insert pb; Product2 prod = new Product2(Name = 'Anti-infectives 2007', Family = 'Best Practices', IsActive = true); insert prod; PricebookEntry standardPrice = new PricebookEntry(Pricebook2Id = standardPB.Id, Product2Id = prod.Id, UnitPrice = 10000, IsActive = true, UseStandardPrice = false); insert standardPrice; PricebookEntry pbe = new PricebookEntry(Pricebook2Id = pb.Id, Product2Id = prod.Id, UnitPrice = 10000, IsActive = true, UseStandardPrice = false); insert pbe; Account a = new Account(); a.name = 'raja'; insert a ; Opportunity opp = new Opportunity(); opp.Name = 'raja'; opp.StageName = 'Closedwon'; opp.final_stage__c= 'Billing-Planned'; opp.StageFilter__c = 'Billing-Submitted'; opp.StageFilter__c = 'Billing-Planned'; opp.CloseDate = date.ValueOf('2009-09-21'); opp.Pricebook2Id = pb.id; opp.final_stage__c ='Billing-Invoiced'; test.startTest(); insert opp; test.stopTest(); OpportunitylineItem opli = new OpportunitylineItem(); opli.opportunityid=opp.id; opli.TotalPrice=5; opli.quantity=3; opli.PricebookEntryId = pbe.id; insert opli; Opportunity opp1 = new Opportunity(); opp1.Name = 'raj'; opp1.StageName = 'Closedwon'; opp1.StageFilter__c= 'Billing-Planned'; opp1.CloseDate = date.ValueOf('2009-07-21'); opp1.final_stage__c= 'Billing-Planned'; opp1.Pricebook2Id = pb.id; opp1.header_opportunity__c = opp.id; insert opp1; OpportunitylineItem opli1 = new OpportunitylineItem(); opli1.opportunityid=opp1.id; opli1.TotalPrice=56; opli1.quantity=33; opli1.PricebookEntryId = pbe.id; opli1.delete__c=true; insert opli1; update opli; update opli1; ApexPages.currentPage().getParameters().put('id', opp.id); ApexPages.StandardController con = new ApexPages.StandardController(opp); Oppctrldelete o = new Oppctrldelete(con); PageReference pr2 = o.save(); PageReference pr3 = o.addmonthdyn(); PageReference pr4 = o.quicksave(); // PageReference pr5 = o.testsave(); o.getname(); o.getopps(); o.filterstage(); o.getoppli(); o.getop(); O.getu(); o.getoli(); o.getcountindvidual(); o.getgtotal(); o.getBItotal(); o.gettotval(); o.cancel(); //o.Addmonth(); // o.incrementCounter(); // o.quan(); //o.childtotal(); // o.BI(); //o.grandtotal(); } }
You might want to insert another opportunity like you have in your test method, change the op.StageFilter__c field value for each opportunitya and insert the opportunities separately e.g opp2. Then call the methods again using this instance.