@isTest private class SendConsumableordertosapTest { static testMethod void send_test(){ StaticParameter.EscapeNFM007Trigger = true; List conOrder_Order = [select Id from RecordType where IsActive = true and SobjectType = 'Consumable_order__c' and Name = '01 订单']; if (conOrder_Order.size() == 0) { return; } List conOrderDetail_Order = [select Id from RecordType where IsActive = true and SobjectType = 'Consumable_orderdetails__c' and Name = '订单']; if (conOrderDetail_Order.size() == 0) { return; } List rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店']; if (rectCo.size() == 0) { return; } List rectContract = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '契約']; if (rectCo.size() == 0) { return; } Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)']; Id pricebookId = ControllerUtil.getStandardPricebook().Id; // 产品 Product2 product = new Product2( Name='テスト商品'); product.SFDA_Status__c = '有効'; product.Intra_Trade_List_RMB_1__c = 100; product.Intra_Trade_List_RMB_Date1__c = date.today(); product.Intra_Trade_Cost_RMB_1__c = 200; product.Intra_Trade_Cost_RMB_Date1__c = date.today(); product.Manual_Entry__c = false; product.Asset_Model_No__c = '11111'; product.ProductCode = 'OTV-SP1H-NA-12E'; product.Product_Status__c = '正常销售'; product.SFDA_Approbated_Status__c = '有效'; insert product; Product2 pro = [select id,SFDA_Status__c,SFDA_Status_New__c,Estimation_Entry_Possibility__c from Product2 where id = :product.Id]; System.assertEquals('有効', pro.SFDA_Status_New__c); System.assertEquals('有効', pro.SFDA_Status__c); System.assertEquals('○', pro.Estimation_Entry_Possibility__c); // 価格表エントリを作成する PricebookEntry entry = new PricebookEntry( Pricebook2Id=pricebookId, Product2Id=product.Id); entry.UnitPrice = 0; entry.IsActive = true; entry.UseStandardPrice = false; entry.CurrencyIsoCode = 'CNY'; insert new PricebookEntry[] {entry}; //经销商、联系人、用户信息 Account myAccount1 = new Account(name='Testaccount001', Dealer_discount__c =20, Ban_On_Use_Date__c = Date.today().addDays(1), Business_Paper_Expiration_Date__c = Date.today().addDays(1), Tax_Practice_Expiration_Date__c = Date.today().addDays(1), Medical_Equipment_Expiration_Date__c = Date.today().addDays(1), RecordTypeId = rectCo[0].Id); insert myAccount1; Account acc1 = [select Id,Name,Is_Active_Formula__c from Account where Id = : myAccount1.Id]; System.assertEquals('有效', acc1.Is_Active_Formula__c); Contact core1 = new Contact(email='test@salesforce.com', firstname='test', lastname='001', accountid=myAccount1.Id); insert core1; //医疗器械经营许可证 License_Information__c linc = new License_Information__c( name='Test20181204', LicenseType__c = '医疗器械经营许可证', BusinessLicense__c = '20180522', ValidFrom__c = date.newinstance(2018, 05, 22), ValidTo__c = date.newinstance(2088, 05, 22), Scope3__c = '6815;6822;6823;6825', LicenseAndAccount__c = myAccount1.Id ); insert linc; //System.assertEquals('123',linc.ScopeKey__c); //产品注册证 Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210', MedPrdClass__c = '3', ValidFrom__c = date.newinstance(2018, 07, 22), ValidTo__c = date.newinstance(2028, 07, 22), RegisterNoClass_Old__c = '6815', RegisterNoClass_New__c = '6815', RegisterNoStatus__c = '有效' ); insert prc; //新旧关系对照表 Product_Register_contrast__c prcc = new Product_Register_contrast__c( Name = 'Test20181204', Register_new__c = '314', Register_old__c = '36815' ); insert prcc; //产品-产品注册证关系 Product_Register_Link__c prlc = new Product_Register_Link__c( Product2__c = product.Id, Product_Register__c = prc.Id ); insert prlc; user MyUser_Test1 = New User(ContactId = core1.Id, Alias = 'newUser1', Email='newuser1@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser1', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', Province__c = '北京市', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser1@testorg.com'); //lt if (Test.isRunningTest()) { System.runAs(new User(Id = UserInfo.getUserId())){ insert MyUser_Test1; } } //lt // insert MyUser_Test1; //经销商有效合同 Account myAccount2 = new Account(name='Testaccount002', RecordTypeId = rectContract[0].Id, Contract_Decide_Start_Date__c = Date.today().addDays(-1), Contract_Decide_End_Date__c =Date.today().addDays(1), Contract_Start_Date__c = Date.today().addDays(-1), Contract_End_Date__c =Date.today().addDays(1), Agent_Ref__c =myAccount1.Id, ET_SP_Dealer__c = true, ParentId =myAccount1.Id); insert myAccount2; Account acc2 = [select Id,Name,Is_Active_Formula__c from Account where Id = : myAccount2.Id]; System.assertEquals('有效', acc2.Is_Active_Formula__c); Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='NFM110Prd1',Product2__c=product.id); //Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='NFM110Prd2',Product2__c=prd2.id); insert new Product2__c[] {pro1}; //消耗品订单 Consumable_order__c coc = new Consumable_order__c(Name = 'Name001', Dealer_Info__c = myAccount1.Id, Order_status__c = '批准', RecordTypeid = conOrder_Order[0].Id, Contract_application_decision__c ='Name001' ,SalesManager__c = MyUser_Test1.Id, Order_effective_contact__c = myAccount2.Id ); insert coc; //消耗品明细1 Consumable_orderdetails__c codc = new Consumable_orderdetails__c(Name='orderdetails001', Consumable_order__c = coc.id, Consumable_Product__c =pro1.id, RecordTypeId =conOrderDetail_Order[0].Id, Consumable_count__c = 2, Intra_Trade_List_RMB__c = 100); insert codc; System.Test.startTest(); string aaa = SendConsumableordertosap.sendSAP(coc.id); System.assertEquals('', aaa); System.Test.stopTest(); Opportunity[] coc1 = [select id,Name,SAP_Province__c from Opportunity]; System.assertEquals(1, coc1.size()); System.assertEquals('北京市', coc1[0].SAP_Province__c); } }