@isTest private class ConsumApplyTriggerHandlerTest { //deloitte-zhj 20231023 增加覆盖率 start // @TestSetup // static void setup(){ // TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Consum_Apply__c'}); // } 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; } } // @isTest static testMethod void Test1(){ Test.startTest(); TestDataUtility.CreatePIPolicyConfigurations(new string[]{'Consum_Apply__c'}); Test.setMock(HttpCalloutMock.class, new HttpMock()); Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; User u = new User( Alias = 'test213123', Email = 'testuser'+'zhj'+'@olympus.com', Emailencodingkey = 'UTF-8', Lastname = 'TestUser'+'zhj123', Languagelocalekey = 'zh_CN', Localesidkey = 'zh_CN', Profileid = p.id, Country = 'China', IsActive = true, Timezonesidkey = 'America/Sao_Paulo', Username = 'testuser'+'zhj123'+'@olympus.com', Job_Category__c = '销售服务' ); Consum_Apply__c oldCa = TestDataUtility.CreateConsumApply(1)[0]; Consum_Apply__c newCa = new Consum_Apply__c(); newCa.Name = 'Test_20231023'; newCa.Status__c = '草案中'; newCa.Person_In_Charge__c = u.Id;//备品出借担当 newCa.Old_Consum_Apply__c = oldCa.Id; insert newCa; // List fendanList = new List(); // fendanList.add(newCa); // ConsumApplyTriggerHandler.decryptInsertFuture(JSON.serialize(fendanList)); Test.stopTest(); } //deloitte-zhj 20231023 增加覆盖率 end static testMethod void testMethod1() { ConsumTestDataFactory factory = new ConsumTestDataFactory(); factory.setupTestData(); factory.selectDetails(); } // static ConsumTestDataFactory factory; // // 造 两个一览,各一条明细,草案中 // @testSetup static void setupTestData(){ // ConsumTestDataFactory factory = new ConsumTestDataFactory(); // factory.setupTestData(); // factory.selectDetails(2); // TestDataUtility.CreatePIPolicyConfiguration(); // } // 䓍案中分单 static testMethod void testSaveSplitError() { ConsumTestDataFactory factory = new ConsumTestDataFactory(); factory.setupTestData(); factory.selectDetails(2); TestDataUtility.CreatePIPolicyConfiguration(); Consum_Apply__c ca = [SELECT Id FROM Consum_Apply__c]; List caesList = [SELECT Id FROM Consum_Apply_Equipment_Set__c WHERE Consum_Apply__c=:ca.Id]; System.assertEquals(2, caesList .size()); PageReference ref = new PageReference('/apex/ConsumApplySplit'); ref.getParameters().put('objId', ca.Id); ref.getParameters().put('raesIds', caesList[0].Id); Test.setCurrentPage(ref); ConsumApplySplitController controller = new ConsumApplySplitController(); controller.init(); Test.startTest(); controller.cloneRas.Split_Apply_Reason__c = '分批发货分单'; controller.saveSplit(); Test.stopTest(); // 分单失败,只有一个申请 List caList = [SELECT Id FROM Consum_Apply__c]; System.assertEquals(1, caList.size()); } // 批准后分单 static testMethod void testSaveSplit() { ConsumTestDataFactory factory = new ConsumTestDataFactory(); factory.setupTestData(); factory.selectDetails(2); TestDataUtility.CreatePIPolicyConfiguration(); // 变成已批准 // ConsumTestDataFactory factory = new ConsumTestDataFactory(); factory.approve(); List caesList = [SELECT Id FROM Consum_Apply_Equipment_Set__c WHERE Consum_Apply__c=:factory.ca.Id]; System.assertEquals(2, caesList .size()); PageReference ref = new PageReference('/apex/ConsumApplySplit'); ref.getParameters().put('objId', factory.ca.Id); ref.getParameters().put('raesIds', caesList[0].Id); Test.setCurrentPage(ref); ConsumApplySplitController controller = new ConsumApplySplitController(); controller.init(); Test.startTest(); controller.cloneRas.Split_Apply_Reason__c = '分批发货分单'; controller.saveSplit(); Test.stopTest(); // 分单成功,有两个申请 List caList = [SELECT Id FROM Consum_Apply__c]; System.assertEquals(2, caList.size()); } static testMethod void testCoverUp() { ConsumApplyTriggerHandler.test(); } }