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
Padmini S 26Padmini S 26 

System.JSONException: Unexpected character ('s' (code 115)) in Test Class

Hi All,

I am writing the Test class for one batch Apex class. Below is the code of Test Class and Batch Apex Class.

@istest
public class BatchBulkMembershipRenewalsTest
{
static testmethod void BulkMembershipTestMethod(){
 BulkRenewals__c testRenewal = new BulkRenewals__c (ID_Number__c = '12345',ID_Type__c = 'Pink NRIC');
 insert testRenewal;
 testRenewal = [select id,Name,ID_Number__c,ID_Type__c from BulkRenewals__c where id = :testRenewal.Id ];
 String RecTypeId= [select Id from RecordType where (Name='Person Account') and (SobjectType='Account')].Id;
 Account newAccount = new Account(RecordTypeID=RecTypeId, FirstName='Test FName', LastName='Test LName', Membership_Status__c = 'Approved', Member_Class__c = 'Associate', Renewal_Year__c = '2016', ID_Type__c = testRenewal.ID_Type__c , ID_Number__c = testRenewal.ID_Number__c );
 insert newAccount;
 Application__c application = new Application__c (Application_Status__c = 'Created',Account__c = newAccount.Id);
  insert application;
 application = [select id,Name from Application__c where id = :application.Id];
 String RecTypeId2= [select Id from RecordType where (Name='Business Account') and (SobjectType='Account')].Id;
 Account businessAccount = new Account(RecordTypeID=RecTypeId2, Name='Test FName1', ID_Type__c = testRenewal.ID_Type__c , ID_Number__c = testRenewal.ID_Number__c );
   insert businessAccount;
 BatchBulkMembershipRenewals  bbmr = new BatchBulkMembershipRenewals ('select id from BulkRenewals__c'  );
  Test.StartTest();
   Database.executeBatch(bbmr,200);
  Test.StopTest();  
}}

Batch Apex Class:
------------------------
 global Database.QueryLocator start(Database.BatchableContext BC){
        List<String> recordIdList=new List<String>();
        system.debug('**recordIdString**'+recordIdString);
        //recordIdList=recordIdString.split(',');
        recordIdList = (List<String>)System.JSON.deserialize(recordIdString, List<String>.class);
        system.debug('**recordIdList**'+recordIdList);
        string query='SELECT id,name,Person_Account_Name__c,ID_Type__c,ID_Number__c,Failed_Reasons__c,Corporate_Account__c,Renewal_Process_Status__c,Consent_to_ISCA_PDP_Policy__c, Disciplinary_Proceedings__c,Accounting_Qualification__c,Acknowledge_Non_Refundable_Admission_Fee__c,Accuracy_and_Completeness_of_Information__c,Eligibility_of_MIR__c,Acknowledgement_Transitional_Arrangement__c,Ethics_Declaration__c,Reason_For_Non_Compliance__c,CPE_Compliance_Declaration__c from BulkRenewals__c where id IN :recordIdList';
        system.debug('**query**'+query);
        return Database.getQueryLocator(query);
    }
    
I am getting the error like "System.JSONException: Unexpected character ('s' (code 115)): expected a valid value (number, String, array, object, 'true', 'false' or 'null') at input location [1,2]".

Please help me on this isse. Thanks in Advance.