System.TypeException:控制器中的无效整数salesforce测试类错误

时间:2016-05-01 13:52:44

标签: salesforce apex

我有一个可视化强制页面,用作视图,将自定义短信发送到salesforce中生成的潜在客户。年份字段是salesforce上的数字字段。发布控制器和测试类错误。还提到错误行。

控制器: -

//Class to send Message to Lead or Account
public class nmSendSMS 
{
    //Name of Lead or Account
    public string strName{get;set;}

    public Lead objLead {get;set;}
    public String defaultNumbersToBeAdded;
    public String leadYear{get;set;}
    //Mobile number of lead of account
    public string strMobile{get;set;}
    public String messageToBeSent{get;set;}
    public List<SelectOption> getYear{get;set;}
    public string strSMSBody{get;set;}
    //To disable fields if data is not available

    String session,statusOfLead,stringOfMobileNumbers;

    public nmSendSMS()
    {
         objLead = new Lead(); 
         leadYear ='';
         defaultNumbersToBeAdded = '9820834921,9920726538';
         messageToBeSent = '';
         stringOfMobileNumbers= '';
    }

    //Method to send SMS
    public PageReference SendSMS()
    {
        if(leadYear!='' || messageToBeSent!='')
        {
            session = objLead.nm_Session__c;
            integer lengthOfCommaSeperatedNumbers;
            String finalString ='';
            statusOfLead = objLead.Status;
            list<lead> leadNumbersList = [select MobilePhone from Lead where Status=:statusOfLead and nm_Session__c=:session and nm_Year__c=:integer.valueOf(leadYear)];
            for(Lead obj :leadNumbersList)
            {
              stringOfMobileNumbers = obj.MobilePhone+','+stringOfMobileNumbers;
            }
            System.debug('stringOfMobileNumbers -->'+stringOfMobileNumbers);
            lengthOfCommaSeperatedNumbers = stringOfMobileNumbers.length();
            finalString = stringOfMobileNumbers.substring(0,lengthOfCommaSeperatedNumbers-1);
            finalString = finalString + defaultNumbersToBeAdded;
            System.debug('Final String--->'+finalString+'Message To Be Sent-->'+messageToBeSent);
            String response = SMSSenderWebService.sendSMSForNotContactedLead(finalString,messageToBeSent);
            System.debug('Response-->'+response);

        }
        else
        {
            ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Warning,'Please Mention all the fields For Lead Search'));
            return null;
        }
        return null;

    }
        public List<SelectOption> getYear()
        {
            List<SelectOption> options = new List<SelectOption>();
            options.add(new SelectOption('2016','2016'));
            options.add(new SelectOption('2017','2017'));
            options.add(new SelectOption('2018','2018'));
            options.add(new SelectOption('2019','2019'));
            return options;



        }



}

测试类: -

@isTest
public class nmSendSMSTracker
{    
    public static Lead obj;

