@isTest private class NFM611RestTest { static testMethod void testMethod1() { } @testSetup static void makeTestRepair() { 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, Management_Code_Auto__c, Name, Id from Account where ParentId = :company.Id and RecordTypeId = :rectSct[0].Id]; Account section = [Select Management_Code__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.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; Asset ast = new Asset(); ast.Name = 'NFM105Ast1'; ast.AccountId = depart.Id; ast.Department_Class__c = section.Id; ast.Hospital__c = company.Id; ast.Product2Id = prd1.Id; ast.SerialNumber = 'NFM105SerialNumber'; ast.Guarantee_period_for_products__c = Date.today(); ast.InstallDate = Date.today(); insert ast; // ast = [select Id, Name, Product_Serial_No__c, AccountId, Department_Class__c, Department_Class__r.Management_Code_Auto__c, Hospital__c, Product2Id, Product2.ProductCode, Product2.Repair_Product_Code__c, SerialNumber ast = [select Id, Name, Product_Serial_No__c, AccountId, Department_Class__c, Hospital__c, Product2Id, Product2.ProductCode, Product2.Repair_Product_Code__c, SerialNumber from Asset where Id = :ast.Id]; // User testUser = new U1 Repair__c rpr = new Repair__c(); rpr.PAE_Determine__c = 'PAE' ; //-- rpr.ifDeadHurt__c = '有'; //-- R1 rpr.PAE_DetermineAC__c = null; //-- rpr.SAPRepairNo__c = 'NFM105Rpr1'; rpr.Account__c = depart.Id; rpr.Department_Class__c = section.Id; rpr.Hospital__c = company.Id; rpr.Delivered_Product__c = ast.Id; rpr.Status__c = '1.受理完毕'; rpr.Incharge_Staff__c = Userinfo.getUserId(); rpr.Repair_Detail__c = 'test'; rpr.GeneratedPDFField__c = null; rpr.AsyncData__c = true; rpr.Complaint_Number__c = null; rpr.ReportAdverseEvents__c = '有'; rpr.ProblemOccurred__c = '到货验收'; rpr.ifDeadHurt__c = '有'; rpr.ASReportedCode__c = 'TEST01,TEST02'; rpr.ASReportedCodeAC__c = 'TEST02,TEST04'; rpr.DateReceiptQuestions__c = Date.today(); rpr.Failure_Occurrence_Date__c = Date.today(); rpr.Repair_Ordered_Date__c = Date.today(); System.runAs(new User(Id = Userinfo.getUserId())){ insert rpr; LogisticsInformation__c logistics = new LogisticsInformation__c(); logistics.Name = 'DF00001'; logistics.LogisticsNo__c = 'DF00001'; //物流单号 logistics.LogisticsCompany__c = 'DF'; //承运商 logistics.LogisticsSendTime__c = Datetime.now(); logistics.LogisticsSignTime__c = Datetime.now();//NFMUtil.parseStr2DateTime(ged.LogisticsInfo.logisticsReceiveTime); //物流签收日期 logistics.LogisticsLatestStatus__c = '已签收'; logistics.LogisticsType__c = '返品物流';//物流分类 logistics.LogisticsRepair__c = rpr.Id; insert logistics; } } @isTest static void test_method1() { Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); Repair__c repair = [select Name from Repair__c]; String JsonMsg = '[{"repairOrderInfo":{"repairOrderNo":"2021081900000022","repairNo":"'+repair.Name+'","api_type":1},"quotationInfo":{"PlanQuotationDate":"20210820120000","ActualQuotationEndTime":"20210820181717","ActualQuotationDate":"20210820140000"},"logisticsInfo":{"logisticsSendTime":"20210823120000","logisticsReceiveTime":"20210824153000","logisticsNo":"20210822001","logisticsLatestStatus":"已签收","carrier":"快递公司"},"equipReturnInfo":{"PlanReturnDate":"20210821120000","engineerType":"人员角色","ActualReturnStartTime":"20210821130000","ActualReturnDate":"20210821163000"}}]'; req.requestURI = 'services/apexrest/NFM611/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM611Rest.doPost(); Test.stopTest(); } @isTest static void test_method2() { Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); Repair__c repair = [select Name from Repair__c]; String JsonMsg = '[{"repairOrderInfo":{"repairOrderNo":"2021081900000022","repairNo":"'+repair.Name+'","api_type":2},"quotationInfo":{"PlanQuotationDate":"20210820120000","ActualQuotationEndTime":"20210820181717","ActualQuotationDate":"20210820140000"},"logisticsInfo":{"logisticsSendTime":"20210823120000","logisticsReceiveTime":"20210824153000","logisticsNo":"20210822001","logisticsLatestStatus":"已签收","carrier":"快递公司"},"equipReturnInfo":{"PlanReturnDate":"20210821120000","engineerType":"人员角色","ActualReturnStartTime":"20210821130000","ActualReturnDate":"20210821163000"}}]'; req.requestURI = 'services/apexrest/NFM611/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM611Rest.doPost(); Test.stopTest(); } @isTest static void test_method3() { Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); Repair__c repair = [select Name from Repair__c]; String JsonMsg = '[{"repairOrderInfo":{"repairOrderNo":"2021081900000022","repairNo":"'+repair.Name+'","api_type":3},"quotationInfo":{"PlanQuotationDate":"20210820120000","ActualQuotationEndTime":"20210820181717","ActualQuotationDate":"20210820140000"},"logisticsInfo":{"logisticsSendTime":"20210823120000","logisticsReceiveTime":"20210824153000","logisticsNo":"20210822001","logisticsLatestStatus":"已签收","carrier":"快递公司"},"equipReturnInfo":{"PlanReturnDate":"20210821120000","engineerType":"人员角色","ActualReturnStartTime":"20210821130000","ActualReturnDate":"20210821163000"}}]'; req.requestURI = 'services/apexrest/NFM611/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM611Rest.doPost(); Test.stopTest(); } @isTest static void test_method4() { Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); Repair__c repair = [select Name from Repair__c]; String JsonMsg = '[{"repairOrderInfo":{"repairOrderNo":"2021081900000022","repairNo":"'+repair.Name+'","api_type":4},"quotationInfo":{"PlanQuotationDate":"20210820120000","ActualQuotationEndTime":"20210820181717","ActualQuotationDate":"20210820140000"},"logisticsInfo":{"logisticsSendTime":"20210823120000","logisticsReceiveTime":"20210824153000","logisticsNo":"20210822001","logisticsLatestStatus":"已签收","carrier":"快递公司"},"equipReturnInfo":{"PlanReturnDate":"20210821120000","engineerType":"人员角色","ActualReturnStartTime":"20210821130000","ActualReturnDate":"20210821163000"}}]'; req.requestURI = 'services/apexrest/NFM611/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM611Rest.doPost(); Test.stopTest(); } @isTest static void test_method5() { Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); Repair__c repair = [select Name from Repair__c]; String JsonMsg = '[{"repairOrderInfo":{"repairOrderNo":"2021081900000022","repairNo":"'+repair.Name+'","api_type":5},"quotationInfo":{"PlanQuotationDate":"20210820120000","ActualQuotationEndTime":"20210820181717","ActualQuotationDate":"20210820140000"},"logisticsInfo":{"logisticsSendTime":"202108231200111111100","logisticsReceiveTime":"2021082411111153000","logisticsNo":"20210822122222222222222222222222001","logisticsLatestStatus":"已签1111111111111111111111111111111111111111111111111111111111111111112222222211111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111收","carrier":"快递公司"},"equipReturnInfo":null}]'; req.requestURI = 'services/apexrest/NFM611/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM611Rest.doPost(); Test.stopTest(); } @isTest static void test_method6() { Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); Repair__c repair = [select Name from Repair__c]; String JsonMsg = '[{"repairOrderInfo":{"repairOrderNo":null,"repairNo":null,"api_type":null},"quotationInfo":null,"logisticsInfo":null,"equipReturnInfo":null}]'; req.requestURI = 'services/apexrest/NFM611/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM611Rest.doPost(); Test.stopTest(); } @isTest static void test_method7() { Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); Repair__c repair = [select Name from Repair__c]; String JsonMsg = '[{}]'; req.requestURI = 'services/apexrest/NFM611/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response= res; NFM611Rest.doPost(); Test.stopTest(); } }