You need to sign in to do that
Don't have an account?
Nirupama Sharma
Need Help in writing test class for Future method Apex class
Hi
I am new to the Apex development,i have never written a test class for future method Apex class, can someone plz help me in writing the test class
I am new to the Apex development,i have never written a test class for future method Apex class, can someone plz help me in writing the test class
public class FutureHandler { @future public static void updaterecs(Map<String,Id> oldManagerQuotaMap1){ Map<Id,Quota__c> oldMapQuota = new Map<Id,Quota__c>(); if(null != oldManagerQuotaMap1 && oldManagerQuotaMap1.size() > 0){ for (aggregateResult result: [Select Manager_Quota__c, Sum(Inside_Sales_Roll_Up__c) FROM Quota__c WHERE Manager_Quota__c IN: oldManagerQuotaMap1.values() GROUP BY Manager_Quota__c]) { system.debug('result'+result) ; oldMapQuota.put((Id)result.get('Manager_Quota__c'),new Quota__c(Id=(Id)result.get('Manager_Quota__c'),Actual_Amount__c =(Decimal)result.get('expr0'))); } for(Id qId : oldManagerQuotaMap1.values()){ if(!oldMapQuota.containskey(qId)){ oldMapQuota.put(qId, new Quota__c(Id = qId,Actual_Amount__c = 0.0)); } } if(null != oldMapQuota && oldMapQuota.size() > 0){ update oldMapQuota.values(); } } } public static void sendOppsForApproval(List<Opportunity> opps){ List<Opportunity> oppsToBeSentForApproval = new List<Opportunity>(); String monthYear = System.now().format('MMMM-yyyy'); String month = monthYear.split('-')[0]; String year = monthYear.split('-')[1]; Date nextMonthStart = System.today().toStartOfMonth().addMonths(1).toStartOfMonth(); List<Aggregate_Approval__c> appr = [Select Id from Aggregate_Approval__c where Month__c=:month And Year__c=:year]; Id approvalId; if(appr.size()>0){ approvalId = appr[0].Id; for(Opportunity opp : opps){ opp.Aggregate_Approval__c = approvalId; opp.Status__c = 'In Approval'; oppsToBeSentForApproval.add(opp); } update oppsToBeSentForApproval; // List<Approval.LockResult> li = Approval.lock(opps); Approval.ProcessSubmitRequest oppAggregateApproval = new Approval.ProcessSubmitRequest(); oppAggregateApproval.setComments('Submitting opportunities for Approval for '+System.now().format('MMMM-yyyy')); oppAggregateApproval.setObjectId(approvalId); Approval.ProcessResult approvalResult = Approval.process(oppAggregateApproval); } } }
Can you please elebrote with the sample code snippet please
https://developer.salesforce.com/forums/?id=9062I000000XujLQAS