You need to sign in to do that
Don't have an account?
Jaye Lowe
0% code coverage in production 75% in sandbox
In my sandbox I am seeing that I have 75% code coverage on my class. When I deploy it to production it is 0. Can someone take a look at the class and test class and help me out. I need this deployed asap. Thanks!
/**
* About
* -----
* Create date: 21 Jan 2016
*
* Details
* -----
* Controller Extension for ReferOut VF Page
*
* Update History
* -----
*
* Issues / TODOs
* -----
*
**/
public class ReferOutExtension{
public Lead leadRecord {get;set;}
public String selectedInsuranceType {get;set;}
public String referOutReason {get;set;}
public List<SelectOption> insuranceTypes {
get {
if (insuranceTypes == null){
insuranceTypes = new List<SelectOption>();
insuranceTypes.add (new SelectOption('','--None--'));
insuranceTypes.add (new SelectOption('PPO','PPO'));
insuranceTypes.add (new SelectOption('HMO','HMO'));
insuranceTypes.add (new SelectOption('Medicare','Medicare'));
insuranceTypes.add (new SelectOption('Medicaid','Medicaid'));
}
return insuranceTypes;
}
set;
}
public Opportunity associatedOpportunity {
get {
if (associatedOpportunity == null){
List<Account> defaultBusinessAccount = [SELECT Id
FROM Account
WHERE Name = 'Unknown'];
associatedOpportunity = new Opportunity();
if (defaultBusinessAccount.size() > 0){
associatedOpportunity.Business_Account__c= defaultBusinessAccount[0].Id;
if (defaultBusinessAccount.size() > 1)
associatedOpportunity.Refer_Out_Account__c= defaultBusinessAccount[1].Id;
}
}
return associatedOpportunity;
}
set;
}
public ReferOutExtension(ApexPages.StandardController std){
List<String> fields = new List<String>();
fields.add('Caller_No__c');
fields.add('MobilePhone');
fields.add('Email');
fields.add('Street');
fields.add('City');
fields.add('State');
fields.add('PostalCode');
fields.add('Phone');
fields.add('Email');
fields.add('Primary_Policy_Holder_Same_as_client__c');
fields.add('Client_Alias__c');
fields.add('DOB__c');
fields.add('Client_Other_Phone__c');
fields.add('Age__c');
fields.add('SSN__c');
fields.add('Insured_Street_Address__c');
fields.add('Insured_Name__c');
fields.add('Insured_First_Name__c');
fields.add('Insured_Last_Name__c');
fields.add('Self_Pay_Amount__c');
fields.add('Insured_City1__c');
fields.add('Insured_Relation_To_Client__c');
fields.add('Insured_State__c');
fields.add('Insured_DOB__c');
fields.add('Insured_Zip__c');
fields.add('Insured_SSN__c');
fields.add('Insurance_Company__c');
fields.add('Relationship__c');
fields.add('OTHER_Insurance_Co__c');
fields.add('X_ID__c');
fields.add('Group__c');
fields.add('Insurance_Phone__c');
fields.add('Detox_Days__c');
fields.add('Treatment_Days__c');
fields.add('Substance_of_Abuse_1__c');
fields.add('Substance_of_Abuse_2__c');
fields.add('Substance_Details_1__c');
fields.add('Substance_Details_2__c');
fields.add('OTHER_Substance_1__c');
fields.add('OTHER_Substance_2__c');
fields.add('SA_Amount_1__c');
fields.add('SA_Amount_2__c');
fields.add('SA_Route_1__c');
fields.add('SA_Route_2__c');
fields.add('SA_Use_Frequency_1__c');
fields.add('SA_Use_Frequency_2__c');
fields.add('SA_Date_of_Last_Use_1__c');
fields.add('SA_Date_of_Last_Use_2__c');
fields.add('SA_Use_Details_1__c');
fields.add('SA_Use_Details_2__c');
fields.add('Substance_of_Abuse_3__c');
fields.add('Substance_of_Abuse_4__c');
fields.add('Substance_Details_3__c');
fields.add('Substance_Details_4__c');
fields.add('OTHER_Substance_3__c');
fields.add('OTHER_Substance_4__c');
fields.add('SA_Amount_3__c');
fields.add('SA_Amount_4__c');
fields.add('SA_Route_3__c');
fields.add('SA_Route_4__c');
fields.add('SA_Use_Frequency_3__c');
fields.add('SA_Use_Frequency_4__c');
fields.add('SA_Date_of_Last_Use_3__c');
fields.add('SA_Date_of_Last_Use_4__c');
fields.add('SA_Use_Details_3__c');
fields.add('SA_Use_Details_4__c');
fields.add('Treatment_Program_1__c');
fields.add('Treatment_Program_2__c');
fields.add('OTHER_Program_1__c');
fields.add('OTHER_Program_2__c');
fields.add('Country_1__c');
fields.add('Country_2__c');
fields.add('State_1__c');
fields.add('State_2__c');
fields.add('Length_of_Stay_1__c');
fields.add('Length_of_Stay_2__c');
fields.add('Date_of_Stay_1__c');
fields.add('Date_of_Stay_2__c');
fields.add('Completed_Treatment_1__c');
fields.add('Completed_Treatment_2__c');
if (!Test.isRunningTest()){
std.addFields(fields);
}
leadRecord = (Lead) std.getRecord();
}
public PageReference referOut(){
Id convertedOpportunityId;
List<Messaging.SingleEmailMessage> allEmails = new List<Messaging.SingleEmailMessage>();
Account referredBusinessAccount = [SELECT Id, Name
FROM Account
WHERE Id = :associatedOpportunity.Business_Account__c
LIMIT 1];
List<Account> referList = [SELECT Id, Name
FROM Account
WHERE Id = :associatedOpportunity.Refer_Out_Account__c];
Account referredReferOutAccount;
if(!referList.isEmpty()) {
referredReferOutAccount = referList.get(0);
}
if (String.isBlank(selectedInsuranceType)){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, '\'Insurance Type\' is a mandatory field.'));
return null;
}
if (String.isBlank(referOutReason)){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, '\'Why are we referring out?\' is a mandatory field.'));
return null;
}
try {
LeadStatus convertStatus = [SELECT MasterLabel
FROM LeadStatus
WHERE IsConverted = true
LIMIT 1];
List<Database.LeadConvert> leadConverts = new List<Database.LeadConvert>();
Database.LeadConvert lc = new Database.LeadConvert();
String oppName = leadRecord.Name;
lc.setLeadId(leadRecord.Id);
lc.setOpportunityName(oppName + ' - Referral');
lc.setConvertedStatus(convertStatus.MasterLabel);
leadConverts.add(lc);
if (!leadConverts.isEmpty()) {
List<Database.LeadConvertResult> leadConvertResults = Database.convertLead(leadConverts);
for (Database.LeadConvertResult convertResult : leadConvertResults){
if (convertResult.isSuccess()){
convertedOpportunityId = convertResult.getOpportunityId();
Map<String,Schema.RecordTypeInfo> recordTypeMap = Schema.SObjectType.Opportunity.getRecordTypeInfosByName();
Schema.RecordTypeInfo referralRecordType = recordTypeMap.get('Referrals');
Opportunity convertedOpportunity = new Opportunity(Id = convertedOpportunityId);
if(referredReferOutAccount != null)
convertedOpportunity.Business_Account__c = referredBusinessAccount.id;
convertedOpportunity.Refer_Out_Account__c = referredBusinessAccount.Id;
convertedOpportunity.RecordTypeId = referralRecordType.getRecordTypeId();
update convertedOpportunity;
//Add Attachment
PageReference pdf = Page.AbandonedCallLeadDetails;
pdf.getParameters().put('id',leadRecord.Id);
pdf.setRedirect(true);
Blob b;
if (!Test.isRunningTest()){
b = pdf.getContentAsPdf();
} else {
b = Blob.valueof('Test Method');
}
Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment();
efa.setFileName('LeadDetails.pdf');
efa.setBody(b);
Messaging.SingleEmailMessage semail = new Messaging.SingleEmailMessage();
String[] sendingTo = new String[]{OrgWide_Settings__c.getOrgDefaults().Refer_Out_Email_Recipient__c};
semail.setToAddresses(sendingTo);
String treatFacil = '';
if(referredReferOutAccount != null) {
treatFacil = ' and ' + referredReferOutAccount.Name;
}
semail.setSubject('Lead Referred Out to ' + referredBusinessAccount.Name + treatFacil);
String emailBody = 'A lead has been referred to '
+ referredBusinessAccount.Name + treatFacil
+ '. Please follow the opportunity to track it.'
+ URL.getSalesforceBaseUrl().toExternalForm()
+ '/' + convertedOpportunityId;
if (String.isNotBlank(selectedInsuranceType)){
emailBody += '<br/><br/><b>Insurance Type : </b><br/>' + selectedInsuranceType;
}
if (String.isNotBlank(referOutReason)){
emailBody += '<br/><br/><b>Why are we referring out? : </b><br/>' + referOutReason;
}
System.debug(emailBody);
semail.setHtmlBody(emailBody);
semail.setFileAttachments(new Messaging.EmailFileAttachment[] {efa});
allEmails.add(semail);
if (!allEmails.isEmpty()){
try{
Messaging.sendEmail(allEmails);
} catch(Exception e){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'Lead Referred out Successfully. But failed to send notification. Please inform manually.'));
return null;
}
}
} else {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'Failed to Convert Leads. ' + convertResult.getErrors().get(0).getMessage()));
return null;
}
}
}
} catch (Exception e){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'ERROR : ' + e.getmessage()));
return null;
}
return new PageReference('/'+convertedOpportunityId);
}
}
TEST CLASS
/**
* About
* -----
* Create date: 1 Feb 2016
*
* Details
* -----
* Test class for ReferOutExtension Controller Extension
*
* Update History
* -----
*
* Issues / TODOs
* -----
*
**/
@isTest
public class ReferOutExtensionTest{
/**
* About
* -----
* Author: Cloud Nerd
*
* Details
* -----
* Setup Test data for the test class
**/
@TestSetup static void setUpTestData(){
Id assignedTo = [SELECT Id FROM User WHERE IsActive = true Limit 1].Id;
OrgWide_Settings__c orgWideDefaults = new OrgWide_Settings__c();
orgWideDefaults.Abandoned_Call_Recipient__c = 'test@test.com';
orgWideDefaults.Abandoned_Call_Task_Owner__c = assignedTo;
orgWideDefaults.Refer_Out_Email_Recipient__c = 'test@test.com';
insert orgWideDefaults;
Account unknownAccount = new Account();
unknownAccount.Name = 'Unknown';
insert unknownAccount;
Account unknownAccount2 = new Account();
unknownAccount2.Name = 'Unknown2';
insert unknownAccount2;
Lead newLead = new Lead();
newLead.LastName = 'Test Lead';
newLead.Email = 'test@test.com';
newLead.Phone = '1234567890';
newLead.Company = 'Test Company';
newLead.Status = 'New';
newLead.Lead_Source__c = 'Abandoned Call';
insert newLead;
}
private static testMethod void initialPageLoad(){
Lead associatedLead = [SELECT Id FROM Lead where LastName = 'Test Lead'];
List<Account> unknownAccountList = [SELECT Id FROM Account WHERE Name = 'Unknown'];
Test.startTest();
PageReference referOutPage = Page.ReferOut;
referOutPage.getParameters().put('id',associatedLead.Id);
Test.setCurrentPage(referOutPage);
ApexPages.StandardController std = new ApexPages.StandardController(associatedLead);
ReferOutExtension extn = new ReferOutExtension(std);
Test.stopTest();
System.assertEquals(null, extn.selectedInsuranceType);
System.assertEquals(null, extn.referOutReason);
System.assertEquals(5, extn.insuranceTypes.size());
System.assertEquals(unknownAccountList.get(0).id, extn.associatedOpportunity.Business_Account__c);
}
private static testMethod void referringOut(){
Lead associatedLead = [SELECT Id, Name FROM Lead where LastName = 'Test Lead'];
PageReference referOutPage = Page.ReferOut;
referOutPage.getParameters().put('id',associatedLead.Id);
Test.setCurrentPage(referOutPage);
ApexPages.StandardController std = new ApexPages.StandardController(associatedLead);
ReferOutExtension extn = new ReferOutExtension(std);
Test.startTest();
extn.selectedInsuranceType = 'PPO';
extn.referOutReason = 'Test Reason';
extn.referOut();
Test.stopTest();
}
}
/**
* About
* -----
* Create date: 21 Jan 2016
*
* Details
* -----
* Controller Extension for ReferOut VF Page
*
* Update History
* -----
*
* Issues / TODOs
* -----
*
**/
public class ReferOutExtension{
public Lead leadRecord {get;set;}
public String selectedInsuranceType {get;set;}
public String referOutReason {get;set;}
public List<SelectOption> insuranceTypes {
get {
if (insuranceTypes == null){
insuranceTypes = new List<SelectOption>();
insuranceTypes.add (new SelectOption('','--None--'));
insuranceTypes.add (new SelectOption('PPO','PPO'));
insuranceTypes.add (new SelectOption('HMO','HMO'));
insuranceTypes.add (new SelectOption('Medicare','Medicare'));
insuranceTypes.add (new SelectOption('Medicaid','Medicaid'));
}
return insuranceTypes;
}
set;
}
public Opportunity associatedOpportunity {
get {
if (associatedOpportunity == null){
List<Account> defaultBusinessAccount = [SELECT Id
FROM Account
WHERE Name = 'Unknown'];
associatedOpportunity = new Opportunity();
if (defaultBusinessAccount.size() > 0){
associatedOpportunity.Business_Account__c= defaultBusinessAccount[0].Id;
if (defaultBusinessAccount.size() > 1)
associatedOpportunity.Refer_Out_Account__c= defaultBusinessAccount[1].Id;
}
}
return associatedOpportunity;
}
set;
}
public ReferOutExtension(ApexPages.StandardController std){
List<String> fields = new List<String>();
fields.add('Caller_No__c');
fields.add('MobilePhone');
fields.add('Email');
fields.add('Street');
fields.add('City');
fields.add('State');
fields.add('PostalCode');
fields.add('Phone');
fields.add('Email');
fields.add('Primary_Policy_Holder_Same_as_client__c');
fields.add('Client_Alias__c');
fields.add('DOB__c');
fields.add('Client_Other_Phone__c');
fields.add('Age__c');
fields.add('SSN__c');
fields.add('Insured_Street_Address__c');
fields.add('Insured_Name__c');
fields.add('Insured_First_Name__c');
fields.add('Insured_Last_Name__c');
fields.add('Self_Pay_Amount__c');
fields.add('Insured_City1__c');
fields.add('Insured_Relation_To_Client__c');
fields.add('Insured_State__c');
fields.add('Insured_DOB__c');
fields.add('Insured_Zip__c');
fields.add('Insured_SSN__c');
fields.add('Insurance_Company__c');
fields.add('Relationship__c');
fields.add('OTHER_Insurance_Co__c');
fields.add('X_ID__c');
fields.add('Group__c');
fields.add('Insurance_Phone__c');
fields.add('Detox_Days__c');
fields.add('Treatment_Days__c');
fields.add('Substance_of_Abuse_1__c');
fields.add('Substance_of_Abuse_2__c');
fields.add('Substance_Details_1__c');
fields.add('Substance_Details_2__c');
fields.add('OTHER_Substance_1__c');
fields.add('OTHER_Substance_2__c');
fields.add('SA_Amount_1__c');
fields.add('SA_Amount_2__c');
fields.add('SA_Route_1__c');
fields.add('SA_Route_2__c');
fields.add('SA_Use_Frequency_1__c');
fields.add('SA_Use_Frequency_2__c');
fields.add('SA_Date_of_Last_Use_1__c');
fields.add('SA_Date_of_Last_Use_2__c');
fields.add('SA_Use_Details_1__c');
fields.add('SA_Use_Details_2__c');
fields.add('Substance_of_Abuse_3__c');
fields.add('Substance_of_Abuse_4__c');
fields.add('Substance_Details_3__c');
fields.add('Substance_Details_4__c');
fields.add('OTHER_Substance_3__c');
fields.add('OTHER_Substance_4__c');
fields.add('SA_Amount_3__c');
fields.add('SA_Amount_4__c');
fields.add('SA_Route_3__c');
fields.add('SA_Route_4__c');
fields.add('SA_Use_Frequency_3__c');
fields.add('SA_Use_Frequency_4__c');
fields.add('SA_Date_of_Last_Use_3__c');
fields.add('SA_Date_of_Last_Use_4__c');
fields.add('SA_Use_Details_3__c');
fields.add('SA_Use_Details_4__c');
fields.add('Treatment_Program_1__c');
fields.add('Treatment_Program_2__c');
fields.add('OTHER_Program_1__c');
fields.add('OTHER_Program_2__c');
fields.add('Country_1__c');
fields.add('Country_2__c');
fields.add('State_1__c');
fields.add('State_2__c');
fields.add('Length_of_Stay_1__c');
fields.add('Length_of_Stay_2__c');
fields.add('Date_of_Stay_1__c');
fields.add('Date_of_Stay_2__c');
fields.add('Completed_Treatment_1__c');
fields.add('Completed_Treatment_2__c');
if (!Test.isRunningTest()){
std.addFields(fields);
}
leadRecord = (Lead) std.getRecord();
}
public PageReference referOut(){
Id convertedOpportunityId;
List<Messaging.SingleEmailMessage> allEmails = new List<Messaging.SingleEmailMessage>();
Account referredBusinessAccount = [SELECT Id, Name
FROM Account
WHERE Id = :associatedOpportunity.Business_Account__c
LIMIT 1];
List<Account> referList = [SELECT Id, Name
FROM Account
WHERE Id = :associatedOpportunity.Refer_Out_Account__c];
Account referredReferOutAccount;
if(!referList.isEmpty()) {
referredReferOutAccount = referList.get(0);
}
if (String.isBlank(selectedInsuranceType)){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, '\'Insurance Type\' is a mandatory field.'));
return null;
}
if (String.isBlank(referOutReason)){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, '\'Why are we referring out?\' is a mandatory field.'));
return null;
}
try {
LeadStatus convertStatus = [SELECT MasterLabel
FROM LeadStatus
WHERE IsConverted = true
LIMIT 1];
List<Database.LeadConvert> leadConverts = new List<Database.LeadConvert>();
Database.LeadConvert lc = new Database.LeadConvert();
String oppName = leadRecord.Name;
lc.setLeadId(leadRecord.Id);
lc.setOpportunityName(oppName + ' - Referral');
lc.setConvertedStatus(convertStatus.MasterLabel);
leadConverts.add(lc);
if (!leadConverts.isEmpty()) {
List<Database.LeadConvertResult> leadConvertResults = Database.convertLead(leadConverts);
for (Database.LeadConvertResult convertResult : leadConvertResults){
if (convertResult.isSuccess()){
convertedOpportunityId = convertResult.getOpportunityId();
Map<String,Schema.RecordTypeInfo> recordTypeMap = Schema.SObjectType.Opportunity.getRecordTypeInfosByName();
Schema.RecordTypeInfo referralRecordType = recordTypeMap.get('Referrals');
Opportunity convertedOpportunity = new Opportunity(Id = convertedOpportunityId);
if(referredReferOutAccount != null)
convertedOpportunity.Business_Account__c = referredBusinessAccount.id;
convertedOpportunity.Refer_Out_Account__c = referredBusinessAccount.Id;
convertedOpportunity.RecordTypeId = referralRecordType.getRecordTypeId();
update convertedOpportunity;
//Add Attachment
PageReference pdf = Page.AbandonedCallLeadDetails;
pdf.getParameters().put('id',leadRecord.Id);
pdf.setRedirect(true);
Blob b;
if (!Test.isRunningTest()){
b = pdf.getContentAsPdf();
} else {
b = Blob.valueof('Test Method');
}
Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment();
efa.setFileName('LeadDetails.pdf');
efa.setBody(b);
Messaging.SingleEmailMessage semail = new Messaging.SingleEmailMessage();
String[] sendingTo = new String[]{OrgWide_Settings__c.getOrgDefaults().Refer_Out_Email_Recipient__c};
semail.setToAddresses(sendingTo);
String treatFacil = '';
if(referredReferOutAccount != null) {
treatFacil = ' and ' + referredReferOutAccount.Name;
}
semail.setSubject('Lead Referred Out to ' + referredBusinessAccount.Name + treatFacil);
String emailBody = 'A lead has been referred to '
+ referredBusinessAccount.Name + treatFacil
+ '. Please follow the opportunity to track it.'
+ URL.getSalesforceBaseUrl().toExternalForm()
+ '/' + convertedOpportunityId;
if (String.isNotBlank(selectedInsuranceType)){
emailBody += '<br/><br/><b>Insurance Type : </b><br/>' + selectedInsuranceType;
}
if (String.isNotBlank(referOutReason)){
emailBody += '<br/><br/><b>Why are we referring out? : </b><br/>' + referOutReason;
}
System.debug(emailBody);
semail.setHtmlBody(emailBody);
semail.setFileAttachments(new Messaging.EmailFileAttachment[] {efa});
allEmails.add(semail);
if (!allEmails.isEmpty()){
try{
Messaging.sendEmail(allEmails);
} catch(Exception e){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'Lead Referred out Successfully. But failed to send notification. Please inform manually.'));
return null;
}
}
} else {
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'Failed to Convert Leads. ' + convertResult.getErrors().get(0).getMessage()));
return null;
}
}
}
} catch (Exception e){
ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.Error, 'ERROR : ' + e.getmessage()));
return null;
}
return new PageReference('/'+convertedOpportunityId);
}
}
TEST CLASS
/**
* About
* -----
* Create date: 1 Feb 2016
*
* Details
* -----
* Test class for ReferOutExtension Controller Extension
*
* Update History
* -----
*
* Issues / TODOs
* -----
*
**/
@isTest
public class ReferOutExtensionTest{
/**
* About
* -----
* Author: Cloud Nerd
*
* Details
* -----
* Setup Test data for the test class
**/
@TestSetup static void setUpTestData(){
Id assignedTo = [SELECT Id FROM User WHERE IsActive = true Limit 1].Id;
OrgWide_Settings__c orgWideDefaults = new OrgWide_Settings__c();
orgWideDefaults.Abandoned_Call_Recipient__c = 'test@test.com';
orgWideDefaults.Abandoned_Call_Task_Owner__c = assignedTo;
orgWideDefaults.Refer_Out_Email_Recipient__c = 'test@test.com';
insert orgWideDefaults;
Account unknownAccount = new Account();
unknownAccount.Name = 'Unknown';
insert unknownAccount;
Account unknownAccount2 = new Account();
unknownAccount2.Name = 'Unknown2';
insert unknownAccount2;
Lead newLead = new Lead();
newLead.LastName = 'Test Lead';
newLead.Email = 'test@test.com';
newLead.Phone = '1234567890';
newLead.Company = 'Test Company';
newLead.Status = 'New';
newLead.Lead_Source__c = 'Abandoned Call';
insert newLead;
}
private static testMethod void initialPageLoad(){
Lead associatedLead = [SELECT Id FROM Lead where LastName = 'Test Lead'];
List<Account> unknownAccountList = [SELECT Id FROM Account WHERE Name = 'Unknown'];
Test.startTest();
PageReference referOutPage = Page.ReferOut;
referOutPage.getParameters().put('id',associatedLead.Id);
Test.setCurrentPage(referOutPage);
ApexPages.StandardController std = new ApexPages.StandardController(associatedLead);
ReferOutExtension extn = new ReferOutExtension(std);
Test.stopTest();
System.assertEquals(null, extn.selectedInsuranceType);
System.assertEquals(null, extn.referOutReason);
System.assertEquals(5, extn.insuranceTypes.size());
System.assertEquals(unknownAccountList.get(0).id, extn.associatedOpportunity.Business_Account__c);
}
private static testMethod void referringOut(){
Lead associatedLead = [SELECT Id, Name FROM Lead where LastName = 'Test Lead'];
PageReference referOutPage = Page.ReferOut;
referOutPage.getParameters().put('id',associatedLead.Id);
Test.setCurrentPage(referOutPage);
ApexPages.StandardController std = new ApexPages.StandardController(associatedLead);
ReferOutExtension extn = new ReferOutExtension(std);
Test.startTest();
extn.selectedInsuranceType = 'PPO';
extn.referOutReason = 'Test Reason';
extn.referOut();
Test.stopTest();
}
}
Please review these code coverage practices
https://help.salesforce.com/s/articleView?id=000335222&type=1
Also,see similar asks from past:
Https://salesforce.stackexchange.com/questions/336318/code-coverage-is-passing-in-sandbox-with-84-but-when-deploying-to-prod-its-fail
https://salesforce.stackexchange.com/questions/24962/code-coverage-drop
https://salesforce.stackexchange.com/questions/76647/code-coverage-of-93-in-sandbox-but-only-61-in-production-wont-deploy
If this information helps, please mark the answer as best. Thank you
All Answers
Please review these code coverage practices
https://help.salesforce.com/s/articleView?id=000335222&type=1
Also,see similar asks from past:
Https://salesforce.stackexchange.com/questions/336318/code-coverage-is-passing-in-sandbox-with-84-but-when-deploying-to-prod-its-fail
https://salesforce.stackexchange.com/questions/24962/code-coverage-drop
https://salesforce.stackexchange.com/questions/76647/code-coverage-of-93-in-sandbox-but-only-61-in-production-wont-deploy
If this information helps, please mark the answer as best. Thank you