Skip to main content
I have a seemingly simple Test I wrote but when run it receives the error: Methods defined as TestMethod do not support getContent call. I do not have a .getContent call in my Test. I have narrowed down the error to most likely be the line "conid.add(con.Id);". I'm think the .add() when called acts like a .getContent()? Any thoughts on a way around the call?

Thank you,

Ryan

@isTest

public class Test_EchoSign2 {

static testmethod void testechosign(){

Account ac = new Account(RecordTypeId = [SELECT Id, SobjectType, Name FROM Recordtype WHERE Name = 'Prospect/Client' AND SobjectType = 'Account' LIMIT 1].Id);

ac.Name = 'TestAcnt';

ac.Type = 'Prospect';

insert ac;

Contact con = new Contact(RecordTypeId = [SELECT Id,SObjectType,Name FROM RecordType WHERE Name = 'Prospect/Client' AND SobjectType = 'Contact' LIMIT 1].Id);

con.LastName = 'testLastName';

con.AccountId = ac.Id;

con.Email = 'ryan.greene@outlook.com';

con.LeadSource = 'Unknown';

insert con;

List<Id> conid = new List<Id>();

conid.add(con.Id);

EchoSign.SendPdf(conid);

}

}

 
3 个回答
  1. 2017年10月23日 18:11
    Hi,

    The problem should be here: EchoSign.SendPdf(conid);

    Have you got the source code of a class named EchoSign ?

    You have something like that with a class EchoSign instead of SendAgreementDocument :   https://forums.adobe.com/thread/1699108

    You are using a wrapper (provided) to send the agreement and some line of code in Apex in this provided wrapper cannot pass a Salesforce test (perhaps, I don't have seen your class EchoSign)

    Example: pdfPage.getContentAsPDF(); cannot work directly for a test so it is replaced by pdfBody = blob.valueOf('Unit.Test'); when a test is running.

    That means that you can't test the class as long as the "bad" parts are not isolated and replaced when a test is running.

    That is not the test class but the tested class below:

    // Build page reference for contract PDF & attach to the contract record

    pageReference pdfPage = Page.ContractPDF;

    pdfPage.getParameters().put('ContractId',pContractId);

    blob pdfBody;

    if(Test.isRunningTest()) {

    pdfBody = blob.valueOf('Unit.Test');

    } else {

    pdfBody = pdfPage.getContentAsPDF();

    }

    https://developer.salesforce.com/forums/?id=906F0000000BZBmIAO

    Regards
0/9000