You need to sign in to do that
Don't have an account?
Jeff Bryant 16
Error : Method does not exist or incorrect signature
I'm currently writing a test class and keep getting "Method does not exist or incorrect signature errors... I'm not certain or confident that I am writing the test class properly...
public class SetEMT {
ApexPages.StandardController stdCtrl;
public SetEMT(ApexPages.StandardController controller) {
stdCtrl=controller;
}
List<EmailTemplate> mmts;
public String mmtid {get; set;}
public String mmtname {get; set;}
public String folder {get; set;}
public List<EmailTemplate> getTemplates() {
if(mmts == null) mmts = [select name, description from EmailTemplate order by Name];
return mmts;
}
public void changeTemplates() {
if(folder != null && !folder.equals('')) mmts = [select name, description from EmailTemplate where FolderId = :folder order by Name];
else mmts = [select name, description from EmailTemplate order by Name];
}
public List<SelectOption> getFolders() {
List<Folder> folders = [select name, Id from Folder where Type = 'Email' order by name];
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('',''));
for (Folder f : folders) {
options.add(new SelectOption(f.Id,f.Name));
}
return options;
}
public void setTemplate() {
EAST_Mailing__c mailing = (EAST_Mailing__c)stdCtrl.getRecord();
mailing.PreApprovedEmailTemplateName__c = mmtname;
mailing.PreApprovedEmailTemplateLink__c = URL.getSalesforceBaseUrl().toExternalForm() + '/' + mmtid;
update mailing;
}
}
@ istest (SeeAllData=true)
public class SetEMTTest
{
private static testmethod void validate(){
List<EmailTemplate> eList = new List<EmailTemplate>();
EmailTemplate e = new EmailTemplate (Name = 'Test Template', TemplateType= 'Text');
eList.add(e);
ApexPages.StandardSetController setCtr = new ApexPages.StandardSetController(eList);
SetEMT.setSelected(new EmailTemplate[]{e});
MassUpdateSimpleController controller = new MassUpdateSimpleController(SetEMT);
controller.getTemplates();
System.assert(controller.getTemplates()!=null);
}
}
public class SetEMT {
ApexPages.StandardController stdCtrl;
public SetEMT(ApexPages.StandardController controller) {
stdCtrl=controller;
}
List<EmailTemplate> mmts;
public String mmtid {get; set;}
public String mmtname {get; set;}
public String folder {get; set;}
public List<EmailTemplate> getTemplates() {
if(mmts == null) mmts = [select name, description from EmailTemplate order by Name];
return mmts;
}
public void changeTemplates() {
if(folder != null && !folder.equals('')) mmts = [select name, description from EmailTemplate where FolderId = :folder order by Name];
else mmts = [select name, description from EmailTemplate order by Name];
}
public List<SelectOption> getFolders() {
List<Folder> folders = [select name, Id from Folder where Type = 'Email' order by name];
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('',''));
for (Folder f : folders) {
options.add(new SelectOption(f.Id,f.Name));
}
return options;
}
public void setTemplate() {
EAST_Mailing__c mailing = (EAST_Mailing__c)stdCtrl.getRecord();
mailing.PreApprovedEmailTemplateName__c = mmtname;
mailing.PreApprovedEmailTemplateLink__c = URL.getSalesforceBaseUrl().toExternalForm() + '/' + mmtid;
update mailing;
}
}
@ istest (SeeAllData=true)
public class SetEMTTest
{
private static testmethod void validate(){
List<EmailTemplate> eList = new List<EmailTemplate>();
EmailTemplate e = new EmailTemplate (Name = 'Test Template', TemplateType= 'Text');
eList.add(e);
ApexPages.StandardSetController setCtr = new ApexPages.StandardSetController(eList);
SetEMT.setSelected(new EmailTemplate[]{e});
MassUpdateSimpleController controller = new MassUpdateSimpleController(SetEMT);
controller.getTemplates();
System.assert(controller.getTemplates()!=null);
}
}
You initiated MassUpdateSimpleController, below code of your test class
MassUpdateSimpleController controller = new MassUpdateSimpleController(SetEMT);
// and calling method getTemplates() which is not present in MassUpdateSimpleController
controller.getTemplates();
instead use setCtl to fix this error
Regards,
Puneet.
public static void changeOject(list<le_object__c> newList, list<le_object__c> oldList){ }
And you do not need to instantiate the class in the trigger, as the method is now static you can directly call the method something like this:
TestingTrigger.changeObject(trigger.new, trigger.old);