You need to sign in to do that
Don't have an account?
Amol Gaikwad 13
How To cover PageReference and HttpRequest In Test Class.My Test Class Covered 41% coverage
My Class-
global with sharing class Z_GeneratePDF implements Database.AllowsCallouts {
public static String SUCCESSLABEL = 'success'; //label.symc_QuotePDFSuccessMessage;
public static zqu__Quote__c getQuoteId(ID recordId) {
List<zqu__Quote__c> quoteList = [
SELECT Id, Name, zqu__QuoteTemplate__r.zqu__Template_Id__c,
zqu__SubscriptionType__c,
zqu__Opportunity__r.Primary_Language_Spoken__c
FROM zqu__Quote__c
WHERE Id =: recordId];
if (quoteList.size() == 0) {
System.debug('Error: No quotes found with Id: ' + recordId);
return null;
} else {
return quoteList[0];
}
}
public static String getDefaultQuoteTemplateId(zqu__Quote__c quote) {
String defaultQuoteTemplateId;
Set<String> templates = new Set<String>();
Map<String, QuoteTemplateLanguageMap__c> mapLangToTemplate = QuoteTemplateLanguageMap__c.getAll();
for(String lang:mapLangToTemplate.keySet()){
templates.add(mapLangToTemplate.get(lang).QuoteTemplateName__c);
}
List<zqu__Quote_Template__c> quoteTemplateList = [
SELECT Name,zqu__IsDefault__c, zqu__Description__c,
zqu__Quote_Type__c, zqu__Template_Id__c
FROM zqu__Quote_Template__c
WHERE zqu__Quote_Type__c = :quote.zqu__SubscriptionType__c
and Name in :templates];
if (quoteTemplateList.size() == 0) {
System.debug('No Quote Templates are setup');
return null;
}
for (zqu__Quote_Template__c template : quoteTemplateList) {
if(mapLangToTemplate.ContainsKey('English') && mapLangToTemplate.get('English').QuoteTemplateName__c == template.Name){
defaultQuoteTemplateId = template.zqu__Template_Id__c;
}
}
for (zqu__Quote_Template__c template : quoteTemplateList) {
if(!String.isEmpty(quote.zqu__QuoteTemplate__r.zqu__Template_Id__c)
&& !String.isEmpty(quote.zqu__Opportunity__r.Primary_Language_Spoken__c)
&& mapLangToTemplate.ContainsKey(quote.zqu__Opportunity__r.Primary_Language_Spoken__c)){
if(mapLangToTemplate.get(quote.zqu__Opportunity__r.Primary_Language_Spoken__c).QuoteTemplateName__c == template.Name){
defaultQuoteTemplateId = template.zqu__Template_Id__c;
}
}
}
if(defaultQuoteTemplateId == null){
quoteTemplateList =[SELECT Name,zqu__IsDefault__c, zqu__Description__c,
zqu__Quote_Type__c, zqu__Template_Id__c
FROM zqu__Quote_Template__c
WHERE zqu__IsDefault__c = true];
defaultQuoteTemplateId = quoteTemplateList[0].zqu__Template_Id__c;
}
return defaultQuoteTemplateId;
}
public static String generate(ID quoteID, String sess) {
String retResult = '';
String defaultQuoteTemplateId;
//ID recordId = controller.getRecord().Id;
zqu__Quote__c quote = getQuoteId(quoteID);
if (quote != null) {
System.debug('Quote != null');
defaultQuoteTemplateId = getDefaultQuoteTemplateId(quote);
if (defaultQuoteTemplateId == null) {
System.debug('defaultQuoteTemplateID not found');
retResult = 'defaultQuoteTemplateID not found';
return retResult;
//defaultQuoteTemplateId = '2c92c0f95427f50501542b05f7671dc5';
}
}
WelcomeEmailSettings__c zSettings = WelcomeEmailSettings__c.getOrgDefaults();
Map<String,Object> zuoraConfigInfo = zqu.zQuoteUtil.getZuoraConfigInformation();
Zuora.ZApi zApi = new Zuora.ZApi();
Zuora.ZApi.LoginResult loginResult = new Zuora.ZApi.LoginResult();
if(!Test.isRunningTest()){
loginResult = zApi.zLogin();
System.debug(loginResult.serverUrl);
} else {
loginResult.serverUrl = 'services86';
}
String quoteServletUrl = loginResult.serverUrl.substring(0, loginResult.serverUrl.indexOf('apps/')) + 'apps/servlet/GenerateQuote';
String sessionId = UserInfo.getSessionId();
if(sessionId==null){
sessionId = sess;
}
System.debug('sessionId: '+sessionId);
String sfdcUrl = URL.getSalesforceBaseUrl().toExternalForm()
+ '/services/Soap/u/10.0/' + UserInfo.getOrganizationId();
PageReference generatePage = new PageReference(quoteServletUrl);
generatePage.getParameters().put('templateId', defaultQuoteTemplateId);
generatePage.getParameters().put('sessionId', sessionId);
generatePage.getParameters().put('quoteId', quote.Id);
generatePage.getParameters().put('attachToOpportunity', 'true');
generatePage.getParameters().put('format', 'pdf');
generatePage.getParameters().put('ZSession', loginResult.session);
generatePage.getParameters().put('useSFDCLocale', '1');
generatePage.getParameters().put('locale', UserInfo.getLocale());
generatePage.getParameters().put('zquotesMajorVersion', zSettings.zquotesMajorVersion__c);
generatePage.getParameters().put('zquotesMinorVersion', zSettings.zquotesMinorVersion__c);
Http h = new Http();
System.debug('Quote PDF URL = ' + generatePage.getUrl()+'&serverUrl='+sfdcUrl);
HttpRequest req = new HttpRequest();
req.setEndpoint(generatePage.getUrl()+'&serverUrl='+sfdcUrl);
req.setMethod('GET');
req.setTimeout(60000);
HttpResponse res = new HttpResponse();
if(!Test.isRunningTest()){
try{
res = h.send(req);
}catch(Exception e){
System.debug('Error with send: ' + e);
if(e.getMessage() == 'Read timed out'){
System.debug('Test Has passed error test');
retResult = SUCCESSLABEL;
}else{
System.debug('Test Did Not Pass: ' + e.getMessage());
retResult = e.getMessage();
}
}
} else {
res.setStatusCode(200);
}
if (res.getStatusCode() != 200) {
System.debug('res: ' + res);
if(res.getStatusCode() == 0){
retResult = SUCCESSLABEL;
}else{
System.Debug('Error contacting Zuora');
retResult = 'Error contacting Zuora';
}
return retResult;
}
String zuoraResponse = res.getBody();
if(Test.isRunningTest()){
zuoraResponse = 'Quote PDF document has been successfully AttachmentID: 10101';
}
String successMessage = 'Quote PDF document has been successfully';
String attachmentId;
if (zuoraResponse.contains(successMessage)) {
System.Debug('Response Body: ' + zuoraResponse);
attachmentId = zuoraResponse.split('AttachmentID:', 0)[1];
System.debug('Attachment ID Post Regex: ' + attachmentId);
// We know the index of the the attachment id.
if (attachmentId.length() > 19) {
attachmentId = attachmentId.substring(1,19);
}
retResult = SUCCESSLABEL;
System.debug('This was a success');
} else {
retResult = zuoraResponse;
}
return retResult;
}
private static void appendMessage(ApexPages.Severity severity,
String message) {
ApexPages.addMessage(new ApexPages.Message(severity, message));
}
}
Test Class-
@isTest
public class Z_GeneratePDF_Test {
public static testMethod void unitTest(){
Map<String, QuoteTemplateLanguageMap__c> mapLangToTemplate = QuoteTemplateLanguageMap__c.getAll();
//insert QuoteTemplateLanguageMap__c
QuoteTemplateLanguageMap__c setting = new QuoteTemplateLanguageMap__c(
Name = 'testSetting',
QuoteTemplateName__c = 'testQuote'
);
insert setting;
System.assert(setting.Name == 'testSetting');
//insert Account
Account acc = new Account();
acc.Name = 'testAccount';
acc.Phone = '1234567890';
acc.Phone_2__c = '1234567890';
acc.Type = 'Prospect';
acc.Lead_Type__c = 'Inbound';
acc.Contact_Method__c = 'Email';
acc.BillingCountry = 'United States';
acc.Primary_Language_Spoken__c = 'Arabic';
insert acc;
System.assert(acc.Name == 'testAccount');
//insert Opportunity
Opportunity opp = new Opportunity(
Name = 'TestOpp',
StageName = 'Prospect',
AccountId = acc.Id,
CloseDate = Date.newInstance(2017, 9, 27),
Welcome_Email__c = 'Touchpoint@gmail.com',
Welcome_Email_Template__c = 'TestTemplate'
);
insert Opp;
System.assert(Opp.Name == 'TestOpp');
//insert zqu__Quote_Template__c
zqu__Quote_Template__c quoteTemp = new zqu__Quote_Template__c(
Name = 'testQuote',
zqu__IsDefault__c = true,
zqu__Description__c = 'testDescription',
zqu__Quote_Type__c = 'New Subscription',
zqu__Template_Id__c = 'testId'
);
insert quoteTemp;
System.assert(quoteTemp.Name == 'testQuote');
//insert zqu__Quote__c
zqu__Quote__c quote = new zqu__Quote__c(
Name = 'testQuote',
zqu__Opportunity__c = opp.Id,
zqu__SubscriptionType__c = 'New Subscription',
zqu__QuoteTemplate__c = quoteTemp.Id
);
insert quote;
System.assert(quote.Name == 'TestQuote');
UserInfo.getSessionId();
String sessionId=UserInfo.getSessionId();
Test.startTest();
Z_GeneratePDF.getQuoteId(quote.Id);
Z_GeneratePDF.generate(quote.Id, null);
Z_GeneratePDF.getDefaultQuoteTemplateId(quote);
// Z_GeneratePDF.generate(quote.Id,'sess');
Test.stopTest();
}
public static testMethod void unitTest1(){
/* Map<String, QuoteTemplateLanguageMap__c> mapLangToTemplate = QuoteTemplateLanguageMap__c.getAll();
//insert QuoteTemplateLanguageMap__c
QuoteTemplateLanguageMap__c setting = new QuoteTemplateLanguageMap__c(
Name = 'testSetting',
QuoteTemplateName__c = 'testQuote'
);
insert setting;
System.assert(setting.Name == 'testSetting');*/
// String retResult = '';
//String defaultQuoteTemplateId;
//insert Account
Account acc = new Account();
acc.Name = 'testAccount';
acc.Phone = '1234567890';
acc.Phone_2__c = '1234567890';
acc.Type = 'Prospect';
acc.Lead_Type__c = 'Inbound';
acc.Contact_Method__c = 'Email';
acc.BillingCountry = 'United States';
acc.Primary_Language_Spoken__c = 'Arabic';
insert acc;
System.assert(acc.Name == 'testAccount');
//insert Opportunity
Opportunity opp = new Opportunity(
Name = 'TestOpp',
StageName = 'Prospect',
AccountId = acc.Id,
CloseDate = Date.newInstance(2017, 9, 27),
Welcome_Email__c = 'Touchpoint@gmail.com',
Welcome_Email_Template__c = 'TestTemplate'
);
//insert Opp;
System.assert(Opp.Name == 'TestOpp');
//insert zqu__Quote_Template__c
zqu__Quote_Template__c quoteTemp = new zqu__Quote_Template__c(
Name = 'testQuote',
zqu__IsDefault__c = true,
zqu__Description__c = 'testDescription',
zqu__Quote_Type__c = 'New Subscription',
zqu__Template_Id__c = 'testId'
);
// insert quoteTemp;
System.assert(quoteTemp.Name == 'testQuote');
List<zqu__Quote_Template__c> quoteTemplateListtest=new List<zqu__Quote_Template__c>();
quoteTemplateListtest.add(quoteTemp);
//insert zqu__Quote__c
zqu__Quote__c quote = new zqu__Quote__c(
Name = 'testQuote',
zqu__Opportunity__c = opp.Id,
zqu__SubscriptionType__c = 'New Subscription',
zqu__QuoteTemplate__c = quoteTemp.Id
);
//insert quote;
List<zqu__Quote__c> quoteListtest=new List<zqu__Quote__c>();
quoteListtest.add(quote);
UserInfo.getSessionId();
String sessionId=UserInfo.getSessionId();
Test.startTest();
Z_GeneratePDF.getQuoteId(quote.Id);
//Z_GeneratePDF.generate(quote.Id, UserInfo.getSessionId());
Z_GeneratePDF.getDefaultQuoteTemplateId(quote);
// Z_GeneratePDF.generate(quote.Id,'sess');
Test.stopTest();
}
}
global with sharing class Z_GeneratePDF implements Database.AllowsCallouts {
public static String SUCCESSLABEL = 'success'; //label.symc_QuotePDFSuccessMessage;
public static zqu__Quote__c getQuoteId(ID recordId) {
List<zqu__Quote__c> quoteList = [
SELECT Id, Name, zqu__QuoteTemplate__r.zqu__Template_Id__c,
zqu__SubscriptionType__c,
zqu__Opportunity__r.Primary_Language_Spoken__c
FROM zqu__Quote__c
WHERE Id =: recordId];
if (quoteList.size() == 0) {
System.debug('Error: No quotes found with Id: ' + recordId);
return null;
} else {
return quoteList[0];
}
}
public static String getDefaultQuoteTemplateId(zqu__Quote__c quote) {
String defaultQuoteTemplateId;
Set<String> templates = new Set<String>();
Map<String, QuoteTemplateLanguageMap__c> mapLangToTemplate = QuoteTemplateLanguageMap__c.getAll();
for(String lang:mapLangToTemplate.keySet()){
templates.add(mapLangToTemplate.get(lang).QuoteTemplateName__c);
}
List<zqu__Quote_Template__c> quoteTemplateList = [
SELECT Name,zqu__IsDefault__c, zqu__Description__c,
zqu__Quote_Type__c, zqu__Template_Id__c
FROM zqu__Quote_Template__c
WHERE zqu__Quote_Type__c = :quote.zqu__SubscriptionType__c
and Name in :templates];
if (quoteTemplateList.size() == 0) {
System.debug('No Quote Templates are setup');
return null;
}
for (zqu__Quote_Template__c template : quoteTemplateList) {
if(mapLangToTemplate.ContainsKey('English') && mapLangToTemplate.get('English').QuoteTemplateName__c == template.Name){
defaultQuoteTemplateId = template.zqu__Template_Id__c;
}
}
for (zqu__Quote_Template__c template : quoteTemplateList) {
if(!String.isEmpty(quote.zqu__QuoteTemplate__r.zqu__Template_Id__c)
&& !String.isEmpty(quote.zqu__Opportunity__r.Primary_Language_Spoken__c)
&& mapLangToTemplate.ContainsKey(quote.zqu__Opportunity__r.Primary_Language_Spoken__c)){
if(mapLangToTemplate.get(quote.zqu__Opportunity__r.Primary_Language_Spoken__c).QuoteTemplateName__c == template.Name){
defaultQuoteTemplateId = template.zqu__Template_Id__c;
}
}
}
if(defaultQuoteTemplateId == null){
quoteTemplateList =[SELECT Name,zqu__IsDefault__c, zqu__Description__c,
zqu__Quote_Type__c, zqu__Template_Id__c
FROM zqu__Quote_Template__c
WHERE zqu__IsDefault__c = true];
defaultQuoteTemplateId = quoteTemplateList[0].zqu__Template_Id__c;
}
return defaultQuoteTemplateId;
}
public static String generate(ID quoteID, String sess) {
String retResult = '';
String defaultQuoteTemplateId;
//ID recordId = controller.getRecord().Id;
zqu__Quote__c quote = getQuoteId(quoteID);
if (quote != null) {
System.debug('Quote != null');
defaultQuoteTemplateId = getDefaultQuoteTemplateId(quote);
if (defaultQuoteTemplateId == null) {
System.debug('defaultQuoteTemplateID not found');
retResult = 'defaultQuoteTemplateID not found';
return retResult;
//defaultQuoteTemplateId = '2c92c0f95427f50501542b05f7671dc5';
}
}
WelcomeEmailSettings__c zSettings = WelcomeEmailSettings__c.getOrgDefaults();
Map<String,Object> zuoraConfigInfo = zqu.zQuoteUtil.getZuoraConfigInformation();
Zuora.ZApi zApi = new Zuora.ZApi();
Zuora.ZApi.LoginResult loginResult = new Zuora.ZApi.LoginResult();
if(!Test.isRunningTest()){
loginResult = zApi.zLogin();
System.debug(loginResult.serverUrl);
} else {
loginResult.serverUrl = 'services86';
}
String quoteServletUrl = loginResult.serverUrl.substring(0, loginResult.serverUrl.indexOf('apps/')) + 'apps/servlet/GenerateQuote';
String sessionId = UserInfo.getSessionId();
if(sessionId==null){
sessionId = sess;
}
System.debug('sessionId: '+sessionId);
String sfdcUrl = URL.getSalesforceBaseUrl().toExternalForm()
+ '/services/Soap/u/10.0/' + UserInfo.getOrganizationId();
PageReference generatePage = new PageReference(quoteServletUrl);
generatePage.getParameters().put('templateId', defaultQuoteTemplateId);
generatePage.getParameters().put('sessionId', sessionId);
generatePage.getParameters().put('quoteId', quote.Id);
generatePage.getParameters().put('attachToOpportunity', 'true');
generatePage.getParameters().put('format', 'pdf');
generatePage.getParameters().put('ZSession', loginResult.session);
generatePage.getParameters().put('useSFDCLocale', '1');
generatePage.getParameters().put('locale', UserInfo.getLocale());
generatePage.getParameters().put('zquotesMajorVersion', zSettings.zquotesMajorVersion__c);
generatePage.getParameters().put('zquotesMinorVersion', zSettings.zquotesMinorVersion__c);
Http h = new Http();
System.debug('Quote PDF URL = ' + generatePage.getUrl()+'&serverUrl='+sfdcUrl);
HttpRequest req = new HttpRequest();
req.setEndpoint(generatePage.getUrl()+'&serverUrl='+sfdcUrl);
req.setMethod('GET');
req.setTimeout(60000);
HttpResponse res = new HttpResponse();
if(!Test.isRunningTest()){
try{
res = h.send(req);
}catch(Exception e){
System.debug('Error with send: ' + e);
if(e.getMessage() == 'Read timed out'){
System.debug('Test Has passed error test');
retResult = SUCCESSLABEL;
}else{
System.debug('Test Did Not Pass: ' + e.getMessage());
retResult = e.getMessage();
}
}
} else {
res.setStatusCode(200);
}
if (res.getStatusCode() != 200) {
System.debug('res: ' + res);
if(res.getStatusCode() == 0){
retResult = SUCCESSLABEL;
}else{
System.Debug('Error contacting Zuora');
retResult = 'Error contacting Zuora';
}
return retResult;
}
String zuoraResponse = res.getBody();
if(Test.isRunningTest()){
zuoraResponse = 'Quote PDF document has been successfully AttachmentID: 10101';
}
String successMessage = 'Quote PDF document has been successfully';
String attachmentId;
if (zuoraResponse.contains(successMessage)) {
System.Debug('Response Body: ' + zuoraResponse);
attachmentId = zuoraResponse.split('AttachmentID:', 0)[1];
System.debug('Attachment ID Post Regex: ' + attachmentId);
// We know the index of the the attachment id.
if (attachmentId.length() > 19) {
attachmentId = attachmentId.substring(1,19);
}
retResult = SUCCESSLABEL;
System.debug('This was a success');
} else {
retResult = zuoraResponse;
}
return retResult;
}
private static void appendMessage(ApexPages.Severity severity,
String message) {
ApexPages.addMessage(new ApexPages.Message(severity, message));
}
}
Test Class-
@isTest
public class Z_GeneratePDF_Test {
public static testMethod void unitTest(){
Map<String, QuoteTemplateLanguageMap__c> mapLangToTemplate = QuoteTemplateLanguageMap__c.getAll();
//insert QuoteTemplateLanguageMap__c
QuoteTemplateLanguageMap__c setting = new QuoteTemplateLanguageMap__c(
Name = 'testSetting',
QuoteTemplateName__c = 'testQuote'
);
insert setting;
System.assert(setting.Name == 'testSetting');
//insert Account
Account acc = new Account();
acc.Name = 'testAccount';
acc.Phone = '1234567890';
acc.Phone_2__c = '1234567890';
acc.Type = 'Prospect';
acc.Lead_Type__c = 'Inbound';
acc.Contact_Method__c = 'Email';
acc.BillingCountry = 'United States';
acc.Primary_Language_Spoken__c = 'Arabic';
insert acc;
System.assert(acc.Name == 'testAccount');
//insert Opportunity
Opportunity opp = new Opportunity(
Name = 'TestOpp',
StageName = 'Prospect',
AccountId = acc.Id,
CloseDate = Date.newInstance(2017, 9, 27),
Welcome_Email__c = 'Touchpoint@gmail.com',
Welcome_Email_Template__c = 'TestTemplate'
);
insert Opp;
System.assert(Opp.Name == 'TestOpp');
//insert zqu__Quote_Template__c
zqu__Quote_Template__c quoteTemp = new zqu__Quote_Template__c(
Name = 'testQuote',
zqu__IsDefault__c = true,
zqu__Description__c = 'testDescription',
zqu__Quote_Type__c = 'New Subscription',
zqu__Template_Id__c = 'testId'
);
insert quoteTemp;
System.assert(quoteTemp.Name == 'testQuote');
//insert zqu__Quote__c
zqu__Quote__c quote = new zqu__Quote__c(
Name = 'testQuote',
zqu__Opportunity__c = opp.Id,
zqu__SubscriptionType__c = 'New Subscription',
zqu__QuoteTemplate__c = quoteTemp.Id
);
insert quote;
System.assert(quote.Name == 'TestQuote');
UserInfo.getSessionId();
String sessionId=UserInfo.getSessionId();
Test.startTest();
Z_GeneratePDF.getQuoteId(quote.Id);
Z_GeneratePDF.generate(quote.Id, null);
Z_GeneratePDF.getDefaultQuoteTemplateId(quote);
// Z_GeneratePDF.generate(quote.Id,'sess');
Test.stopTest();
}
public static testMethod void unitTest1(){
/* Map<String, QuoteTemplateLanguageMap__c> mapLangToTemplate = QuoteTemplateLanguageMap__c.getAll();
//insert QuoteTemplateLanguageMap__c
QuoteTemplateLanguageMap__c setting = new QuoteTemplateLanguageMap__c(
Name = 'testSetting',
QuoteTemplateName__c = 'testQuote'
);
insert setting;
System.assert(setting.Name == 'testSetting');*/
// String retResult = '';
//String defaultQuoteTemplateId;
//insert Account
Account acc = new Account();
acc.Name = 'testAccount';
acc.Phone = '1234567890';
acc.Phone_2__c = '1234567890';
acc.Type = 'Prospect';
acc.Lead_Type__c = 'Inbound';
acc.Contact_Method__c = 'Email';
acc.BillingCountry = 'United States';
acc.Primary_Language_Spoken__c = 'Arabic';
insert acc;
System.assert(acc.Name == 'testAccount');
//insert Opportunity
Opportunity opp = new Opportunity(
Name = 'TestOpp',
StageName = 'Prospect',
AccountId = acc.Id,
CloseDate = Date.newInstance(2017, 9, 27),
Welcome_Email__c = 'Touchpoint@gmail.com',
Welcome_Email_Template__c = 'TestTemplate'
);
//insert Opp;
System.assert(Opp.Name == 'TestOpp');
//insert zqu__Quote_Template__c
zqu__Quote_Template__c quoteTemp = new zqu__Quote_Template__c(
Name = 'testQuote',
zqu__IsDefault__c = true,
zqu__Description__c = 'testDescription',
zqu__Quote_Type__c = 'New Subscription',
zqu__Template_Id__c = 'testId'
);
// insert quoteTemp;
System.assert(quoteTemp.Name == 'testQuote');
List<zqu__Quote_Template__c> quoteTemplateListtest=new List<zqu__Quote_Template__c>();
quoteTemplateListtest.add(quoteTemp);
//insert zqu__Quote__c
zqu__Quote__c quote = new zqu__Quote__c(
Name = 'testQuote',
zqu__Opportunity__c = opp.Id,
zqu__SubscriptionType__c = 'New Subscription',
zqu__QuoteTemplate__c = quoteTemp.Id
);
//insert quote;
List<zqu__Quote__c> quoteListtest=new List<zqu__Quote__c>();
quoteListtest.add(quote);
UserInfo.getSessionId();
String sessionId=UserInfo.getSessionId();
Test.startTest();
Z_GeneratePDF.getQuoteId(quote.Id);
//Z_GeneratePDF.generate(quote.Id, UserInfo.getSessionId());
Z_GeneratePDF.getDefaultQuoteTemplateId(quote);
// Z_GeneratePDF.generate(quote.Id,'sess');
Test.stopTest();
}
}
For covering Http request you have to create a mock class for test class like this
global class YourHttpCalloutMockImpl implements HttpCalloutMock {
global HTTPResponse respond(HTTPRequest req) {
// Create a fake response.
// Set response values, and
// return response.
}
}
and add this code for page reference in your test class
Test.setCurrentPage(pageRef);
PageReference generatePage = new PageReference(quoteServletUrl);
generatePage.getParameters().put('templateId', defaultQuoteTemplateId);
generatePage.getParameters().put('sessionId', sessionId);
generatePage.getParameters().put('quoteId', quote.Id);
generatePage.getParameters().put('attachToOpportunity', 'true');
generatePage.getParameters().put('format', 'pdf');
generatePage.getParameters().put('ZSession', loginResult.session);
generatePage.getParameters().put('useSFDCLocale', '1');
generatePage.getParameters().put('locale', UserInfo.getLocale());
generatePage.getParameters().put('zquotesMajorVersion', zSettings.zquotesMajorVersion__c);
generatePage.getParameters().put('zquotesMinorVersion', zSettings.zquotesMinorVersion__c);
I hope you find the above solution helpful. If it does, please mark as Best Answer to help others too.
Thanks and Regards,
Deepali Kulshrestha.