function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
kcnmaheshkcnmahesh 

how to write test method for my controller.....need ur help plzzzzzzzzz

global class InvoiceSummary

{

Id accId;

List<Invoice__c> listinvoice {get ;set;}

global List<InvoiceWrapper> listoverdueinvoices {get;set;}

public  pagereference queryinvoices()

{

accId = Apexpages.Currentpage().getParametres.get('id');

invoice = List<Invoice__c>();

decimal balanceoverduesum = 0;

invoice = [ select Invoice_date__c, Balance_Amount__c,due_Date__c,Name__c  from Invoice__c where Account_NameLookUp__c =: accId and Balance_Amount__c > 0 ];

for (Invoice__c i : listinvoice)

{

listoverdueinvoices.add( new Invoicewrapper(i.invoice_date__c,i.Balance_Amount__c,i.due_date__c,i.Name__c));

balanceoverduesum += balanceoverduesum;

}

if(listoverdueinvoices != null && listoverdueinvoices.size() >0)

listoverduesum.add(new InvoiceWrapper(null,balanceoverduesum,null,'total'));

}

global class invoiceWrapper

{

global date invoicedate { get;set;}

global String name { get;set;}

global decimal amount {get;set;}

global date duedate {get;set;}

global InvoiceWrapper( date invoicedate,String name,decimal amount,date duedate)

{

this.invoicedate = invoicedate;

this.name = name;

this.amount = amount;e;

this.duedate = duedat

}

}

Rajesh SriramuluRajesh Sriramulu

Hi

 

@isTest

Public class InvoiceSummary_test{

public static testmethod void InvoiceSummary_test(){

PageReference pageRef = Page.yourPageName;//here write ur vf page name

   Test.setCurrentPage(pageRef);

Invoice__c inv = new Invoice__c();

.

.

.

insert Inv;

InvoiceSummary invs = new InvoiceSummary();

invs.queryinvoices();

date invo =system.today();

String name1='test';

decimal amount1=123.02456;

date duedate1=system.today()+3;

InvoiceSummary.invoiceWrapper inviw = new InvoiceSummary.invoiceWrapper(invo,name1,amount1,duedate1);

}}

 

Regards,

Rajesh S.

 

 

 

kcnmaheshkcnmahesh

Thanks lot for your reply Rajesh...,

 

I am new to test methods....And i am posting my full code

 

And we have conditions like balanceamount > 0 in soql filters and we need to calculate the summ of total amount and display as last row in the table

 

Please look my code once and give me an approach how to write and i am writing test class for first time

 

Help me Rajesh......plz

 

global

classInvoiceSummary {

 

public String listpendingorders { get; set; }

 

 

 

Id accId;

List<

Invoice__c> listInvoice {get ; set;}

List<

Sales_Order__c> sales {get;set;}

 

global List<InvoiceWrapper> listOverDueInvoices {get ; set;}

 

global List<InvoiceWrapper> listAlmostInvoices {get ; set;}

 

global List<InvoiceWrapper> listCurrentInvoices {get ; set;}

 

global List<SummaryWrapper> listSummaryWrapper {get ;set; }

 

global List<SalesWrapper> pendingorders { get ; set; }

 

global Boolean overdueinvoices {get ; set;}

 

global Boolean almostinvoices {get ; set;}

 

global Boolean currentinvoices {get ; set;}

 

global Boolean listorders {get ; set;}

 

global String name {get;set;}

 

privatefinalAccountaccount;

 

publicInvoiceSummary(){

 

try{

account = [

selectName, (SELECTContact.Name, Contact.Email FROMAccount.Contacts whereContact.Email != nullAND AlgyTrak__c LIKE 'Yes')

 

fromAccountwhere id = :ApexPages.currentPage().getParameters().get('id')];

}

catch(Exception e){

System.debug(

'error sending mail'+e);

}

}

publicPageReference QueryInvoices()

{

accId = Apexpages.currentPage().getParameters().

get('id');

System.debug(

'Account id :'+accId);

listInvoice =

new List<Invoice__c>();

sales =

new List<Sales_Order__c>();

listOverDueInvoices =

newList<InvoiceWrapper>();

listAlmostInvoices =

newList<InvoiceWrapper>();

listCurrentInvoices =

newList<InvoiceWrapper>();

listSummaryWrapper =

newList<SummaryWrapper>();

pendingorders =

newList<SalesWrapper>();

accId = Apexpages.currentPage().getParameters().

get('id');

listInvoice = [

select Invoice_Date__c,Name,Balance_Overdue__c,Due_Date__c,Almost_Overdue__c,Current_Balance__c fromInvoice__cwhereAccount_NameLookup__c =: accId ];

 

kcnmaheshkcnmahesh

sales = [

select Customer_PO_No__c,Sales_Order_Status__c,Despatch_Date__c,PO_Basic_Price__c fromSales_Order__cwhere Account_Name__c =: accId AND (Sales_Order_Status__c LIKE 'Clear-to-Build'OR Sales_Order_Status__c LIKE 'WIP')];

 

decimalBalanceOverdueSum = 0 ;

 

decimalAlmostOverdueSum = 0 ;

 

decimalCurrentBalanceSum = 0 ;

 

decimalpendingordersum = 0 ;

 

decimalTotalDue = 0 ;

 

for(Invoice__ci : listInvoice)

{

if(i.Balance_Overdue__c > 0){

listOverDueInvoices.add(

new InvoiceWrapper(i.Invoice_Date__c,i.Name,i.Balance_Overdue__c,i.Due_Date__c,false));

BalanceOverdueSum += (i.Balance_Overdue__c !=

null) ? i.Balance_Overdue__c : 0 ;

}

elseif(i.Almost_Overdue__c > 0)

{

listAlmostInvoices.add(

new InvoiceWrapper(i.Invoice_Date__c,i.Name,i.Almost_Overdue__c,i.Due_Date__c,false));

AlmostOverdueSum += (i.Almost_Overdue__c !=

null) ? i.Almost_Overdue__c : 0 ;

 

}

elseif(i.Current_Balance__c > 0)

{

listCurrentInvoices.add(

new InvoiceWrapper(i.Invoice_Date__c,i.Name,i.Current_Balance__c,i.Due_Date__c,false));

CurrentBalanceSum += (i.Current_Balance__c !=

null) ? i.Current_Balance__c : 0 ;

}

}

if(listOverDueInvoices != null&& listOverDueInvoices.size() > 0)

listOverDueInvoices.add(

new InvoiceWrapper(null,'Total Due',BalanceOverdueSum,null,true));

 

if(listAlmostInvoices != null&& listAlmostInvoices.size() > 0)

listAlmostInvoices.add(

new InvoiceWrapper(null,'Total Due',AlmostOverdueSum,null,true));

 

if(listCurrentInvoices != null&& listCurrentInvoices.size() > 0)

listCurrentInvoices.add(

new InvoiceWrapper(null,'Total Due',CurrentBalanceSum,null,true));

TotalDue = BalanceOverdueSum + AlmostOverdueSum + CurrentBalanceSum ;

 

listSummaryWrapper.add(

new SummaryWrapper('Total Overdue',BalanceOverdueSum,false,'Payable Immediately'));

listSummaryWrapper.add(

new SummaryWrapper('Total Almost Overdue',AlmostOverdueSum,false,'Coming due in the next 5 days'));

listSummaryWrapper.add(

new SummaryWrapper('Total Current Balance',CurrentBalanceSum,false,'Balance within the invoice due date'));

 

//listSummaryWrapper.add(new SummaryWrapper('Total Credit Exposure',TotalDue,true));for(Sales_Order__cs : sales )

{

pendingorders.add(

newSalesWrapper(s.Customer_PO_No__c,s.Sales_Order_Status__c,s.Despatch_Date__c,s.PO_Basic_Price__c));

pendingordersum += (s.PO_Basic_Price__c !=

null) ? s.PO_Basic_Price__c : 0 ;

 

}

pendingorders.add(

new SalesWrapper('Total Pending due',null,null,pendingordersum));

listSummaryWrapper.add(

new SummaryWrapper('Total Pending Order',pendingordersum,false,'Value of orders for which materials are already purchased'));

listSummaryWrapper.add(

new SummaryWrapper('Total Credit Exposure',(BalanceOverdueSum+AlmostOverdueSum+CurrentBalanceSum+pendingordersum),true,null));

 

returnnull;

 

}

kcnmaheshkcnmahesh

globalclassInvoiceWrapper{

 

global Date invoiceDate {get;set;}

 

global String invoiceName {get;set;}

 

global Decimal balanceOverdue {get;set;}

 

global Double almostOverdue {get;set;}

 

global boolean fillColor {get;set;}

 

global Date dueDate {get;set;}

 

globalInvoiceWrapper(Date invoiceDate,String invoiceName,Decimal balanceOverdue ,Date dueDate,boolean fillColor ){

 

this.invoiceDate = invoiceDate ;

 

this.invoiceName = invoiceName ;

 

this.balanceOverdue = balanceOverdue ;

 

this.dueDate = dueDate ;

 

this.fillColor = fillColor ;

 

}

}

globalclassSummaryWrapper{

 

global String name {get;set;}

 

global Decimal summary {get;set;}

 

global boolean color {get;set;}

 

global String details { get;set;}

 

globalSummaryWrapper(String name,Decimal Summary,Boolean color,String details){

 

this.name = name;

 

this.Summary = Summary;

 

this.color = color;

 

this.details = details;

}

}

globalclassSalesWrapper{

 

global Date dispatchdate {get;set;}

 

global String status {get;set;}

 

global Decimal basicvalue {get;set;}

 

global String orderno {get;set;}

 

globalSalesWrapper(String orderno, String status, Date dispatchdate , Decimal basicvalue)

{

this.dispatchdate = dispatchdate;

 

this.status = status;

 

this.basicvalue = basicvalue;

 

this.orderno = orderno;

}

/*global SalesWrapper(String orderno , Decimal basicvalue , String status , Date dispatchdate)

{

this.orderno = orderno ;

this.basicvalue = basicvalue ;

this.status = status ;

this.dispatchdate = dispatchdate;

}*/

 

}

Rajesh SriramuluRajesh Sriramulu

Hi

 

exactly not try this, u have to insert the below as mention according to if condition hope this will solves ur issue.

 

@isTest

Public class InvoiceSummary_test{

public static testmethod void InvoiceSummary_test(){

PageReference pageRef = Page.yourPageName;//here write ur vf page name

   Test.setCurrentPage(pageRef);

Account acc = new Account();

acc.name = 'test';

.

.here insert the mandatory fields

 

insert acc;

Contact con  = new Contact();

con.lastname='tsst';

con.email..

.

.here insert the mandatory fields

.

insert con;

Invoice__c inv = new Invoice__c();

.

.here insert the mandatory fields and in query

.

insert Inv;

Sales_Order__c so = new Sales_Order__c();

.

.here insert the mandatory fields and query fields and insert according to if conditions

.

insert so;

InvoiceSummary invs = new InvoiceSummary();

invs.queryinvoices();

date invo =system.today();

String name1='test';

decimal amount1=123.02456;

Boolean fillColor1=true;

date duedate1=system.today()+3;

InvoiceSummary.invoiceWrapper inviw = new InvoiceSummary.invoiceWrapper(invo,name1,amount1,duedate1,fillColor1);

String name2='test22';

Decimal Summary2=21.3256;

Boolean color2=true;

String details2='testseee';

InvoiceSummary.SummaryWrapper inss = new InvoiceSummary.SummaryWrapper(name2,Summary2,color2,details2);

String orderno4='test343';

String status4='yes';

Date dispatchdate4=system.today();

Decimal basicvalue4=12.32456;

InvoiceSummary.SalesWrapper inssw = new InvoiceSummary.SalesWrapper(orderno4,status4,dispatchdate4,basicvalue4)

}}

 

 

Regards,

Rajesh S.