You need to sign in to do that
Don't have an account?

Urgent: Please Help me in code coverage
Apex Trigger:
trigger TriggerForReceipts on Receipt__c (after update) { List<smagicinteract__smsMagic__c> smsObjects = new List<smagicinteract__smsMagic__c>(); Id receiptsId = null; for (Receipt__c receipt : Trigger.new) { continue; receiptsId = receipt.id; system.debug(system.logginglevel.INFO,'receiptsId :'+receiptsId); Receipt__c receiptObject=[select Id, Opportunity_Contact_Number__c, Name from Receipt__c where Id =:receiptsId]; system.debug(system.logginglevel.INFO,'receiptObject :'+receiptObject); Receipt__c beforeUpdateReceipt = System.Trigger.oldMap.get(receiptsId); ReceiptsSMSController receiptSMSController = new ReceiptsSMSController(); if(receiptObject.Opportunity_Contact_Number__c != null){ if(receipt.Payment_Towards__c == 'On Booking'){ if(receipt.Payment_Towards__c != beforeUpdateReceipt.Payment_Towards__c){ system.debug(system.logginglevel.INFO,'in PaymentTowardsOnBooking..'+receipt.Payment_Towards__c); smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Booking Payment'); } } if(receipt.Payment_Towards__c == 'On Booking' && receipt.Realization_Status__c == 'Done'){ if((receipt.Payment_Towards__c != beforeUpdateReceipt.Payment_Towards__c) && (receipt.Realization_Status__c != beforeUpdateReceipt.Realization_Status__c)){ system.debug(system.logginglevel.INFO,'in PaymentTowardsAndRealizationStatus..'+receipt.Payment_Towards__c); smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Booking payment realization'); } } if(receipt.Realization_Status__c == 'Bounced'){ if(receipt.Realization_Status__c != beforeUpdateReceipt.Realization_Status__c){ system.debug(system.logginglevel.INFO,'in RealizationStatusBounced..'+receipt.Realization_Status__c); smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Cheque bounce'); } } if(receipt.Payment_Towards__c == 'Agreement Signing'){ if(receipt.Payment_Towards__c != beforeUpdateReceipt.Payment_Towards__c){ system.debug(system.logginglevel.INFO,'in PaymentTowardsOnBooking..'+receipt.Payment_Towards__c); smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Agreement signing payment'); } } if(receipt.Payment_Towards__c == 'Agreement Signing' && receipt.Realization_Status__c == 'Done'){ if((receipt.Payment_Towards__c != beforeUpdateReceipt.Payment_Towards__c) && (receipt.Realization_Status__c != beforeUpdateReceipt.Realization_Status__c)){ system.debug(system.logginglevel.INFO,'in PaymentTowardsAndRealizationStatus..'+receipt.Payment_Towards__c); smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Booking payment realization'); } } } } system.debug(system.logginglevel.INFO,'smsObjects..'+smsObjects); insert smsObjects; }
Apex Class:
@isTest private class TriggerForReceipts { static testMethod void test_TriggerForReceipts() { Account a = new Account(name='test1', Phone='09003095572'); insert a; Opportunity o2 = new Opportunity( AccountId=a.Id, Name='My Opportunity', StageName='Blocking', Booking_Receipt_Generated__c=true, CloseDate=Date.today()); insert o2; Receipt__c receiptObject=new Receipt__c(Name='1245*',Opportunity__c=o2.id,Instrument_Date__c=Date.today(),Bank_Reconciliation_Date__c=Date.today(),Transaction_No__c='123445', Mode_of_Payment__c='Cash',Payment_Towards__c='On Booking',Receipt_Date__c=Date.today()); insert receiptObject; //Receipt__c receiptObject=[select Id, Opportunity_Contact_Number__c,Instrument_Date__c,Bank_Reconciliation_Date__c, // Receipt_Date__c,Mode_of_Payment__c,Amount__c,Transaction_No__c,Opportunity__c, Name from Receipt__c limit 1 ]; system.debug(system.logginglevel.INFO,'receiptObject :'+receiptObject); List<Receipt__c> receiptList = [select Id, Opportunity_Contact_Number__c,Instrument_Date__c,Bank_Reconciliation_Date__c, Receipt_Date__c,Payment_Towards__c,Mode_of_Payment__c,Amount__c,Transaction_No__c,Opportunity__c, Name from Receipt__c where Id =: receiptObject.Id]; system.debug(system.logginglevel.INFO,'receiptList :'+receiptList); receiptList[0].Receipt_Date__c = Date.today(); //Transaction_No__c update receiptList; } }
Thanks in advance......
Hi
Let me know the present code coverage and which lines are not covered.
Regards,
Rajesh.
Code coverage 20%
trigger TriggerForReceipts on Receipt__c (after update) {
List<smagicinteract__smsMagic__c> smsObjects = new List<smagicinteract__smsMagic__c>();
Id receiptsId = null;
for (Receipt__c receipt : Trigger.new)
{
continue;
receiptsId = receipt.id;
system.debug(system.logginglevel.INFO,'receiptsId :'+receiptsId);
Receipt__c receiptObject=[select Id, Opportunity_Contact_Number__c, Name from Receipt__c where Id =:receiptsId];
system.debug(system.logginglevel.INFO,'receiptObject :'+receiptObject);
Receipt__c beforeUpdateReceipt = System.Trigger.oldMap.get(receiptsId);
ReceiptsSMSController receiptSMSController = new ReceiptsSMSController();
if(receiptObject.Opportunity_Contact_Number__c != null){
if(receipt.Payment_Towards__c == 'On Booking'){
if(receipt.Payment_Towards__c != beforeUpdateReceipt.Payment_Towards__c){
system.debug(system.logginglevel.INFO,'in PaymentTowardsOnBooking..'+receipt.Payment_Towards__c);
smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Booking Payment');
}
}
if(receipt.Payment_Towards__c == 'On Booking' && receipt.Realization_Status__c == 'Done'){
if((receipt.Payment_Towards__c != beforeUpdateReceipt.Payment_Towards__c) && (receipt.Realization_Status__c != beforeUpdateReceipt.Realization_Status__c)){
system.debug(system.logginglevel.INFO,'in PaymentTowardsAndRealizationStatus..'+receipt.Payment_Towards__c);
smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Booking payment realization');
}
}
if(receipt.Realization_Status__c == 'Bounced'){
if(receipt.Realization_Status__c != beforeUpdateReceipt.Realization_Status__c){
system.debug(system.logginglevel.INFO,'in RealizationStatusBounced..'+receipt.Realization_Status__c);
smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Cheque bounce');
}
}
if(receipt.Payment_Towards__c == 'Agreement Signing'){
if(receipt.Payment_Towards__c != beforeUpdateReceipt.Payment_Towards__c){
system.debug(system.logginglevel.INFO,'in PaymentTowardsOnBooking..'+receipt.Payment_Towards__c);
smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Agreement signing payment');
}
}
if(receipt.Payment_Towards__c == 'Agreement Signing' && receipt.Realization_Status__c == 'Done'){
if((receipt.Payment_Towards__c != beforeUpdateReceipt.Payment_Towards__c) && (receipt.Realization_Status__c != beforeUpdateReceipt.Realization_Status__c)){
system.debug(system.logginglevel.INFO,'in PaymentTowardsAndRealizationStatus..'+receipt.Payment_Towards__c);
smsObjects = receiptSMSController.sendSMS(smsObjects, receipt, 'Booking payment realization');
}
}
}
}
system.debug(system.logginglevel.INFO,'smsObjects..'+smsObjects);
insert smsObjects;
}
Hi
I think in trigger u have to remove the continue means then ur code coverage will increase but this is not the correct scenario and just u check that ur trigger is increased the code coverage or not.On the other side we are trying to find another way increase the code coverage.
Regards,
Rajesh.