@isTest private class NFM607RestTest { @testSetup static void makeTestRepair() { Oly_TriggerHandler.bypass('ContactTriggerHandler'); List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; if (rectCo.size() == 0) { throw new ControllerUtil.myException('not found 病院 recodetype'); } List rectSct = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科']; if (rectSct.size() == 0) { throw new ControllerUtil.myException('not found 戦略科室分類 呼吸科 recodetype'); } List rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; if (rectDpt.size() == 0) { throw new ControllerUtil.myException('not found 診療科 消化科 recodetype'); } // テストデータ Account company = new Account(); company.RecordTypeId = rectCo[0].Id; company.Name = 'NFM105TestCompany'; upsert company; // Account section = [Select Management_Code__c,AgentCode_Ext__c, Management_Code_Auto__c, Name, Id from Account where ParentId = :company.Id and RecordTypeId = :rectSct[0].Id]; Account section = [Select Management_Code__c,AgentCode_Ext__c, Name, Id from Account where ParentId = :company.Id and RecordTypeId = :rectSct[0].Id]; Account depart = new Account(); depart.RecordTypeId = rectDpt[0].Id; depart.Name = '*'; depart.Department_Name__c = 'NFM105TestDepart'; depart.AgentCode_Ext__c = '10086'; depart.ParentId = section.Id; depart.Department_Class__c = section.Id; depart.Hospital__c = company.Id; upsert depart; List prdList = new List(); Product2 prd1 = new Product2(); prd1.ProductCode_Ext__c = 'NFM105Prd1'; prd1.ProductCode = 'NFM105Prd1'; prd1.Repair_Product_Code__c = 'NFM105Prd1_RP'; prd1.Name = 'NFM105Prd1'; prd1.Manual_Entry__c = false; prdList.add(prd1); Product2 prd2 = new Product2(); prd2.ProductCode_Ext__c = 'NFM105Prd2'; prd2.ProductCode = 'NFM105Prd2'; prd2.Repair_Product_Code__c = 'NFM105Prd2_RP'; prd2.Name = 'NFM105Prd2'; prd2.Manual_Entry__c = false; prdList.add(prd2); insert prdList; User user = new User(Test_staff__c = true); user.LastName = '_サンブリッジ'; user.FirstName = 'う'; user.Alias = 'う'; user.Email = 'olympustest03@sunbridge.com'; user.Username = 'olympustest03@sunbridge.com'; user.CommunityNickname = 'う'; user.IsActive = true; user.EmailEncodingKey = 'ISO-2022-JP'; user.TimeZoneSidKey = 'Asia/Tokyo'; user.LocaleSidKey = 'ja_JP'; user.LanguageLocaleKey = 'ja'; user.ProfileId = System.Label.ProfileId_SystemAdmin; user.Job_Category__c = '销售推广'; user.Province__c = '上海市'; user.Use_Start_Date__c = Date.today().addMonths(-6); user.Employee_No__c = '0000022174'; insert user; Contact contact2 = new Contact(); contact2.AccountId = depart.Id; contact2.FirstName = '責任者'; contact2.LastName = 'test1经销商'; // contact2.CManageCode__c = '0000022174'; // contact2.CManageCode__c = user.Id; insert contact2; Datetime d1 = NFMUtil.parseStr2DateTime('20210901'); Datetime d2 = NFMUtil.parseStr2DateTime('20210901'); ASEActivity__c ase = new ASEActivity__c(); ase.OwnerId = UserInfo.getUserId();//'005100000016ykkAAA'; // ase.OwnerId = '00510000007j0fNAAQ';//'005100000016ykkAAA'; ase.Department__c = depart.Id;//'0019D00000HZVfOQAX'; // ase.Department__c = '0011000000V9OF9AAN';//'0019D00000HZVfOQAX'; ase.StrategicDepartment__c = depart.Id;//'0019D00000HZVfOQAX'; // ase.StrategicDepartment__c = '0011000000V9OF9AAN';//'0019D00000HZVfOQAX'; // ase.UserName__c = '123'; ase.ASEActivityCode__c = '10086129'; ase.activityStartTime__c = d1; ase.activityEndTime__c = d2; ase.WorkDesc__c = '123'; ase.VisitStaff__c = '测试2'; // ase.Activity_Purpose__c = '移动'; // ase.Purpose_Type__c = '会议对应'; ase.ASEActivityDate__c = NFMUtil.parseStr2Date('20210901'); insert ase; OlympusCalendar__c oc = new OlympusCalendar__c(); oc.Date__c = Date.newInstance(2021, 12, 20); oc.OwnerId = UserInfo.getUserId(); insert oc; OlympusCalendar__c oc1 = new OlympusCalendar__c(); oc1.Date__c = Date.newInstance(2021, 8, 26); oc1.OwnerId = UserInfo.getUserId(); insert oc1; } @isTest static void test_1(){ Test.startTest(); Contact con = [SELECT Id,Name,CManageCode__c FROM Contact limit 1]; RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); String JsonMsg = '[{"mngCd" : "'+con.CManageCode__c+'", '+ '"activityDailyDate" : "2021-12-20", '+ '"strategicDepartmenCd" : "7006439", '+ '"departmentCd" : "10086", '+ '"activityID" : "10086129", '+ '"customerNm" : "测试2", '+ '"purposeOfVisit" : "故障对应", '+ '"activityDifferentiation" : "报价跟进", '+ '"taskItem" : "报价任务", '+ '"visitDistinction" : "用户拜访", '+ '"activityStartTime" : "20210826133805", '+ '"activityEndTime" : "20210826133838", '+ '"workDesc" : "无" '+ '}]'; req.requestURI = 'services/apexrest/NFM607/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM607Rest.execute(); Test.stopTest(); } @isTest static void test_11(){ Test.startTest(); Contact con = [SELECT Id,Name,CManageCode__c FROM Contact limit 1]; RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); String JsonMsg = '[{"mngCd" : "'+con.CManageCode__c+'", '+ '"activityDailyDate" : "2021-08-26", '+ '"strategicDepartmenCd" : "7006439", '+ '"departmentCd" : "357184", '+ '"activityID" : "10086129", '+ '"customerNm" : "测试2", '+ '"purposeOfVisit" : "故障对应", '+ '"activityDifferentiation" : "报价跟进", '+ '"taskItem" : "报价任务", '+ '"visitDistinction" : "用户拜访", '+ '"activityStartTime" : "20210826133805", '+ '"activityEndTime" : "20210826133838", '+ '"workDesc" : "无" '+ '}]'; req.requestURI = 'services/apexrest/NFM607/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM607Rest.execute(); Test.stopTest(); } @isTest static void test_2(){ Test.startTest(); Contact con = [SELECT Id,Name,CManageCode__c FROM Contact limit 1]; RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); String JsonMsg = '[{"mngCd" : "'+con.CManageCode__c+'", '+ '"activityDailyDate" : "2021-08-26", '+ '"strategicDepartmenCd" : "0000030318_01", '+ '"departmentCd" : "000", '+ '"activityID" : "100861219", '+ '"customerNm" : "测试2", '+ '"purposeOfVisit" : "故障对应", '+ '"activityDifferentiation" : "报价跟进", '+ '"taskItem" : "报价任务", '+ '"visitDistinction" : "用户拜访", '+ '"activityStartTime" : "20210826133805", '+ '"activityEndTime" : "20210826133838", '+ '"workDesc" : "无" '+ '}]'; req.requestURI = 'services/apexrest/NFM607/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM607Rest.execute(); Test.stopTest(); } @isTest static void test_3(){ Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); String JsonMsg = '[{"mngCd" : "1", '+ '"activityDailyDate" : "2021-08-26", '+ '"strategicDepartmenCd" : "1230", '+ '"departmentCd" : "000", '+ '"activityID" : "10086129", '+ '"customerNm" : "测试211111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", '+ '"purposeOfVisit" : "故障对应", '+ '"activityDifferentiation" : "报价跟进", '+ '"taskItem" : "报价任务", '+ '"visitDistinction" : "用户拜访", '+ '"activityStartTime" : "20210826133805", '+ '"activityEndTime" : "20210826133838", '+ '"workDesc" : "无" '+ '}]'; req.requestURI = 'services/apexrest/NFM607/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM607Rest.execute(); Test.stopTest(); } @isTest static void test_4(){ Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); String JsonMsg = '[{}]'; req.requestURI = 'services/apexrest/NFM607/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM607Rest.execute(); Test.stopTest(); } }