-
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, 6 months ago by vineet.
Log In to reply.
Popular Salesforce Blogs
Pardot vs Marketing Cloud: Which Tool Is The Ultimate Game Changer?
Here’s a question: Which Salesforce marketing automation tool is the right choice for your business? Is it that easy to answer? We bet you, it…
How to Write a Test Class in Salesforce? The Salesforce Developer Guide
In any development, testing is a very important step as it tells us about how good the development has been done and for that we…
A Complete Guide to Dreamforce 2024
Dreamforce, Salesforce’s flagship conference, is the highlight of the year for many professionals in the Salesforce ecosystem. With countless workshops, networking opportunities, and parties –…
Popular Salesforce Videos
Salesforce Public Groups and Queues
In this video, Bhavesh Jain demonstrates how to create Salesforce public groups and how they can be used, as well as provides an understanding of…
A Year of Innovation and Growth for Kizzy Consulting - Top Salesforce Partner!
2023 was an amazing year for Kizzy Consulting - Top Salesforce Partner! We achieved the status of Salesforce Ridge Partner, completed numerous Salesforce certifications, and…
Introduction to Salesforce Commerce Cloud for Developers
Commerce Cloud powers e-commerce for many of the world's leading brands and it represents a great opportunity for developers around the world. Join us to…
Popular Salesforce Infographics
5 Advantages of Using Salesforce for Your Business
Salesforce is a customer relationship management (CRM) platform that offers a wide range of features and benefits for businesses of all sizes. Here are five…
5 Security Habits That Help Your Salesforce Admin Career
As Salesforce Admins, you drive results and deliver business value every day. You automate processes and make them more efficient. You can also learn more…
Salesforce Acquisitions
Salesforce acquisitions have played an increasingly important role in the CRM vendor’s growth into emerging markets, particularly in the fields of AI and eCommerce. Salesforce,…