@isTest private class NFM208RestTest { static testMethod void testNFM028_void() { List transfers = new List(); BatchIF_Transfer__c transfer = new BatchIF_Transfer__c(); transfer.Table__c = 'Account'; transfer.Column__c = 'Sales_Shop_Class__c'; transfer.External_Value__c = '04'; transfer.Internal_Value__c = '04Internal'; transfers.add(transfer); transfer = new BatchIF_Transfer__c(); transfer.Table__c = 'Account'; transfer.Column__c = 'Sales_Shop_Class__c'; transfer.External_Value__c = '05'; transfer.Internal_Value__c = '05Internal'; transfers.add(transfer); insert transfers; //新建助残 // List sac = new List(); // Statu_Achievements__c sa = new Statu_Achievements__c(); // sa.Opportunity__c = '0061000000n0GuYAAU'; //测试意向询价 // sa.ContractNO__c = 'SH-GI-182431'; //假想的合同编号 // sa.Order_no_without_0__c = '30087883'; //假想的凭证号码 // sa.ContractAmount__c = '1900000'; //合同金额 不能为空 // sac.add(sa); // insert sac; //新建几个保有设备 // 病院作成 Account hospital = new Account(); hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; hospital.Name = 'test hospital'; insert hospital; // 战略科室 Account[] strategicDep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.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 = hospital.Id; insert dep; // 产品 Product2 pro1 = new Product2(Name='name01',IsActive=true,Family='GI',Asset_Model_No__c='n01',Serial_Lot_No__c='S/N tracing',ProductCode_Ext__c='pc01',Manual_Entry__c=false); Product2 pro2 = new Product2(Name='name02',IsActive=true,Family='GI',Asset_Model_No__c='n02',Serial_Lot_No__c='Lot tracing',ProductCode_Ext__c='pc02',Manual_Entry__c=false); Product2 pro3 = new Product2(Name='name03',IsActive=true,Family='GI',Asset_Model_No__c='n03',Serial_Lot_No__c='Lot tracing',ProductCode_Ext__c='pc03',Manual_Entry__c=false); Product2 pro4 = new Product2(Name='name04',IsActive=true,Family='GI',Asset_Model_No__c='n04',Serial_Lot_No__c='Lot tracing',ProductCode_Ext__c='pc04',Manual_Entry__c=false); Product2 pro5 = new Product2(Name='name05',IsActive=true,Family='GI',Asset_Model_No__c='n05',Serial_Lot_No__c='Lot tracing',ProductCode_Ext__c='pc05',Manual_Entry__c=false); Product2 pro6 = new Product2(Name='name06',IsActive=true,Family='GI',Asset_Model_No__c='n06',Serial_Lot_No__c='Lot tracing',ProductCode_Ext__c='pc06',Manual_Entry__c=false); insert new Product2[] {pro1, pro2,pro3,pro4,pro5,pro6}; Datetime nowDT = Datetime.now(); String nowStr = nowDT.format('yyyyMMddHHmm'); // 资产 Asset asset1 = new Asset(Asset_Owner__c = 'Olympus'); asset1.RecordTypeId = System.Label.Asset_RecordType; asset1.SerialNumber = 'ass01'; asset1.Internal_Asset_number__c = 'ian01'; asset1.Name = 'ass01'; asset1.AccountId = dep.Id; asset1.Department_Class__c = strategicDep[0].Id; asset1.Hospital__c = hospital.Id; asset1.Product2Id = pro1.Id; asset1.Internal_asset_location__c = '北京'; asset1.SerialNumber = '9412222'; asset1.Product_Serial_No__c = 'N1021430:9412222'; asset1.ProductionDate__c = Date.today(); asset1.Guaranteen_end__c = Date.today().addDays(+10); asset1.Order_No__c = '150024'; Asset asset2 = new Asset(Asset_Owner__c = 'Olympus'); asset2.RecordTypeId = System.Label.Asset_RecordType; asset2.SerialNumber = 'ass02'; asset2.Internal_Asset_number__c = 'ian02'; asset2.Name = 'ass02'; asset2.AccountId = dep.Id; asset2.Department_Class__c = strategicDep[0].Id; asset2.Hospital__c = hospital.Id; asset2.Product2Id = pro2.Id; asset2.Internal_asset_location__c = '北京'; asset2.SerialNumber = '9412236'; asset2.Product_Serial_No__c = 'N1021430:9412236'; asset2.ProductionDate__c = Date.today(); asset2.Guaranteen_end__c = Date.today().addDays(+10); asset2.Order_No__c = '150024'; Asset asset3 = new Asset(Asset_Owner__c = 'Olympus'); asset3.RecordTypeId = System.Label.Asset_RecordType; asset3.SerialNumber = 'ass03'; asset3.Internal_Asset_number__c = 'ian03'; asset3.Name = 'ass03'; asset3.AccountId = dep.Id; asset3.Department_Class__c = strategicDep[0].Id; asset3.Hospital__c = hospital.Id; asset3.Product2Id = pro3.Id; asset3.Internal_asset_location__c = '上海'; asset3.SerialNumber = '8439612'; asset3.Product_Serial_No__c = 'N1401661:8439612'; asset3.ProductionDate__c = Date.today(); asset3.Guaranteen_end__c = Date.today().addDays(+10); asset3.Order_No__c = '150024'; Asset asset4 = new Asset(Asset_Owner__c = 'Olympus'); asset4.RecordTypeId = System.Label.Asset_RecordType; asset4.SerialNumber = 'ass04'; asset4.Internal_Asset_number__c = 'ian04'; asset4.Name = 'ass04'; asset4.AccountId = dep.Id; asset4.Department_Class__c = strategicDep[0].Id; asset4.Hospital__c = hospital.Id; asset4.Product2Id = pro4.Id; asset4.Internal_asset_location__c = '广东'; asset4.SerialNumber = '8439617'; asset4.Product_Serial_No__c = 'N1401661:8439617'; asset4.ProductionDate__c = Date.today(); asset4.Guaranteen_end__c = Date.today().addDays(+10); asset4.Order_No__c = '150024'; Asset asset5 = new Asset(Asset_Owner__c = 'Olympus'); asset5.RecordTypeId = System.Label.Asset_RecordType; asset5.SerialNumber = 'ass05'; asset5.Internal_Asset_number__c = 'ian05'; asset5.Name = 'ass05'; asset5.AccountId = dep.Id; asset5.Department_Class__c = strategicDep[0].Id; asset5.Hospital__c = hospital.Id; asset5.Product2Id = pro5.Id; asset5.Internal_asset_location__c = '广州'; asset5.SerialNumber = '8439626'; asset5.Product_Serial_No__c = 'N1401661:8439626'; asset5.ProductionDate__c = Date.today(); asset5.Guaranteen_end__c = Date.today().addDays(+10); asset5.Order_No__c = '150024'; Asset asset6 = new Asset(Asset_Owner__c = 'Olympus'); asset6.RecordTypeId = System.Label.Asset_RecordType; asset6.SerialNumber = 'ass06'; asset6.Internal_Asset_number__c = 'ian06'; asset6.Name = 'ass06'; asset6.AccountId = dep.Id; asset6.Department_Class__c = strategicDep[0].Id; asset6.Hospital__c = hospital.Id; asset6.Product2Id = pro6.Id; asset6.Internal_asset_location__c = '北京'; asset6.SerialNumber = '6577842'; asset6.Product_Serial_No__c = 'N2644060:6577842'; asset6.ProductionDate__c = Date.today(); asset6.Guaranteen_end__c = Date.today().addDays(+10); asset6.Order_No__c = '150024'; insert new Asset[] {asset1, asset2,asset3,asset4,asset5,asset6}; // System.Test.startTest(); // System.Test.stopTest(); Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); String JsonMsg = '[{"ProductCode": "N1021430","ReturnProductModel": [{"SerialNumber": "9412222","ManagementNumber": "N1021430:9412222","CreateDate": "","EndDate": ""}, {"SerialNumber": "9412236","ManagementNumber": "N1021430:9412236","CreateDate": "2019-10-09T15:04:44.7545165+08:00","EndDate": "2022-10-11T15:04:44.7545165+08:00"}]}, {"ProductCode": "N1401661","ReturnProductModel": [{"SerialNumber": "8439612","ManagementNumber": "N1401661:8439612","CreateDate": "","EndDate": ""}, {"SerialNumber": "8439626","ManagementNumber": "N1401661:8439626","CreateDate": "","EndDate": ""}, {"SerialNumber": "8439617","ManagementNumber": "N1401661:8439617","CreateDate": "","EndDate": ""}]}, {"ProductCode": "N2644060","ReturnProductModel": [{"SerialNumber": "6577842","ManagementNumber": "N2644060:6577842","CreateDate": "","EndDate": ""}]}]'; req.requestURI = 'services/apexrest/NFM208/getProduct'; req.httpMethod = 'GET'; req.addParameter('ContractNumber' ,'150024'); req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response = res; NFM208Rest.getProduct(); Test.stopTest(); } // @isTest // static void test_method_execute() { //} }