-
salesforce integration test class coverage
Hi All,
my test class code coverage is failing at this line:
if (res.getStatusCode() == 200) {
its not going beyond this line.
Any suggestions to resolve the issue is highly welcome.
Regards,
Vineet srivastava
public class QualtricsEmailDistribution {
public static Http objhttp;
public static HttpRequest req ;
public static HttpResponse res ;public void MakeRestCalloutEmail()
{
// Custom settings
List<Qualtrics_Email_Distribution__c> customsettingdata = Qualtrics_Email_Distribution__c.getall().values();
if(customsettingdata[0].Status__c==true){
objhttp = new Http();
req = new HttpRequest();
res = new HttpResponse();
req.setMethod('GET');
req.setHeader('Content-Type', 'application/json;charset=UTF-8');
//GetDistribution
String epoint='http://api.salesforce.com/';
req.setEndpoint(epoint);
system.debug('After end point');
// Set the necessary Headers
String reqBody = '';
req.setBody(reqBody);
System.debug('request body'+req);
try {
res = objhttp.send(req);}
catch(System.CalloutException e) {
System.debug('Callout error: '+ e);
}
system.debug('res'+res);
if (res.getStatusCode() == 200) {
Map<String, Object> results = (Map<String, Object>)JSON.deserializeUntyped(res.getBody());
system.debug('results'+results);
Map<String, Object> resultdata = (Map<String, Object>) results.get('Result');
system.debug('Key'+resultdata.keySet());
List<Object> disdata = (List<Object>) resultdata.get('Distributions');
//system.debug('disdata'+ String.valueOf(disdata[0]));
system.debug('disdata'+ String.valueOf(disdata));
system.debug('in loop'+disdata.size());
Map<Object,Object> finaljsondata = new Map<Object,Object>();
//check heapsize here disdata.size()-1
for(Integer i=0;i<20;i++){
Map<String, Object> emaildistributions = (Map<String, Object>)JSON.deserializeUntyped(JSON.Serialize(disdata[i]));
Object a1=emaildistributions.get('EmailDistributionID');
Object a2 = emaildistributions.get('CreatedDate');
finaljsondata.put(a1, a2);
}
System.debug('finaljsondata'+finaljsondata);
//Campaign Member data
list<Campaignmember> cammember = new list<Campaignmember>();
cammember = [select id,Actual_sent_date__c,Qualtrics_Schedule_Date__c,Qualtrics_Schedule_Reminder1__c,Qualtrics_Schedule_Reminder2__c from Campaignmember where Actual_sent_date__c!=null];
System.debug('cammember'+cammember);
for(Object finddate:finaljsondata.values()){
system.debug('finddate'+finddate);
}
for(Campaignmember cmm:cammember){
system.debug('Campaignmember'+cmm.Actual_sent_date__c);
}
}
}
}
}
fake response class:-@isTest
global class FakeResponse implements HttpCalloutMock{
global static HTTPResponse respond(HTTPRequest req) {
System.assertEquals('http://api.salesforce.com/foo/bar', req.getEndpoint());System.assertEquals('GET', req.getMethod());
// Create a fake response
HttpResponse res = new HttpResponse();
res.setHeader('Content-Type', 'application/json');
res.setBody('{"foo":"bar"}');res.setStatusCode(200);
return res;
}
}test class code:-
@isTest
global class TestQualtricsEmailDistribution {
@isTest static void init() {
Contact con=new contact();
con.LastName='vineet';
insert con;
Contact cont=[select Id,LastName from Contact where Id=:con.Id];
Qualtrics_Email_Distribution__c qed= new Qualtrics_Email_Distribution__c();
qed.Name='qualtrics';
qed.Library_ID__c='123';
qed.Status__c=true;
qed.Qualtrics_User_Id__c='456';
qed.Survey_ID__c='789';
qed.Token__c='aaa';
insert qed;
Campaign c=new Campaign();
c.Name='test';
insert c;
// Campaign cp = [SELECT Id FROM Campaign where Name='test vig' AND IsActive=TRUE LIMIT 1];
Campaign cp=[SELECT Id, name from Campaign where id=:c.Id];
Campaignmember cm= new Campaignmember();
cm.Actual_sent_date__c=datetime.now();
cm.Qualtrics_Schedule_Date__c=datetime.now();
cm.Qualtrics_Schedule_Reminder1__c=datetime.now();
cm.Qualtrics_Schedule_Reminder2__c=datetime.now();
cm.Status='sent';
cm.ContactId=cont.Id;
cm.CampaignId=cp.Id;
cm.Actual_sent_date__c=datetime.now();
insert cm;}
/* global static HTTPResponse respond(HTTPRequest req) {
System.assertEquals('http://api.salesforce.com/foo/bar', req.getEndpoint());System.assertEquals('GET', req.getMethod());
// Create a fake response
HttpResponse res = new HttpResponse();
res.setHeader('Content-Type', 'application/json');
res.setBody('{"foo":"bar"}');res.setStatusCode(200);
return res;
-
This discussion was modified 7 years, 9 months ago by
vineet.
-
This discussion was modified 7 years, 9 months ago by
Log In to reply.
Popular Salesforce Blogs

What are Apex Basics? A Guide in 2023
The primary languages required to know in salesforce are: - Apex – It is used to write the business logic or we can say it…

How to Properly Implement a Salesforce Deduplication Feature: 5 Tips You Need to Follow
If your company is like many others struggling with duplicates in Salesforce, you are actively looking for solutions that can solve this problem. When you…

Drive Omnichannel Customer Experiences with Salesforce Interaction Studio
Discover how leading brands leverage the power of Marketing Cloud Interaction Studio to drive real-time customer experiences — fostering valuable brand engagement at the right…
Popular Salesforce Videos
Three Quick Wins With Pardot | Salesforce
Discover the full suite of B2B marketing automation tools to create meaningful connections, generate more pipeline, and empower sales teams to close more deals. See…
Access Salesforce Maps Schedule and Manage Saved Events
Watch this video to learn how to Access Salesforce Maps Schedule and Review and Manage Saved Events. Do let us know in the comment section…
Campaign Management in Salesforce | Campaigns in Salesforce
Learn all about campaign management in Salesforce. Also, get a glimpse of how to create a campaign, add campaign members, how to use campaigns to…
Popular Salesforce Infographics

Growth of Salesforce (Data and figures)
Salesforce.com is the #1 Customer Relationship Management (CRM) company in the world with regard to the market share. It provides numerous CRM software that helps…

See Why Salesforce Goes All In on Pro Bono
Salesforce Pro Bono Program aims to match nonprofits and higher education institutions with Salesforce professionals to maximize their Salesforce implementation and transform their organization. Scroll…

Success With Salesforce For Full Cycle Reps
Not only are you out prospecting for new leads like and SDR, you have to turn around and work those deals to close like an…