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
kuldeep paliwalkuldeep paliwal 

how to cover test code coverage for save button

public static map<String, String> contactsave(String lstRecordId){
        system.debug('contactid'+lstRecordId);
        String data =  lstRecordId.substring(1, lstRecordId.length()-1);
        String data1 = '{'+data+'}';
        system.debug('contactid'+data1);
        ContactObject.Contact contacts = (ContactObject.Contact)JSON.deserialize(data, ContactObject.Contact.class); 
        system.debug('contactid'+data);
        system.debug('contacts=='+contacts);
        list<ContactObject.CustomerAccount> custacc = contacts.customerAccounts; 
        system.debug('contacts=='+custacc);
        system.debug('contacts=='+contacts.customerAccounts);
        system.debug('id'+contacts.birthDate);
        //return 'hii';
        //List < String > oErrorMsg = new List < String > ();
        map < String, String > oErrorMsg = new map <String , String> ();
        
        list<Contact> conlist = [SELECT UUID__c From Contact WHERE UUID__c =: contacts.id];
        system.debug('conlist'+conlist);
        
        if(conlist.size() > 0){
           oErrorMsg.put(Label.CONTACT_SEARCH_ERROR_ALREADY_EXISTS, '');
        }
        else{

            Contact c = new Contact();
            //c.AccountId = contacts.Id;
            c.Salutation = contacts.title;
            c.FirstName = contacts.firstName;
            c.LastName = contacts.LastName;
            c.MiddleName = contacts.middleName;
            c.UUID__c = contacts.id;
            if(contacts.birthDate != null && contacts.birthDate != ''){
                c.Birthdate = Date.valueOf(contacts.birthDate);    
            }
            c.Contact_Status__c = contacts.status;
            
               c.Contact_Type__c = custacc[0].ContactRelationship.contactType;
               c.Contact_Usage__c = custacc[0].ContactRelationship.contactUsage;
            c.Imported__c = true;
            c.Home_Email__c = contacts.homeContact.emailAddress;
            c.Home_Fax__c = contacts.homeContact.faxNumber;
            c.HomePhone__c = contacts.homeContact.phoneNumber;
            c.Mobile_Phone_Number__c = contacts.homeContact.mobileNumber;
            c.HomePhone__c = contacts.homeContact.phoneNumber;
            c.HomePhone__c = contacts.homeContact.phoneNumber;
            try {
                insert c; 
                 
                  oErrorMsg.put(Label.CUSTOMER_SEARCH_INFO_CONTACTS_IMPORT_SUCCESSFUL, String.valueOf(c.id+contacts.id));
            } 
            catch(Exception e) {
                
                oErrorMsg.put(Label.CONTACT_SEARCH_ERROR_IMPORT, ''    );
                return oErrorMsg;
            }
           
        }
        
        return oErrorMsg;
    }
Best Answer chosen by kuldeep paliwal
kuldeep paliwalkuldeep paliwal
Yes thanx...
but i have to parse my string like this...which we get response..
static testMethod void contactSaveTest(){
        Test.startTest();
        String request = '[{"birthDate":"1991-03-01","customerAccounts":[{"accountUuid":"AD203578-6C0E-4e49-A9EC-831A172C0531","businessUnit":"","contactRelationship":{"contactType":"Full Authority","contactUsage":"Business","endDate":""},"dataSovereignty":"","directMailOptIn":"Y","emailOptIn":"Y","faceToFaceOptIn":"Y","id":"10000113307","lastName":"GAME PROPRIETARY LIMITED","mmsOptIn":"Y","phoneOptIn":"Y","smsOptIn":"Y"}],"firstName":"MARY","homeContact":{"emailAddress":"chetan.soni@team.telstra.com","faxNumber":"","mobileNumber":"","phoneNumber":""},"id":"48B61A78-8114-4c68-B4CD-919DC6B1C2FA","identification":{"driverLicense":{"state":""}},"languagePreference":"","lastName":"SMITH","middleName":"","onlineFlag":"N","preferredMethod":"","status":"Active","title":"MRS","workContact":{"emailAddress":"","faxNumber":"","mobileNumber":"","phoneNumber":""}}]'; 
        map<String, String> mapSting = ContactController.contactsave(request);
        Test.stopTest();
    }

All Answers

Amit Chaudhary 8Amit Chaudhary 8
You need to create list of contact and need to pass same list in above method like below

 
Account acc = new Account();
acc.name ='Test';
insert acc;

Contact cont = new Contact();
cont.Accountid = acc.id;
cont.lastname ='Test';
cont.FirstName='Test';
insert cont;
String lstID = '{'+cont.id+'}';

map<String, String> mapSting = YOURCLASS.contactsave(lstID);

 
kuldeep paliwalkuldeep paliwal
after use it it show this Error:-
System.JSONException: Invalid numeric value: Leading zeroes not allowed at input location [1,2]
kuldeep paliwalkuldeep paliwal
Yes thanx...
but i have to parse my string like this...which we get response..
static testMethod void contactSaveTest(){
        Test.startTest();
        String request = '[{"birthDate":"1991-03-01","customerAccounts":[{"accountUuid":"AD203578-6C0E-4e49-A9EC-831A172C0531","businessUnit":"","contactRelationship":{"contactType":"Full Authority","contactUsage":"Business","endDate":""},"dataSovereignty":"","directMailOptIn":"Y","emailOptIn":"Y","faceToFaceOptIn":"Y","id":"10000113307","lastName":"GAME PROPRIETARY LIMITED","mmsOptIn":"Y","phoneOptIn":"Y","smsOptIn":"Y"}],"firstName":"MARY","homeContact":{"emailAddress":"chetan.soni@team.telstra.com","faxNumber":"","mobileNumber":"","phoneNumber":""},"id":"48B61A78-8114-4c68-B4CD-919DC6B1C2FA","identification":{"driverLicense":{"state":""}},"languagePreference":"","lastName":"SMITH","middleName":"","onlineFlag":"N","preferredMethod":"","status":"Active","title":"MRS","workContact":{"emailAddress":"","faxNumber":"","mobileNumber":"","phoneNumber":""}}]'; 
        map<String, String> mapSting = ContactController.contactsave(request);
        Test.stopTest();
    }
This was selected as the best answer