/*
|
* 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<String> awsList;
|
@testSetup
|
static void setupTestData() {
|
List<RecordType> 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<Profile> 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<Metadata.LayoutSection> 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<String> awsList = new List<String>();
|
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;
|
}
|
}
|
|
|
}
|