You need to sign in to do that
Don't have an account?
ram sf 10
Help with Code Coverage for extension controller class
Hi..
I am New to Salesforce Development and strugling with the Code coverage for Apex Class which is used as an Extension in a Visualforce page.
This is my code for the Controller Class. Can Someone PLease help me out on this so that I can use this information as a guide for my future development.
*************************************************************************************************************
*************************************************************************************************************
public class manualpaymentcntrl{
public Payment__c ptxn{ get; set; }
public Contact con { get; set; }
public Batch_Processing__c bp {get; set;}
public Campaign c {get; set;}
public boolean bsbnull {get; set;}
public manualpaymentcntrl(ApexPages.StandardController std) {
con=new Contact();
ptxn=new Payment__c();
ptxn.Batch_Processing__c = ApexPages.currentPage().getParameters().get('Batch');
ptxn.Campaign__c = ApexPages.currentPage().getParameters().get('Cam');
}
public void obtaindetails() {
for (Contact con : [select Name,FirstName,LastName,Email,AccountID,Phone,MobilePhone,Title, MailingStreet,MailingCity,MailingState,MailingCountry,MailingPostalCode,AAkPay_BSB_No__c,Account_No__c,Bank__c,Drawer__c from Contact where Id = :ptxn.Contact__c]){
ptxn.FirstName__c = con.FirstName;
ptxn.LastName__c = con.LastName;
ptxn.Email__c = con.Email;
ptxn.Account__c = con.AccountID;
ptxn.Phone__c = con.Phone;
ptxn.MobilePhone__c = con.MobilePhone;
ptxn.Salutation__c = con.Title;
ptxn.MailingStreet__c = con.MailingStreet;
ptxn.MailingCity__c = con.MailingCity;
ptxn.MailingState__c = con.MailingState;
ptxn.MailingCountry__c = con.MailingCountry;
ptxn.MailingPostalCode__c = con.MailingPostalCode;
ptxn.BSB_No__c = con.AAkPay_BSB_No__c;
ptxn.Account_No__c = con.Account_No__c;
ptxn.Bank__c = con.Bank__c;
ptxn.Drawer__c = con.Drawer__c;
ptxn.Payment_Setting__c = 'a0m90000009Qwb4';
ptxn.Payment_Type__c = 'a0o90000003Lhl2';
ptxn.Bank_Deposit_Date__c = system.today();
ptxn.Status__c = 'Receipting Start';
ptxn.Transaction_Date__c = system.today();
ptxn.Bank_Deposit_Account__c = '083-004-461061543' ;
ptxn.Transaction_Type__c = 'Purchase';
}
}
public void bankinfo(){
if (ptxn.Method_of_Payment__c != 'Cheque'){
ptxn.BSB_No__c = null;
ptxn.Account_No__c = null;
ptxn.Bank__c = null;
ptxn.Drawer__c = null;
}
else{
ptxn.BSB_No__c = ptxn.Contact__r.AAkPay_BSB_No__c;
ptxn.Account_No__c = ptxn.Contact__r.Account_No__c;
ptxn.Bank__c = ptxn.Contact__r.Bank__c;
ptxn.Drawer__c = ptxn.Contact__r.Drawer__c;
}
}
public PageReference save(){
String baseURL = URL.getSalesforceBaseUrl().toExternalForm();
String PageURL = ApexPages.currentPage().getUrl();
String wholeURL = baseURL+PageURL;
for (Batch_Processing__c bp : [Select No_of_Transactions__c,Transaction_Count__c,Status__c from Batch_Processing__c where ID=:ptxn.Batch_Processing__c and Status__c != 'Completed']){
insert ptxn;
PageReference reRend = new PageReference('/apex/custommanualpayment'+wholeURL);
reRend.setRedirect(true);
return reRend;
}
{
PageReference reRend = new PageReference('/'+ptxn.Batch_Processing__c);
reRend.setRedirect(true);
return reRend;
}
}
public PageReference cancel(){
PageReference reRend = new PageReference('/'+ptxn.Batch_Processing__c);
reRend.setRedirect(true);
return reRend;
}
}
Thanks in Advance....
Regards,
Ram
I am New to Salesforce Development and strugling with the Code coverage for Apex Class which is used as an Extension in a Visualforce page.
This is my code for the Controller Class. Can Someone PLease help me out on this so that I can use this information as a guide for my future development.
*************************************************************************************************************
*************************************************************************************************************
public class manualpaymentcntrl{
public Payment__c ptxn{ get; set; }
public Contact con { get; set; }
public Batch_Processing__c bp {get; set;}
public Campaign c {get; set;}
public boolean bsbnull {get; set;}
public manualpaymentcntrl(ApexPages.StandardController std) {
con=new Contact();
ptxn=new Payment__c();
ptxn.Batch_Processing__c = ApexPages.currentPage().getParameters().get('Batch');
ptxn.Campaign__c = ApexPages.currentPage().getParameters().get('Cam');
}
public void obtaindetails() {
for (Contact con : [select Name,FirstName,LastName,Email,AccountID,Phone,MobilePhone,Title, MailingStreet,MailingCity,MailingState,MailingCountry,MailingPostalCode,AAkPay_BSB_No__c,Account_No__c,Bank__c,Drawer__c from Contact where Id = :ptxn.Contact__c]){
ptxn.FirstName__c = con.FirstName;
ptxn.LastName__c = con.LastName;
ptxn.Email__c = con.Email;
ptxn.Account__c = con.AccountID;
ptxn.Phone__c = con.Phone;
ptxn.MobilePhone__c = con.MobilePhone;
ptxn.Salutation__c = con.Title;
ptxn.MailingStreet__c = con.MailingStreet;
ptxn.MailingCity__c = con.MailingCity;
ptxn.MailingState__c = con.MailingState;
ptxn.MailingCountry__c = con.MailingCountry;
ptxn.MailingPostalCode__c = con.MailingPostalCode;
ptxn.BSB_No__c = con.AAkPay_BSB_No__c;
ptxn.Account_No__c = con.Account_No__c;
ptxn.Bank__c = con.Bank__c;
ptxn.Drawer__c = con.Drawer__c;
ptxn.Payment_Setting__c = 'a0m90000009Qwb4';
ptxn.Payment_Type__c = 'a0o90000003Lhl2';
ptxn.Bank_Deposit_Date__c = system.today();
ptxn.Status__c = 'Receipting Start';
ptxn.Transaction_Date__c = system.today();
ptxn.Bank_Deposit_Account__c = '083-004-461061543' ;
ptxn.Transaction_Type__c = 'Purchase';
}
}
public void bankinfo(){
if (ptxn.Method_of_Payment__c != 'Cheque'){
ptxn.BSB_No__c = null;
ptxn.Account_No__c = null;
ptxn.Bank__c = null;
ptxn.Drawer__c = null;
}
else{
ptxn.BSB_No__c = ptxn.Contact__r.AAkPay_BSB_No__c;
ptxn.Account_No__c = ptxn.Contact__r.Account_No__c;
ptxn.Bank__c = ptxn.Contact__r.Bank__c;
ptxn.Drawer__c = ptxn.Contact__r.Drawer__c;
}
}
public PageReference save(){
String baseURL = URL.getSalesforceBaseUrl().toExternalForm();
String PageURL = ApexPages.currentPage().getUrl();
String wholeURL = baseURL+PageURL;
for (Batch_Processing__c bp : [Select No_of_Transactions__c,Transaction_Count__c,Status__c from Batch_Processing__c where ID=:ptxn.Batch_Processing__c and Status__c != 'Completed']){
insert ptxn;
PageReference reRend = new PageReference('/apex/custommanualpayment'+wholeURL);
reRend.setRedirect(true);
return reRend;
}
{
PageReference reRend = new PageReference('/'+ptxn.Batch_Processing__c);
reRend.setRedirect(true);
return reRend;
}
}
public PageReference cancel(){
PageReference reRend = new PageReference('/'+ptxn.Batch_Processing__c);
reRend.setRedirect(true);
return reRend;
}
}
Thanks in Advance....
Regards,
Ram
public class manualpaymentcntrl_test
{
static testMethod void manualtest()
{
Contact con=new Contact();----------------> here insert required fields in contact
con.Lastname='reddy';
con.phone='55555555';
con.email='test@gmail.com';
insert con;
Payment__c pay=new Payment__c();---------->insert required fields
pay.Lastname='jagan';
pay.email='test@gmail.com';
insert pay;
ApexPages.StandardController std=new ApexPages.StandardController(pay);
manualpaymentcntrl mpc=new manualpaymentcntrl(std);
mpc.obtaindetails();
mpc.bankinfo();
mpc.save();
mpc.cancel();
}
}
try this still here you need to assign and insert values to campaign and Batch_Processing__c.
Thank you very much for the reply..
I have tried the code and the Code coverage is 50%....
I have checked to see the issue and the code is not covered for the fields that I am populating on the Visualforce page by calling the method "Obtaindetails" in the Action support. I have the Highlighted and underlightened the Problem lines below.
Do you have any suggestions??? please let me know.
Thanks in Advance...
Regards,
Ram
********************************************************************************************************************************************
public void obtaindetails() {
for (Contact con : [select Name,FirstName,LastName,Email,AccountID,Phone,MobilePhone,Title, MailingStreet,MailingCity,MailingState,MailingCountry,MailingPostalCode,AAkPay_BSB_No__c,Account_No__c,Bank__c,Drawer__c from Contact where Id = :ptxn.Contact__c]){
ptxn.FirstName__c = con.FirstName;
ptxn.LastName__c = con.LastName;
ptxn.Email__c = con.Email;
ptxn.Account__c = con.AccountID;
ptxn.Phone__c = con.Phone;
ptxn.MobilePhone__c = con.MobilePhone;
ptxn.Salutation__c = con.Title;
ptxn.MailingStreet__c = con.MailingStreet;
ptxn.MailingCity__c = con.MailingCity;
ptxn.MailingState__c = con.MailingState;
ptxn.MailingCountry__c = con.MailingCountry;
ptxn.MailingPostalCode__c = con.MailingPostalCode;
ptxn.BSB_No__c = con.AAkPay_BSB_No__c;
ptxn.Account_No__c = con.Account_No__c;
ptxn.Bank__c = con.Bank__c;
ptxn.Drawer__c = con.Drawer__c;
ptxn.Payment_Setting__c = 'a0m90000009Qwb4';
ptxn.Payment_Type__c = 'a0o90000003Lhl2';
ptxn.Bank_Deposit_Date__c = system.today();
ptxn.Status__c = 'Receipting Start';
ptxn.Transaction_Date__c = system.today();
ptxn.Bank_Deposit_Account__c = '083-004-461061543' ;
ptxn.Transaction_Type__c = 'Purchase';
}
}
Thanks,
Jagan
jagansfdc@outlook.com
The Lines that I have posted above are the ones that are not covered. I am posting them below. It seems that the issue is with the Lines where i am assigning the Payment Object fields with the values of Contact object (ptxn.firstname__c = con.FirstName) are causing the issue.
ptxn.FirstName__c = con.FirstName;
ptxn.LastName__c = con.LastName;
ptxn.Email__c = con.Email;
ptxn.Account__c = con.AccountID;
ptxn.Phone__c = con.Phone;
ptxn.MobilePhone__c = con.MobilePhone;
ptxn.Salutation__c = con.Title;
ptxn.MailingStreet__c = con.MailingStreet;
ptxn.MailingCity__c = con.MailingCity;
ptxn.MailingState__c = con.MailingState;
ptxn.MailingCountry__c = con.MailingCountry;
ptxn.MailingPostalCode__c = con.MailingPostalCode;
ptxn.BSB_No__c = con.AAkPay_BSB_No__c;
ptxn.Account_No__c = con.Account_No__c;
ptxn.Bank__c = con.Bank__c;
ptxn.Drawer__c = con.Drawer__c;
ptxn.Payment_Setting__c = 'a0m90000009Qwb4';
ptxn.Payment_Type__c = 'a0o90000003Lhl2';
ptxn.Bank_Deposit_Date__c = system.today();
ptxn.Status__c = 'Receipting Start';
ptxn.Transaction_Date__c = system.today();
ptxn.Bank_Deposit_Account__c = '083-004-461061543' ;
ptxn.Transaction_Type__c = 'Purchase';