@isTest public with sharing class ReAndQISNotePDFControllerTest { // AWSServiceTool2没上线就把这部分注释 start 20220408 Static String repId; @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 // 202220531 ljh end static void setupTestData() { String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId(); String rectSct = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_Class_GI').getRecordTypeId(); String rectDpt = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_GI').getRecordTypeId(); Profile p = [select Id from Profile where id =:System.Label.ProfileId_SystemAdmin]; User hpOwner = new User(Test_staff__c = true, LastName = 'hp', FirstName = 'owner', Alias = 'hp', Work_Location__c = '北京', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); insert hpOwner; User hpOwner2 = new User(Test_staff__c = true, LastName = 'hp2', FirstName = 'owner', Alias = 'hp2', Work_Location__c = '重庆', CommunityNickname = 'hpOwner2', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner2@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); insert hpOwner2; StaticParameter.MaintenanceContractHpDeptUpdTrigger = true; FixtureUtil.SkipTrigger = true; // 病院作成 Account hp = new Account(RecordTypeId = rectHp, Name = 'hp', OwnerId = hpOwner.Id); hp.FSE_GI_Main_Leader__c = hpOwner.Id; hp.FSE_SP_Main_Leader__c = hpOwner2.Id; insert hp; Account dc = [select Id, Name, RecordType_DeveloperName__c, Account2__c from Account where ParentId = :hp.Id and RecordType_DeveloperName__c = 'Department_Class_GI']; // 診療科を作る Account dpt = new Account(RecordTypeId = rectDpt); dpt.Name = '*'; dpt.Department_Name__c = 'TestDepart'; dpt.ParentId = dc.Id; dpt.Department_Class__c = dc.Id; dpt.Hospital__c = hp.Id; insert dpt; // 納入機器を作成する Asset asset = new Asset(); asset.Name = 'asset1'; asset.AccountId = dpt.Id; asset.Department_Class__c = dc.Id; asset.Hospital__c = hp.Id; asset.SerialNumber = '7450035'; // asset.ProductCode = 'N1063441'; asset.Product_Serial_No__c = 'N1063441:7450035'; insert asset; Repair__c repair = new Repair__c(); repair.Account__c = dpt.Id; repair.Department_Class__c = dc.Id; repair.Hospital__c = hp.Id; repair.Delivered_Product__c = asset.Id; repair.SERVICE_CONTRACT_JUDEGE_DAY__C = Date.today().addDays(0); // 维修合同判断日がサービス契約の中間辺りの日付 repair.FSE_Work_Location__c = '上海'; repair.Repair_Returned_To_HP_Date__c = Date.today(); insert repair; repId = repair.Id; } static testMethod void tesMethod1(){ // List apply = [SELECT Id FROM Consum_Apply__c LIMIT 1]; // ConsumApplyEquipmentSetDefaultController.defaultSelect(apply[0].Id); // repController.ReAndQISNotePDFController(); setupTestData(); Repair__c repair = [SELECT id from Repair__c where id =:repId]; List versionList = new List(); ContentVersion version = new ContentVersion(); Blob bodyBlob1 = Blob.valueOf('Unit Test Attachment Body'); version.VersionData = bodyBlob1; version.PathOnClient = 'test'; version.ContentLocation = 's'; versionList.add(version); insert versionList; List idList = new List(); for (ContentVersion newVersion : versionList) { idList.add(newVersion.Id); } versionList = [select ContentDocumentId,Title from ContentVersion where Id in: idList]; List docList = new List(); ContentDocumentLink cDocLink = new ContentDocumentLink(); cDocLink.ContentDocumentId = versionList[0].ContentDocumentId; cDocLink.LinkedEntityId = repair.id; cDocLink.ShareType = 'V'; cDocLink.Visibility = 'AllUsers'; docList.add(cDocLink); insert docList; List idList1 = new List(); for (ContentDocumentLink cdoc : docList) { idList1.add(cdoc.Id); } // ReAndQISNotePDFController reAndQis = new ReAndQISNotePDFController(); ReAndQISNotePDFController.generateAttachment(idList1); ContentVersion versioninfo = new ContentVersion(); versioninfo.VersionData = bodyBlob1; versioninfo.PathOnClient = 'test'; versioninfo.ContentLocation = 's'; // Versioninfo.TextPreview = 'test'; insert versioninfo; ReAndQISNotePDFController.objId = repair.Id; ReAndQISNotePDFController.Versioninfo = versioninfo; } }