/* * Author: Zhang,Heyang * Created Date: 2023/08/07 * Purpose: TestClass * * */ @isTest private class LexNewAndEditAddressPIPLControllerTest { public static String addRecordTypeId= Schema.SObjectType.Address__c.getRecordTypeInfosByDeveloperName().get('mainType').getRecordTypeId(); @testSetup static void setupTestData() { Address__c add = new Address__c(); add.ContactName__c = 'Test'; add.Telephone__c = '2345678'; add.RecordTypeId = addRecordTypeId; insert add; PI_Policy_Configuration__c config1 = new PI_Policy_Configuration__c(Sobject_Type__c = 'Address__c'); insert config1; PI_Policy_Configuration__c config2 = new PI_Policy_Configuration__c(Sobject_Type__c = 'Address__cV2'); insert config2; PI_Policy_Configuration__c config3 = new PI_Policy_Configuration__c(Sobject_Type__c = 'Contact'); insert config3; PI_Field_Policy_Detail__c pfpd1 = new PI_Field_Policy_Detail__c(AWS_Field_API__c = 'phone1', SF_Field_API_Name__c = 'Phone1',PI_Policy_Configuration__c = config1.Id, Enable_Encrypt__c=true); insert pfpd1; PI_Field_Policy_Detail__c pfpd2 = new PI_Field_Policy_Detail__c(AWS_Field_API__c = 'phone2', SF_Field_API_Name__c = 'Phone2',PI_Policy_Configuration__c = config2.Id, Enable_Encrypt__c=true); insert pfpd2; 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(){ Oly_TriggerHandler.bypass('ContactTriggerHandler'); Contact con = TestDataUtility.CreateContacts(1)[0]; con.AWS_Data_Id__c = 'davdsvgrqcx'; con.RecordTypeId = '01210000000QfWiAAK'; update con; Address__c add = [SELECT Id FROM Address__c WHERE ContactName__c = 'Test' LIMIT 1]; String body='{"size":1,"totalSize":1,"done":true,"queryLocator":null,"entityTypeName":"ProfileLayout","records":[{"attributes":{"type":"ProfileLayout","url":"/services/data/v41.0/tooling/sobjects/ProfileLayout/01G1000000zCtzPEAS"},"Layout":{"attributes":{"type":"Layout","url":"/services/data/v41.0/tooling/sobjects/Layout/00h10000009eNTxAAM"},"Name":"收货地址 布局","TableEnumOrId":"01I10000001ImJMEA0"},"ProfileId":"00e10000000Y3o5AAC","Profile":{"attributes":{"type":"Profile","url":"/services/data/v41.0/tooling/sobjects/Profile/00e10000000Y3o5AAC"},"Name":"系统管理员"},"RecordTypeId":"01210000000VLkgAAG"}]}'; Test.setMock(HttpCalloutMock.class, new BaseHttpMock(body,'1','200')); System.Test.startTest(); String objectType = 'Address__c'; List layout = MetaDataUtility.GetRecordTypePageLayout('',objectType); LexNewAndEditBasePIPLController.initData(add.Id,addRecordTypeId,objectType); LexNewAndEditAddressPIPLController.initData(add.Id,addRecordTypeId,objectType); LexNewAndEditAddressPIPLController.getContactByAWSId('davdsvgrqcx'); 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; } } }