/** * wangweipeng 2021/09/02 * OdsToUserHandler 的测试类 * 用于把ods__c表的数据同步到 联系人表(contact)中 */ @isTest private class OdsToUserHandlerTest { // AWSServiceTool2没上线就把这部分注释 start 20220408 @TestSetup static void setup(){ TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Agency_Contact__c','Contact'}); } @isTest static void Test1(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); List lra = new List(); lra.add(new Agency_Contact__c( )); insert lra; Test.startTest(); //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); AWSServiceTool2.EncryptPushFuture(null,null); Test.stopTest(); } @isTest static void Test2(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); List lra = new List(); lra.add(new Agency_Contact__c( Aws_Data_Id__c = '123456' )); insert lra; Test.startTest(); //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); Test.stopTest(); } @isTest static void Test3(){ Test.setMock(HttpCalloutMock.class, new HttpMock()); Test.startTest(); AWSServiceTool2.EncryptPushData(new string[]{'0031000000O4Cff'}); Test.stopTest(); } //@isTest // static void Test2(){ // Test.setMock(HttpCalloutMock.class, new HttpMock()); // List lra = new List(); // lra.add(new Agency_Contact__c( // Id = 'a2R1m0000007BPD', // Aws_Data_Id__c = '123456' // )); // Test.startTest(); // //system.debug(PIHelper.getPIIntegrationInfo('Agency_Contact__c').newEncryptUrl); // AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); // Test.stopTest(); // } class HttpMock implements HttpCalloutMock{ public HTTPResponse respond(HTTPRequest request) { // 创建一个假的回应 System.debug('------------------------------------------------------'); HttpResponse response = new HttpResponse(); string body = ''; system.debug(request.getEndpoint()); if(request.getEndpoint().contains('token')){ system.debug('url=token'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": "freqfewqfewewfewfew", "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else if(request.getEndpoint().contains('insert')){ system.debug('url=Insert'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else if(request.getEndpoint().contains('update')){ system.debug('url=update'); response.setHeader('Content-Type', 'application/json'); body='{ "message": "", "object": [ { "dataId": "123456", "directShippmentAddress": "", "directShippmentAddressEncrypt": "", "isDelete": 0, "phoneNumber": "", "phoneNumberEncrypt": "", "sfRecordId": "a2R1m0000007BPD" } ], "status": "", "success": true, "timestamp": 0, "txId": "" }'; } else{ } response.setBody(body); response.setStatus('OK'); response.setStatusCode(200); return response; // } } } // AWSServiceTool2没上线就把这部分注释 end static testMethod void testMethod1() { // 省 Address_Level__c al = new Address_Level__c(); al.Name = '東京'; al.Level1_Code__c = 'CN-99'; al.Level1_Sys_No__c = '999999'; insert al; // 市 Address_Level2__c al2 = new Address_Level2__c(); al2.Level1_Code__c = 'CN-99'; al2.Level1_Sys_No__c = '999999'; al2.Level1_Name__c = '東京'; al2.Name = '渋谷区'; al2.Level2_Code__c = 'CN-9999'; al2.Level2_Sys_No__c = '9999999'; al2.Address_Level__c = al.id; insert al2; // 病院を作る Account hospital = new Account(); hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; hospital.Name = 'test hospital'; hospital.Is_Active__c = '有効'; hospital.Attribute_Type__c = '卫生部'; hospital.Speciality_Type__c = '综合医院'; hospital.Grade__c = '一级'; hospital.OCM_Category__c = 'SLTV'; hospital.Is_Medical__c = '医疗机构'; hospital.State_Master__c = al.id; hospital.City_Master__c = al2.id; hospital.Town__c = '东京'; insert hospital; // 戦略科室を得る Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH']; // 診療科を作る Account dep = new Account(); dep.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id; dep.Name = 'test dep'; dep.AgentCode_Ext__c = '9999998'; dep.ParentId = strategicDep[0].Id; dep.Department_Class__c = strategicDep[0].Id; dep.Hospital__c = hospital.Id; insert dep; // AWSServiceTool2没上线就把这部分放开 start 20220408 //Contact contact2 = new Contact(); //contact2.AccountId = dep.Id; //contact2.FirstName = '責任者'; //contact2.LastName = 'test1经销商'; //contact2.Employee_No_manual__c = 'om003901'; //insert contact2; // AWSServiceTool2没上线就把这部分放开 end ODS__c ods = new ODS__c(); ods.ALIAS__C = 'om003901'; ods.BRANCH__C = ''; ods.CATEGORY3__C = '医疗华北东北营业统括本部'; ods.CATEGORY4__C = '医疗华北营业本部'; ods.CATEGORY5__C = '华北营业二部'; ods.CATEGORY6__C = '河北GIR推广课'; ods.EMAIL__C = 'chengchao_an@olympus.com.cn'; ods.EMPLOYEE_NO__C = 'om003901'; ods.FIRSTNAME__C = 'Chengchao'; ods.HIRE_DATE__C = Date.today(); ods.JOB_CATEGORY__C = '技术服务'; ods.JOB_TYPE__C = '正式-本地员工'; ods.LASTNAME__C = 'An'; ods.MOBILEPHONE__C = '13832596948'; ods.NAME__C = '安承超'; ods.POST__C = '一般'; ods.PRODUCT_SPECIALIST_INCHARGE_PRODUCT__C = ''; ods.SALES_SPECIALITY__C = ''; ods.UNIQUEID__C = '11181'; ods.WORK_LOCATION__C = '石家庄'; ods.Stay_or_not__c = '在职'; ods.LeaveDate__c = Date.today(); Test.startTest(); try{ insert ods; // AWSServiceTool2没上线就把这部分注释 start Test.setMock(HttpCalloutMock.class, new HttpMock()); List lra = new List(); lra.add(new Agency_Contact__c( Id = 'a2R1m0000007BPD', Aws_Data_Id__c = '123456' )); AWSServiceTool2.EncryptPushCore(Json.serialize(lra),'Agency_Contact__c'); // AWSServiceTool2没上线就把这部分注释 end ods.LeaveDate__c = Date.today()+1; update ods; }catch(Exception e){ system.debug('Exception from upsert file:'+e.getmessage()); } Test.stopTest(); } }