@isTest public with sharing class NFM624RestAboutTest { static testMethod void testMethod4(){ oly_TriggerHandler.bypass('ContactTriggerHandler'); //用户 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 = '00e10000000xnp2'); insert hpowner; User hpowner2 = new User(Test_staff__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp1', Work_Location__c = '北京', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner1@sunbridge.com', Username = 'olympus_hpowner1@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = '00e10000000xnp2'); insert hpowner2; //医院 Account hp = new Account(RecordTypeId = '01210000000QemG', Name = '北京德胜门中医院', OwnerId = hpOwner.Id); hp.FSE_GI_Main_Leader__c = hpOwner.Id; hp.Advance_Payment_Identification_Approval__c = Date.today().addyears(-1); hp.AgentCode_Ext__c = '112358'; hp.PlatformCode__c = '1375'; hp.Is_Active__c = '有効'; insert hp; Account hptemp = [select Id,PlatformCode__c,AgentCode_Ext__c,Is_Active_Formula__c from Account where Id = :hp.Id]; // 戦略科室を得る Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hp.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 = hp.Id; insert dep; //联系人 Contact contact2 = new Contact(); contact2.AccountId = dep.Id; contact2.FirstName = '責任者'; contact2.LastName = 'test1经销商'; contact2.LastName_Encrypted__c ='24616254c7c7b65d985567f475b667d7'; insert contact2; NFM624Rest.GeData GeData1 = new NFM624Rest.GeData(); NFM624Rest.GeDatas GaDatas = new NFM624Rest.GeDatas(); Datetime nowDT = Datetime.now(); String nowStr = nowDT.format('yyyyMMddHHmm'); GaDatas.Monitoring = new NFMUtil.Monitoring(); GaDatas.Monitoring.MessageGroupNumber = nowStr + '01'; //有医院没有科室没有人员管理编码——>新建科室+新建联系人 // GaDatas.GeData = new NFM624Rest.Gedata[] { GeData1 }; // GeData1.ContactId = '958432058911227904'; // GeData1.ServiceUserId = '958432058911227904'; // GeData1.PersonManagementCode = ''; // GeData1.HospitalManagementCode2 = '1375'; // GeData1.DepartmentManagementCode2 = '1376'; // GeData1.Name = '***'; // GeData1.NameEncrypted = '24616254c7c7b65d985567f475b667d7'; // GeData1.Mobile = '***********'; // GeData1.MobileEncrypted = 'c34725fe79b3965ea9abfd7c1435cf9a'; // GeData1.State = '北京市'; // GeData1.City = '西城区'; // GeData1.AccountName = '北京德胜门中医院'; // GeData1.RelatedHospital = '112358'; // GeData1.DepartmentClass = '消化科'; // GeData1.DepartmentName = '北京德胜门中医院 消化科 胃镜室'; // GeData1.RelatedDepartment = '5311053'; // GeData1.Type = '*****'; // GeData1.TypeEncrypted = '53173e61ac22874aab5b8d1f802515db'; // GeData1.ContactAddress = '**********'; // GeData1.ContactAddressEncrypted = '121a09fd9e0e9b090c4aa9c95da52810'; // GeData1.ForbiddenStatus = false; // GeData1.RegSource = '1'; // GeData1.AgentFlag = false; // GeData1.ApproverID = hpowner.Id; // GeData1.DataId = '958432058273693696'; // BatchIF_Log__c rowData = NFMUtil.saveRowData(GaDatas.Monitoring, 'NFM624About', GaDatas.GeData); // if (String.isBlank(rowData.Log__c) == false) // NFM624RestAbout.execute(rowData.Id); //有医院有有科室没有人员管理编码——>更新联系人 NFM624Rest.GeData GeData3 = new NFM624Rest.GeData(); GaDatas.GeData = new NFM624Rest.Gedata[] { GeData3 }; // GeData3.ContactId = '958432058911227904'; //GeData3.ServiceUserId = '958432058911227904'; GeData3.PersonManagementCode = ''; GeData3.HospitalManagementCode2 = '1375'; GeData3.DepartmentManagementCode2 = '1376'; //GeData3.Name = '***'; GeData3.NameEncrypted = '24616254c7c7b65d985567f475b667d7'; //GeData3.Mobile = '***********'; //GeData3.MobileEncrypted = 'c34725fe79b3965ea9abfd7c1435cf9a'; //GeData3.State = '北京市'; //GeData3.City = '西城区'; GeData3.AccountName = '北京德胜门中医院'; GeData3.RelatedHospital = '112358'; GeData3.DepartmentClass = '消化科'; GeData3.DepartmentName = '北京德胜门中医院 消化科 胃镜室'; GeData3.RelatedDepartment = '5311053'; //GeData3.Type = '*****'; //GeData3.TypeEncrypted = '53173e61ac22874aab5b8d1f802515db'; //GeData3.ContactAddress = '**********'; //GeData3.ContactAddressEncrypted = '121a09fd9e0e9b090c4aa9c95da52810'; //GeData3.ForbiddenStatus = false; //GeData3.RegSource = '1'; //GeData3.AgentFlag = false; //GeData3.ApproverID = hpowner.Id; GeData3.DataId = '958432058273693696'; BatchIF_Log__c rowData3 = NFMUtil.saveRowData(GaDatas.Monitoring, 'NFM624About', GaDatas.GeData); if (String.isBlank(rowData3.Log__c) == false){ NFM624RestAbout.executefuture(rowData3.Id); } } static testMethod void test_method_execute(){ Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); String JsonMsg = '{"Monitoring":{"Tag":"MSGH","Sender":"SPO","Receiver":"SFDC","MessageType":"NFM624About","MessageGroupNumber":"20210000004695","NumberOfRecord":"4","TransmissionDateTime":"2022-05-19","Text":""},"GeData":[{"PersonManagementCode":"thhTest","HospitalManagementCode2":"thhTest","DepartmentManagementCode2":"thhTest","NameEncrypted":"thhTest","RelatedHospital":"thhTest","DepartmentClass":"thhTest","DepartmentName":"thhTest","RelatedDepartment":"thhTest","dataId":"thh121231345","AccountName":"thhTest","MobileEncrypted":"11223344"}]}'; req.requestURI = 'services/apexrest/NFM624RestAbout/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM624RestAbout.execute(); Test.stopTest(); } }