|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @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<Agency_Contact__c> lra = new List<Agency_Contact__c>(); | 
|---|
|  |  |  | 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<Agency_Contact__c> lra = new List<Agency_Contact__c>(); | 
|---|
|  |  |  | 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<Agency_Contact__c> lra = new List<Agency_Contact__c>(); | 
|---|
|  |  |  | //      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(); | 
|---|
|  |  |  | 
|---|
|  |  |  | dep.Department_Class__c = strategicDep[0].Id; | 
|---|
|  |  |  | dep.Hospital__c = hospital.Id; | 
|---|
|  |  |  | insert dep; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Contact contact2 = new Contact(); | 
|---|
|  |  |  | contact2.AccountId = dep.Id; | 
|---|
|  |  |  | contact2.FirstName = '責任者'; | 
|---|
|  |  |  | contact2.LastName = 'test1经销商'; | 
|---|
|  |  |  | contact2.Employee_No_manual__c = 'om003901'; | 
|---|
|  |  |  | insert contact2; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 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.Stay_or_not__c = '在职'; | 
|---|
|  |  |  | ods.LeaveDate__c = Date.today(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Test.startTest(); | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | insert ods; | 
|---|
|  |  |  | // AWSServiceTool2没上线就把这部分注释 start | 
|---|
|  |  |  | Test.setMock(HttpCalloutMock.class, new HttpMock()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ods.LeaveDate__c = Date.today(); | 
|---|
|  |  |  | List<Agency_Contact__c> lra = new List<Agency_Contact__c>(); | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|