@IsTest class LexNewAndEditLeadPIPLControllerTest { public static String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); public static String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId(); public static String leadNR = Schema.SObjectType.Lead.getRecordTypeInfosByDeveloperName().get('NewDaily_Report').getRecordTypeId(); public static String rectAg = Schema.SObjectType.Contact.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); public static User thisUser = [ SELECT Id from User WHERE Id = :UserInfo.getUserId()]; // @testSetup // static void testSetup() { // System.runAs(thisUser){ // Account testRectcoAccounts = new Account(Name = 'testRectcoAccount', RecordTypeId = rectHp); // insert testRectcoAccounts; // Account testRectHpAccounts = new Account(Name = 'testRectHpAccount', RecordTypeId = rectCo, Hospital__c = testRectcoAccounts.id); // insert testRectHpAccounts; // Contact testContacts = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber',RecordTypeId = rectAg, AWS_Data_Id__c = 'TestContact', accountId = testRectHpAccounts.id); // insert testContacts; // Lead testLeads = new Lead(LastName='testLead', Company='testLead',RecordTypeId = leadNR, Hospital_Name__c = testRectHpAccounts.id, Contact_Name__c = testContacts.Id); // insert testLeads; // PI_Policy_Configuration__c config1 = new PI_Policy_Configuration__c(Sobject_Type__c = 'Lead'); // insert config1; // PI_Policy_Configuration__c config2 = new PI_Policy_Configuration__c(Sobject_Type__c = 'LeadV2'); // 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(){ // System.runAs(thisUser){ // Account acct = [SELECT Id FROM Account WHERE RecordTypeId =:rectCo LIMIT 1]; // Contact cont = [SELECT Name FROM Contact WHERE RecordTypeId =:rectAg LIMIT 1]; // Lead lea = [SELECT Id FROM Lead WHERE RecordTypeId =:leadNR LIMIT 1]; // PI_Policy_Configuration__c prc1 = [SELECT Sobject_Type__c FROM PI_Policy_Configuration__c WHERE Sobject_Type__c ='Lead' LIMIT 1]; // PI_Policy_Configuration__c prc2 = [SELECT Sobject_Type__c FROM PI_Policy_Configuration__c WHERE Sobject_Type__c ='LeadV2' LIMIT 1]; // 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/01G10000008lvP1EAI"},"Layout":{"attributes":{"type":"Layout","url":"/services/data/v41.0/tooling/sobjects/Layout/00h10000009lIyDAAU"},"Name":"购买意向-日报-OBSAP","TableEnumOrId":"Lead"},"ProfileId":"'+systemAdminProfileId+'","Profile":{"attributes":{"type":"Profile","url":"/services/data/v41.0/tooling/sobjects/Profile/'+systemAdminProfileId+'"},"Name":"系统管理员"},"RecordTypeId":"'+rectCo+'"}]}'; // String objectType = prc1.Sobject_Type__c; // String objectTypeV2 = prc2.Sobject_Type__c; // Test.setMock(HttpCalloutMock.class, new BaseHttpMock(body,'1','200')); // System.Test.startTest(); // List layout = MetaDataUtility.GetRecordTypePageLayout(leadNR,objectType); // PIHelper.PIIntegration piIntegration1 = PIHelper.getPIIntegrationInfo(objectType); // PIHelper.PIIntegration piIntegration2 = PIHelper.getPIIntegrationInfo(objectTypeV2); // Map AWSToSobjectNonEncryptedMap = new Map(); // List AWSToSobjectNonEncryptedMapKeySet = new List(); // for (PI_Field_Policy_Detail__c PIDetail : piIntegration1.PIDetails) { // AWSToSobjectNonEncryptedMap.put(PIDetail.AWS_Field_API__c, PIDetail.SF_Field_API_Name__c); // AWSToSobjectNonEncryptedMapKeySet.add(PIDetail.AWS_Field_API__c); // } // LexNewAndEditBasePIPLController.initData(lea.Id,leadNR,objectType); // Map expected = new Map(); // expected.put('phone1','Phone1'); // System.assertEquals(expected,AWSToSobjectNonEncryptedMap); // LexNewAndEditLeadPIPLController.initData(lea.Id, leadNR,objectType); // LexNewAndEditLeadPIPLController.queryAccount('["Department_Class__c"]',acct.Id); // LexNewAndEditLeadPIPLController.searchContactInit(acct.Id,cont.Name); // 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; // } // } // @isTest // static void tesMethod2(){ // System.runAs(thisUser){ // System.Test.startTest(); // LexNewAndEditLeadPIPLController.getContactAWS(); // String accountId = ''; // List conAWSIds = new List(); // String searchKeyWord = ''; // LexNewAndEditLeadPIPLController.searchContactInitV2(accountId,conAWSIds,searchKeyWord); // LexNewAndEditLeadPIPLController.getNoPIContact('',''); // System.Test.stopTest(); // } // } }