0

I am getting this error when trying to run my test code.. any idea how to fix it? System.DmlException: Insert failed. First exception on row 0; first error: FIELD_INTEGRITY_EXCEPTION, There exists no recipient to which you can send this List Email to.: []

Here is the test code, as well as the apex class, which is a controller extension.

TEST CODE:

@isTest
public class CampaignEmailHistoryTest {
    @isTest
    static void testNotesExtension(){

Campaign testCampaign= new Campaign(Name= 'Test');
insert testCampaign;
        
ListEmail le = new ListEmail(campaignId=testCampaign.id, subject= 'hey there',Status= 'Scheduled'); 
    insert le;
   
  ApexPages.StandardController con = new ApexPages.StandardController(testCampaign);
  CampaignEmailHistoryExtension  dce = new CampaignEmailHistoryExtension(con);
         
    }
    
}

EXTENSION:

public class CampaignEmailHistoryExtension {
public final Campaign thisCampaign;

Public List<ListEmail> listEmails {get; set;}

Public CampaignEmailHistoryExtension(ApexPages.StandardController stdController){
    this.thisCampaign = (Campaign)stdController.getRecord();

    try{

        Campaign camp=[Select Id, Name from Campaign where Id = :this.thisCampaign.id];
    
    listEmails = [SELECT ID, campaignId, CreatedDate, CreatedById, CreatedBy.FirstName, CreatedBy.LastName, subject, LastViewedDate
                  FROM ListEmail 
                  WHERE  campaignId IN (Select id from Campaign where Id = :this.thisCampaign.id)];
    }
    catch(exception e){
        Apexpages.addMessage(new ApexPages.Message(ApexPages.SEVERITY.FATAL, 'No old records'));
    }       
}
}

1 Answer 1

-1

It turns out I didn't need to insert a ListEmail to test this. This covers 77%:

@isTest public class CampaignEmailHistoryTest { @isTest static void testNotesExtension(){

Campaign testCampaign= new Campaign(Name= 'Test'); insert testCampaign;

ListEmail le = new ListEmail(campaignId=testCampaign.id, subject= 'hey there',Status= 'Scheduled'); // insert le;

ApexPages.StandardController con = new ApexPages.StandardController(testCampaign); CampaignEmailHistoryExtension dce = new CampaignEmailHistoryExtension(con);

}

}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .