function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
mahesh p 54mahesh p 54 

can i get test class for the below apex class

public class DocuSignUtil 
{
    //public static Attachment docuSignTemplate ;
    public static Document docuSignTemplate ;
    public static String brandId ;
    public static List<String> ContactInfoList;
    public static Id oppId ;
    
    public class DocuSignUtilJSON {
        public List<Documents> documents;
        public recipients recipients;
        public String emailSubject;
        public String emailBlurb;
        public String envelopeId;
        public String status;
        public string brandId;
        public string envelopeIdStamping ;
        public CustomFields CustomFields;
    }
    
    public class TextCustomFields {
        public String name;
        public String show;
        public String required;
        public String value;
    }
    
 
    public class CustomFields {
        public List<TextCustomFields> textCustomFields;
    }
    
    public class Recipients {
        public List<Signers> signers;
        public string recipientId ;
    }
    
    public class Signers {
        public String name;
        public String email;
        public String recipientId;
        public tabs tabs;
    }
    
    public class tabs {
        public List<signHereTabs> signHereTabs;
    }
    
    public class signHereTabs {
        public String xPosition;
        public String yPosition;
        public String documentId;
        public String pageNumber;
    }
    
    public static List<DocuSignUtil.signHereTabs> getSignHereTabs()
    {
        List<DocuSignUtil.signHereTabs> lsignHereTabs = new List<DocuSignUtil.signHereTabs>();
        DocuSignUtil.signHereTabs signHereTabsRec = new DocuSignUtil.signHereTabs();
        signHereTabsRec.xPosition = '200';
        signHereTabsRec.yPosition = '100';
        signHereTabsRec.documentId = '44';
        signHereTabsRec.pageNumber = '1';
        lsignHereTabs.add(signHereTabsRec);
        return lsignHereTabs;
    }
    
    public static  DocuSignUtil.tabs getTabs()
    {
        DocuSignUtil.tabs getTabsRec = new DocuSignUtil.tabs();
        getTabsRec.signHereTabs = DocuSignUtil.getSignHereTabs();
        return getTabsRec;
    }
    
    public static  DocuSignUtil.recipients getReipients()
    {
        DocuSignUtil.Recipients recipientRec = new DocuSignUtil.Recipients();
        recipientRec.signers = DocuSignUtil.getSigners();
        return recipientRec;
    }
    
    public static List<DocuSignUtil.Signers> getSigners(){
        List<DocuSignUtil.Signers> lsigners = new List<DocuSignUtil.Signers>();
        DocuSignUtil.Signers sinerData = new DocuSignUtil.Signers();
        
        sinerData.name = ContactInfoList[0];
        sinerData.email =ContactInfoList[1] ;
        sinerData.recipientId = '1';
        sinerData.tabs = DocuSignUtil.getTabs();
        lsigners.add(sinerData);
        return lsigners;
    }
    
    public static DocuSignUtil.CustomFields getCustomFields(){       
        DocuSignUtil.CustomFields  customfields = new DocuSignUtil.CustomFields();
        List<DocuSignUtil.textCustomFields>  textCustomFieldsList = new List<DocuSignUtil.textCustomFields>();
        DocuSignUtil.textCustomFields  textCustomField = new DocuSignUtil.textCustomFields();
        
        textCustomField.name = 'LoanApp_RecordID'  ;     
        textCustomField.show = 'false';
        textCustomField.required ='false';
        textCustomField.value =String.valueOf(oppId); 
         
        textCustomFieldsList.add(textCustomField);      
        customfields.textCustomFields = textCustomFieldsList;
        return customfields;
    }
    
    public class Documents 
    {
        public String name;
        public String documentBase64;
        public String fileExtension;
        public String documentId;
    }
    
    public static  List<DocuSignUtil.Documents> getAttachment()
    {
        List<DocuSignUtil.Documents>  ldocuments = new  List<DocuSignUtil.Documents>();
        
        DocuSignUtil.Documents doc = new  DocuSignUtil.Documents();
        
        doc.documentBase64 = EncodingUtil.base64Encode(docuSignTemplate.Body);
        doc.name ='Test Document'; 
        doc.fileExtension ='jpeg';
        doc.documentId = '44';
        ldocuments.add(doc);        
        return ldocuments;
    } 
    
    //Method used to structure the JSON format and return the Serialized JSON 
	public static String getJsonPayload(){ 
        String ActionemailBlrb ='Requesting for your electronic signature.\n\n';
        String ActionemailBlrbSub ='Please help us in pulling your confidential credit information to process you Loan Application';
        ActionemailBlrb=ActionemailBlrb + ActionemailBlrbSub; 
        DocuSignUtil.DocuSignUtilJSON payload = new DocuSignUtil.DocuSignUtilJSON();
        payload.recipients = DocuSignUtil.getReipients();
        payload.emailSubject = 'Signature for fetching credit info';
        payload.emailBlurb = ActionemailBlrb;
        payload.envelopeIdStamping = 'false';
        payload.documents = DocuSignUtil.getAttachment();
        payload.customFields = DocuSignUtil.getCustomFields();
        payload.status ='sent';        
        payload.brandId = brandId;
        system.debug('serialized json   '+JSON.serialize(payload));
        return JSON.serialize(payload); 
    }
}
Please help me in writing the test class
 
Best Answer chosen by mahesh p 54
Raj VakatiRaj Vakati
You need to pass the tab id and here is the code
 
@isTest
public class DocuSignUtilTest {    
    
    static testmethod void test() {
        
         Account testAcct = new Account (Name = 'My Test Account');
     insert testAcct;

	 
	  Contact con = new Contact(accountid=a2.id,lastname='test con',email='lnarasimha823@gmail.com');
        insert con;
        Contact con2 = new Contact(accountid=a.id,lastname='test con2',email='lnarasimha823@gmail.com');
         insert con2;
			
			List<String> cons = new List<String>() ;
			cons.add(con.email);
			cons.add(con2.email);
			
    // Creates first opportunity
    Opportunity  = new Opportunity(Name ='New mAWS Deal',
                            AccountID = testAcct.ID,
                            StageName = 'Customer Won',
                            Amount = 3000,
                            CloseDate = System.today());

   insert oppt;
   
   
       
       
         
        Test.startTest();
		
    DocuSignUtil.docuSignTemplate='YOUR TEMPLATE ID QUERY BASED ON NAME FROM DOC TAB' ;
   DocuSignUtil.brandId ='YOUR BRANDID' ;
   DocuSignUtil.ContactInfoList =cons;
   DocuSignUtil.oppId =oppt.Id ;
         DocuSignUtil doUtils = new DocuSignUtil(); 
		 DocuSignUtil.getJsonPayload();
		 DocuSignUtil.getSignHereTabs();
		 DocuSignUtil.getTabs();
		 DocuSignUtil.getReipients();
		 DocuSignUtil.getSigners();
		 DocuSignUtil.getCustomFields();
		  DocuSignUtil.getAttachment();
        
        Test.stopTest();
        
    }

}

 

All Answers

Raj VakatiRaj Vakati
@isTest
public class DocuSignUtilTest {    
    
    static testmethod void test() {
        
         Account testAcct = new Account (Name = 'My Test Account');
     insert testAcct;

	 
	  Contact con = new Contact(accountid=a2.id,lastname='test con',email='lnarasimha823@gmail.com');
        insert con;
        Contact con2 = new Contact(accountid=a.id,lastname='test con2',email='lnarasimha823@gmail.com');
         insert con2;
			
			List<Contact> cons = new List<Contact>() ;
			cons.add(con);
			cons.add(con2);
			
    // Creates first opportunity
    Opportunity  = new Opportunity(Name ='New mAWS Deal',
                            AccountID = testAcct.ID,
                            StageName = 'Customer Won',
                            Amount = 3000,
                            CloseDate = System.today(),
                            Original_Source__c = 'Customer',
                            AWS_Est_Spend__c = 10000);

   insert oppt;
   
   
       
       
         
        Test.startTest();
		
    DocuSignUtil.docuSignTemplate='YOUR TEMPLATE ID QUERY BASED ON NAME FROM DOC TAB' ;
   DocuSignUtil.brandId ='YOUR BRANDID' ;
   DocuSignUtil.ContactInfoList =cons;
   DocuSignUtil.oppId =oppt.Id ;
         DocuSignUtil doUtils = new DocuSignUtil(); 
		 DocuSignUtil.getJsonPayload();
		 DocuSignUtil.getSignHereTabs();
		 DocuSignUtil.getTabs();
		 DocuSignUtil.getReipients();
		 DocuSignUtil.getSigners();
		 DocuSignUtil.getCustomFields();
		  DocuSignUtil.getAttachment();
        
        Test.stopTest();
        
    }

}

 
mahesh p 54mahesh p 54
Hi Raj,
Field does not exist: Original_Source__c on Opportunity,Field does not exist: AWS_Est_Spend__c on Opportunity,Illegal assignment from String to Document-line no:36,Illegal assignment from List<Contact> to List<String>-line no:38 could you please help me in resolving the issues
Raj VakatiRaj Vakati
Please remove those and add any required fields  try this
@isTest
public class DocuSignUtilTest {    
    
    static testmethod void test() {
        
         Account testAcct = new Account (Name = 'My Test Account');
     insert testAcct;

	 
	  Contact con = new Contact(accountid=a2.id,lastname='test con',email='lnarasimha823@gmail.com');
        insert con;
        Contact con2 = new Contact(accountid=a.id,lastname='test con2',email='lnarasimha823@gmail.com');
         insert con2;
			
			List<Contact> cons = new List<Contact>() ;
			cons.add(con.Id);
			cons.add(con2.Id);
			
    // Creates first opportunity
    Opportunity  = new Opportunity(Name ='New mAWS Deal',
                            AccountID = testAcct.ID,
                            StageName = 'Customer Won',
                            Amount = 3000,
                            CloseDate = System.today());

   insert oppt;
   
   
       
       
         
        Test.startTest();
		
    DocuSignUtil.docuSignTemplate='YOUR TEMPLATE ID QUERY BASED ON NAME FROM DOC TAB' ;
   DocuSignUtil.brandId ='YOUR BRANDID' ;
   DocuSignUtil.ContactInfoList =cons;
   DocuSignUtil.oppId =oppt.Id ;
         DocuSignUtil doUtils = new DocuSignUtil(); 
		 DocuSignUtil.getJsonPayload();
		 DocuSignUtil.getSignHereTabs();
		 DocuSignUtil.getTabs();
		 DocuSignUtil.getReipients();
		 DocuSignUtil.getSigners();
		 DocuSignUtil.getCustomFields();
		  DocuSignUtil.getAttachment();
        
        Test.stopTest();
        
    }

}

 
mahesh p 54mahesh p 54
Illegal assignment from List<Contact> to List<String> DocuSignUtil.ContactInfoList is List<String> and cons is List<Contact> and DocuSignUtil.docuSignTemplate is Document Type and DocuSignUtil.docuSignTemplate='YOUR TEMPLATE ID QUERY BASED ON NAME FROM DOC TAB' ; string ??
Raj VakatiRaj Vakati
You need to pass the tab id and here is the code
 
@isTest
public class DocuSignUtilTest {    
    
    static testmethod void test() {
        
         Account testAcct = new Account (Name = 'My Test Account');
     insert testAcct;

	 
	  Contact con = new Contact(accountid=a2.id,lastname='test con',email='lnarasimha823@gmail.com');
        insert con;
        Contact con2 = new Contact(accountid=a.id,lastname='test con2',email='lnarasimha823@gmail.com');
         insert con2;
			
			List<String> cons = new List<String>() ;
			cons.add(con.email);
			cons.add(con2.email);
			
    // Creates first opportunity
    Opportunity  = new Opportunity(Name ='New mAWS Deal',
                            AccountID = testAcct.ID,
                            StageName = 'Customer Won',
                            Amount = 3000,
                            CloseDate = System.today());

   insert oppt;
   
   
       
       
         
        Test.startTest();
		
    DocuSignUtil.docuSignTemplate='YOUR TEMPLATE ID QUERY BASED ON NAME FROM DOC TAB' ;
   DocuSignUtil.brandId ='YOUR BRANDID' ;
   DocuSignUtil.ContactInfoList =cons;
   DocuSignUtil.oppId =oppt.Id ;
         DocuSignUtil doUtils = new DocuSignUtil(); 
		 DocuSignUtil.getJsonPayload();
		 DocuSignUtil.getSignHereTabs();
		 DocuSignUtil.getTabs();
		 DocuSignUtil.getReipients();
		 DocuSignUtil.getSigners();
		 DocuSignUtil.getCustomFields();
		  DocuSignUtil.getAttachment();
        
        Test.stopTest();
        
    }

}

 
This was selected as the best answer
Raj VakatiRaj Vakati
First one is wokrinf ?
mahesh p 54mahesh p 54
Yes Need to query template id