    public static nm_Centers__c objLearningCenter;
    public static nm_Program__c program;
    public static nm_EligiblityCriteria__c eligibility ;
    static testMethod void tesMethod()
    {
        LoadData();  
        PageReference pg = new PageReference('/apex/nmSendSMS');
        Test.setCurrentPage(pg);
        Test.StartTest();
        nmSendSMS smsSend = new nmSendSMS();
        smsSend.getYear();
        smsSend.objLead = obj;
        smsSend.messageToBeSent ='Hello Vikas';
        smsSend.SendSMS();
        Test.StopTest();
     }
    static void LoadData()
    {

      nm_EscalationMatrix__c objCustomSeetings3 = new nm_EscalationMatrix__c();

        objCustomSeetings3.name='0-1 Week';
        objCustomSeetings3.nm_LCEscalationTime__c='22:45';
        objCustomSeetings3.nm_RemidertoIC__c='22:45';
        objCustomSeetings3.nm_HOEscalationTime__c='20:56';
        objCustomSeetings3.nm_RemidertoHO__c='22:45';

        insert objCustomSeetings3;

        nm_EscalationMatrix__c objCustomSeetings = new nm_EscalationMatrix__c();

        objCustomSeetings.name='2-4 Months';
        objCustomSeetings.nm_LCEscalationTime__c='20:45';
        objCustomSeetings.nm_RemidertoIC__c='21:45';
        objCustomSeetings.nm_HOEscalationTime__c='20:56';
        objCustomSeetings.nm_RemidertoHO__c='21:45';

        insert objCustomSeetings; 

        nm_EscalationMatrix__c objCustomSeetings2 = new nm_EscalationMatrix__c();
        objCustomSeetings2.name='3-6 Week';
        objCustomSeetings2.nm_LCEscalationTime__c='20:34';
        objCustomSeetings2.nm_RemidertoIC__c='21:45';
        objCustomSeetings2.nm_HOEscalationTime__c='20:56';
        objCustomSeetings2.nm_RemidertoHO__c='21:45';
        insert objCustomSeetings2; 

        nm_Holidays__c objHoliday = new nm_Holidays__c();
        objHoliday.Name='Holi';
        objHoliday.nm_Date__c=system.today();
        insert objHoliday;

       // profile objprofile =[SELECT Id FROM Profile WHERE Name='System Administrator'];
         user usr = [Select id from user limit 1];

        SystemConfiguration__c objSystemConfiguration=new SystemConfiguration__c();
        objSystemConfiguration.name='test';
        objSystemConfiguration.nm_BusinessHoursStartTime__c='012213';
        objSystemConfiguration.nm_BusinessHoursEndTime__c='0234533';
        insert objSystemConfiguration;

         Recordtype rt=[select id from Recordtype where sobjectType='nm_Centers__c' AND name ='Learning Center']; 

         objLearningCenter = new nm_Centers__c();

         objLearningCenter.RecordTypeID =rt.id;         
         objLearningCenter.nm_CenterCode__c ='002';
         objLearningCenter.nm_CenterCity__c='Delhi';
         objLearningCenter.nm_City__c='Delhi';
         objLearningCenter.nm_StateProvince__c='Delhi';
         objLearningCenter.nm_Street__c='Laxmi Ngar';
         objLearningCenter.nm_PostalCode__c='110091';         
         insert objLearningCenter;


          program = new nm_Program__c();
          program.nmIsActive__c = true;
          program.nm_ProgramCode__c = 'test';
          program.nm_ProgramDuration__c= 2.0;
          program.nm_ProgramName__c = 'Post grad diploma finance';
          program.nm_ProgramValidity__c = 4;
          program.nm_TotalSemesters__c = 4;
          program.nm_Type__c = 'Post Graduate Diploma Program';

         insert program;

         eligibility = new nm_EligiblityCriteria__c();
         eligibility.Name = 'Bachelors degree';
         eligibility.nm_EligiblityCriteria__c = 'bjhwbghbjgw';
         eligibility.Experience_Required_In_Year__c= 2;
         eligibility.Graduation_Percentage__c = 6;
         eligibility.Graduation_Required__c = true;

         insert eligibility;


         obj = new Lead();
         obj.Email='amit.kumar@saasfocus.com';
         obj.MobilePhone='8377985721';
         obj.FirstName='sandy';
         obj.LastName='babar';
         obj.nm_BloodGroup__c='B+';
         obj.nm_Gender__c='male';
         obj.nm_FathersName__c='subhash';
         obj.nm_MothersName__c='kalpana';
         obj.nm_StateProvince_P__c='maharashtra';
         obj.nm_Nationality__c='Indian';
         obj.nm_Street_P__c='xyz';
         obj.nm_LocalityName__c='mohitep';
         obj.nm_SelfLearningMaterial__c='Send to my shipping address';
         obj.Status='Cold'; 
         obj.nm_Session__c = 'January';
         obj.nm_NameofBoard__c='CBSE';
         obj.nm_EligiblityCriteria__c = eligibility.id;
         obj.nm_Program__c = program.id;
         obj.nm_InformationCenter__c =objLearningCenter.id; 
         obj.nm_10thPercentage__c=77.00;
         obj.nm_NameofBoard__c='ICSC';
         obj.nm_YearofCompletion__c='2000';
         obj.nm_NameofSchool__c='nutan';
         obj.nm_Class12OrDiploma__c='HSC';
         obj.nm_NameofBoard12__c='LCSC';
         obj.nm_YearofCompletion12__c='2002';
         obj.nm_NameofSchool12__c='dfg';
         obj.nm_Stream__c='adw';
         obj.nm_BachelorsDegreeName__c='gfc';
         obj.nm_Specialization__c='gf';
         obj.nm_NameofUniversity__c='G K university';
         obj.nm_BachelorsDegreePercentage__c=55.00;
         obj.nm_GraduationDegreeMode__c='fgc';
         obj.nm_YearofCollegeCompletion__c='2006';
         obj.LeadSource='Web';
         obj.OwnerId=usr.id;


         insert obj;


    }

}


Error Message:
System.TypeException: Invalid integer:
Class.nmSendSMS.SendSMS: line 37, column 1
Class.nmSendSMSTracker.tesMethod: line 19, column 1

1 个答案:

答案 0 :(得分:0)

List<Lead> leadNumbersList = [select MobilePhone from Lead where nm_Year__c=:leadYear];

为我工作,我在列表中找到了正确的潜在客户