-
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 9 years, 4 months ago by
vineet.
-
This discussion was modified 9 years, 4 months ago by
Log In to reply.
Popular Salesforce Blogs
What are Global Picklist or Picklist Value Sets in Salesforce
A worldwide Picklist infers a picklist which you'll be able to access for all Salesforce objects. Because it was on the off chance simply making…
Learn the Basics of LWC in No Time! | Salesforce Lightning Web Components
Why Lightning Web Component (LWC)? It was time for a change because the AURA framework, which served as the foundation for the current Lightning Components,…
How to Become a Salesforce Certified Administrator
Back when the Salesforce Certified Administrator certification was released, in around 2008, there were very few resources out there to pass certification. I’m proud to…
Popular Salesforce Videos
What Are Roll-Up Summary Fields in Salesforce? | Video Tutorial
A roll-up summary field calculates values from related records, such as those in a related list. You can create a roll-up summary field to display…
Salesforce Multifactor Authentication Webinar
An extra layer of security on your Salesforce org is always worth it. Learn how to safeguard your sensitive Salesforce account information from unauthorized access…
How To Use Javascript Editor In Formstack Part 1 - Learn Salesforce Series By Algoworks
Learn how to integrate Javascript editor in Formstack in this Salesforce tutorial brought to you by Algoworks. In this video, you will learn how to-…
Popular Salesforce Infographics
Top 10 Salesforce Consulting Companies in India
Salesforce is the leading cloud-based Customer Relationship Management (CRM) platform. It facilitates improving customer relationships by streamlining sales, marketing, and support processes for your business.…
Salesforce vs. MS Dynamics 365 - Which is Best For You?
Two of the most popular options are Salesforce and MS Dynamics 365. And while every business has different priorities, there are some features, like user…
Project Management Tools: Native on The Salesforce Platform
Finding the right solution that can help you use Salesforce for project management can be challenging. Integrating your project management with Salesforce helps you to…