/*  * Author: Wang,Xueqin  * Created Date: 08/07/2023  * Purpose:Test Class  * */ @isTest private class LexSearchContactPIPLControllerTest { public static String rectAg = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); public static String rectCoAg = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); public static List awsList; @testSetup static void setupTestData() { List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; Account account0 = new Account(RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '9999909', Name = 'olympus0',Is_Active__c = '有効'); insert account0; Account testRectHpAccounts = new Account(Name = 'testRectHpAccount', RecordTypeId = rectCoAg, Hospital__c = account0.Id); insert testRectHpAccounts; Contact testContacts = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber',AWS_Data_Id__c = 'TestContact',RecordTypeId = rectAg, accountId = testRectHpAccounts.id); insert testContacts; PI_Policy_Configuration__c config3 = new PI_Policy_Configuration__c(Sobject_Type__c = 'Contact'); insert config3; PI_Field_Policy_Detail__c pfpd3 = new PI_Field_Policy_Detail__c(AWS_Field_API__c = 'phone2', SF_Field_API_Name__c = 'Phone2',PI_Policy_Configuration__c = config3.Id, Enable_Encrypt__c=true); insert pfpd3; } @isTest static void tesMethod1(){ List p = [SELECT Id FROM Profile WHERE Name = '系统管理员']; if(p.size() == 0) { p = [SELECT Id FROM Profile WHERE Name = 'System Administrator']; } Id systemAdminProfileId = p[0].Id; String body=' {"size":1,"totalSize":1,"done":true,"queryLocator":null,"entityTypeName":"ProfileLayout","records":[{"attributes":{"type":"ProfileLayout","url":"/services/data/v41.0/tooling/sobjects/ProfileLayout/01G10000007vQmsEAE"},"Layout":{"attributes":{"type":"Layout","url":"/services/data/v41.0/tooling/sobjects/Layout/00h10000005qCPIAA2"},"Name":"販売店","TableEnumOrId":"Contact"},"ProfileId":"'+systemAdminProfileId+'","Profile":{"attributes":{"type":"Profile","url":"/services/data/v41.0/tooling/sobjects/Profile/'+systemAdminProfileId+'"},"Name":"系统管理员"},"RecordTypeId":"'+rectCoAg+'"}]}'; Test.setMock(HttpCalloutMock.class, new BaseHttpMock(body,'1','200')); System.Test.startTest(); String objectType = 'Contact'; List layout = MetaDataUtility.GetRecordTypePageLayout('',objectType); Account acc = [SELECT Id FROM Account WHERE Name = 'testRectHpAccount' LIMIT 1]; LexSearchContactPIPLController.Init('','Plumber'); LexSearchContactPIPLController.Init(acc.Id,'Plumber'); LexSearchContactPIPLController.Init(acc.Id,''); Contact con =[SELECT AWS_Data_Id__c FROM Contact WHERE lastname = 'Plumber']; List awsList = new List(); awsList.add(con.AWS_Data_Id__c); system.debug('awsList==>'+awsList); String awsListJson = JSON.serialize(awsList); LexSearchContactPIPLController.searchContacts(awsListJson,'Plumber',acc.Id); LexSearchContactPIPLController.searchContacts(awsListJson,'Plumber',''); LexSearchContactPIPLController.searchContactsNoPI('test11'); LexSearchContactPIPLController.searchKeyWord = 'Test'; System.Test.stopTest(); } public class BaseHttpMock implements HttpCalloutMock { String body =''; String status = ''; String statusCode = ''; public BaseHttpMock(String body,String status,String statusCode){ this.body = body; this.status = status; this.statusCode = statusCode; } public HTTPResponse respond(HTTPRequest req) { HttpResponse res = new HttpResponse(); res.setHeader('Content-Type', 'application/json'); res.setBody(body); res.setStatus('OK'); res.setStatusCode(200); return res; } } }