@isTest private class LexArriveGoodsControllerTest { @IsTest static void test1() { NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); insert n; List rectCo = [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 Email)']; Profile prof = [SELECT Id FROM Profile WHERE Name = '901_经销商社区普通权限_2重验证(ET)']; Account myAccount1 = new Account( Name = 'Testaccount001', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '9999996' ); Account myAccount2 = new Account( Name = 'Testaccount002', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '9999900', Product_Limit_Date__c = 'Test01|2|4,Test02|3|5' ); insert new List{ myAccount1, myAccount2 }; Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id); insert core; user MyUser_Test = new User( ContactId = core.id, Alias = 'newUser', Email = 'newuser@testorg.com', EmailEncodingKey = 'UTF-8', LastName = 'TestUser', LanguageLocaleKey = 'zh_CN', LocaleSidKey = 'zh_CN', ProfileId = prof.Id, TimeZoneSidKey = 'Asia/Shanghai', UserName = 'testUser@testorg.com', UserPro_Type__c = 'ET' ); System.runAs(new User(Id = UserInfo.getUserId())) { insert MyUser_Test; } // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); // insert new Product2[] {prod01,prod02}; System.runAs(MyUser_Test) { Product2 prod01 = new Product2( Name = 'Test01', ProductCode = 'Test01', Asset_Model_No__c = 'Test01', RecordTypeId = '01210000000aMAFAA2', SFDA_Status__c = '有効', JANCODE__c = '04953170200311', Dealer_special_Object__c = true, Manual_Entry__c = false ); Product2 prod02 = new Product2( Name = 'Test02', ProductCode = 'Test02', Asset_Model_No__c = 'Test02', RecordTypeId = '01210000000aMAFAA2', SFDA_Status__c = '有効', JANCODE__c = '04953170200312', Dealer_special_Object__c = true, Manual_Entry__c = false ); insert new List{ prod01, prod02 }; Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); insert new List{ pro1, pro2 }; //订单 Consumable_order__c Order1 = new Consumable_order__c(); Order1.Name = 'OCM_01_001'; Order1.Order_status__c = '批准'; Order1.Order_type__c = '订单'; // Order1.Dealer_Info__c = myAccount1.id; Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; Order1.Total_num__c = 3; Order1.OrderNumber_arrived__c = 1; Order1.Delivery_detail_count__c = 1; Order1.Order_ProType__c = 'ET'; insert Order1; //订单明细 //fahuo Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); Orderdet.Name = 'OCM_01_00101'; Orderdet.Consumable_order__c = Order1.Id; Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; Orderdet.Consumable_Product__c = pro1.Id; Orderdet.Consumable_count__c = 40; insert Orderdet; //发货明细 //到货正确信息 Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); Orderdet1.Name = 'OCM_01_001002'; Orderdet1.Consumable_order_minor__c = Order1.Id; Orderdet1.Consumable_Product__c = pro1.Id; Orderdet1.Asset_Model_No__c = 'Test01'; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; Orderdet1.TracingCode__c = 'BXJRA'; //取消产品 Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); Orderdet2.Name = 'OCM_01_001003'; Orderdet2.Consumable_order_minor__c = Order1.Id; Orderdet2.Consumable_Product__c = pro1.Id; Orderdet2.Asset_Model_No__c = 'Test01'; //Orderdet2.Consumable_Arrived_order__c = Order1.Id; Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB'; Orderdet2.Cancellation_Date__c = Date.today(); Orderdet2.TracingCode__c = 'BXJRB'; //销售产品 Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); Orderdet3.Name = 'OCM_01_001004'; Orderdet3.Consumable_order_minor__c = Order1.Id; Orderdet3.Consumable_Product__c = pro1.Id; Orderdet3.Asset_Model_No__c = 'Test01'; Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC'; Orderdet3.Used_date__c = Date.today(); Orderdet3.Arrive_date__c = Date.today(); Orderdet3.TracingCode__c = 'BXJRC'; //Orderdet3.Box_Piece__c = '盒'; //出库产品 Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); Orderdet4.Name = 'OCM_01_001005'; Orderdet4.Consumable_order_minor__c = Order1.Id; Orderdet4.Consumable_Product__c = pro1.Id; Orderdet4.Asset_Model_No__c = 'Test01'; Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD'; Orderdet4.Send_Date__c = Date.today(); Orderdet4.Arrive_date__c = Date.today(); Orderdet4.TracingCode__c = 'BXJRD'; //已到货产品 Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); Orderdet5.Name = 'OCM_01_001006'; Orderdet5.Consumable_order_minor__c = Order1.Id; Orderdet5.Consumable_Product__c = pro1.Id; Orderdet5.Asset_Model_No__c = 'Test01'; Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE'; Orderdet5.Arrive_date__c = Date.today(); Orderdet5.TracingCode__c = 'BXJRE'; //发货明细 //管理编码包含数字 Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); Orderdet6.Name = 'OCM_01_001002'; Orderdet6.Consumable_order_minor__c = Order1.Id; Orderdet6.Consumable_Product__c = pro1.Id; Orderdet6.Asset_Model_No__c = 'Test01'; Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123'; Orderdet6.TracingCode__c = 'BX123'; //发错库 未到货 Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c(); Orderdets8.Name = 'OCM_01_001011'; Orderdets8.Consumable_order_minor__c = Order1.Id; Orderdets8.Consumable_Product__c = pro1.Id; Orderdets8.Asset_Model_No__c = 'Test01'; Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys'; Orderdets8.Box_Piece__c = '盒'; Orderdets8.TracingCode__c = 'BXsys'; insert new List{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdets8 }; List cod1 = [SELECT Id FROM Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id]; System.assertEquals(1, cod1.size()); PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id); System.Test.setCurrentPage(page); ArriveGoodsController Controller = new ArriveGoodsController(); //初始化测试 System.Test.startTest(); LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id); String arrControllerStr = re.arrGoodCon; LexArriveGoodsController.searchProduct('', arrControllerStr); re = LexArriveGoodsController.searchProduct( '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', arrControllerStr ); arrControllerStr = re.arrGoodCon; LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); System.Test.stopTest(); } } @IsTest static void test2() { NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); insert n; List rectCo = [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 Email)']; Profile prof = [SELECT Id FROM Profile WHERE Name = '901_经销商社区普通权限_2重验证(ET)']; Account myAccount2 = new Account( name = 'Testaccount002', Dealer_discount__c = 20, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '9999900' ); Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id); insert new List{ myAccount1, myAccount2 }; Contact core = new Contact(email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id); insert core; user MyUser_Test = new User( ContactId = core.id, Alias = 'newUser', Email = 'newuser@testorg.com', EmailEncodingKey = 'UTF-8', LastName = 'TestUser', LanguageLocaleKey = 'zh_CN', LocaleSidKey = 'zh_CN', ProfileId = prof.Id, TimeZoneSidKey = 'Asia/Shanghai', UserName = 'testUser@testorg.com', UserPro_Type__c = 'ET' ); System.runAs(new User(Id = UserInfo.getUserId())) { insert MyUser_Test; } // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ]; // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false); // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false); // insert new Product2[] {prod01,prod02}; System.runAs(MyUser_Test) { Product2 prod01 = new Product2( Name = 'Test01', ProductCode = 'Test01', Asset_Model_No__c = 'Test01', RecordTypeId = '01210000000aMAFAA2', SFDA_Status__c = '有効', JANCODE__c = '04953170200311', Dealer_special_Object__c = true, Manual_Entry__c = false ); Product2 prod02 = new Product2( Name = 'Test02', ProductCode = 'Test02', Asset_Model_No__c = 'Test02', RecordTypeId = '01210000000aMAFAA2', SFDA_Status__c = '有効', JANCODE__c = '04953170200312', Dealer_special_Object__c = true, Manual_Entry__c = false ); insert new List{ prod01, prod02 }; Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); insert new List{ pro1, pro2 }; //订单 Consumable_order__c Order1 = new Consumable_order__c(); Order1.Name = 'OCM_01_001'; Order1.Order_status__c = '批准'; Order1.Order_type__c = '订单'; Order1.Dealer_Info__c = myAccount1.id; Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery; //返品订单 Consumable_order__c Order2 = new Consumable_order__c(); Order2.Name = 'OCM_01_002'; Order2.Order_status__c = '批准'; Order2.Order_type__c = '返品'; Order2.Dealer_Info__c = myAccount1.id; Order2.RecordTypeid = System.Label.Dealer_Returned_Label; insert Order1; insert Order2; //订单明细 //fahuo Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); Orderdet.Name = 'OCM_01_00101'; Orderdet.Consumable_order__c = Order1.Id; Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; Orderdet.Consumable_Product__c = pro1.Id; Orderdet.Consumable_count__c = 4; insert Orderdet; //发货明细 //没出库,没销售,就是在库 Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c(); Orderdet1.Name = 'OCM_01_001001'; Orderdet1.Consumable_order_minor__c = Order1.Id; Orderdet1.Consumable_Product__c = pro1.Id; Orderdet1.Asset_Model_No__c = 'Pro001'; Orderdet1.Arrive_date__c = date.today(); Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF'; Orderdet1.TracingCode__c = 'BXSYS'; //daohuo Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c(); Orderdet2.Name = 'OCM_01_001002'; Orderdet2.Consumable_order_minor__c = Order1.Id; Orderdet2.Consumable_Product__c = pro1.Id; Orderdet2.Asset_Model_No__c = 'Pro001'; Orderdet2.Consumable_Arrived_order__c = Order1.Id; Orderdet2.Arrive_date__c = date.today(); Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI'; Orderdet2.TracingCode__c = 'BXSYS'; //sale Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c(); Orderdet3.Name = 'OCM_01_001003'; Orderdet3.Consumable_order_minor__c = Order1.Id; Orderdet3.Consumable_Product__c = pro1.Id; Orderdet3.Asset_Model_No__c = 'Pro001'; Orderdet3.Consumable_Arrived_order__c = Order1.Id; Orderdet3.Arrive_date__c = date.today(); Orderdet3.Used_date__c = date.today(); Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ'; Orderdet3.TracingCode__c = 'BXSYS'; //出库 Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c(); Orderdet4.Name = 'OCM_01_001004'; Orderdet4.Consumable_order_minor__c = Order1.Id; Orderdet4.Consumable_Product__c = pro1.Id; Orderdet4.Asset_Model_No__c = 'Pro001'; Orderdet4.Consumable_Arrived_order__c = Order1.Id; Orderdet4.Consumable_Shipment_order__c = Order1.Id; Orderdet4.Send_Date__c = date.today(); Orderdet4.Arrive_date__c = date.today(); Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BX222'; Orderdet4.TracingCode__c = 'BXSYS'; //quxiao Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c(); Orderdet5.Name = 'OCM_01_001005'; Orderdet5.Consumable_order_minor__c = Order1.Id; Orderdet5.Consumable_Product__c = pro1.Id; Orderdet5.Asset_Model_No__c = 'Pro001'; Orderdet5.Cancellation_Date__c = Date.today(); Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ'; Orderdet5.Box_Piece__c = '个'; Orderdet5.TracingCode__c = 'BXSYS'; //fanpin Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c(); Orderdet6.Name = 'OCM_01_001006'; Orderdet6.Consumable_order_minor__c = Order1.Id; Orderdet6.Consumable_Product__c = pro1.Id; Orderdet6.Asset_Model_No__c = 'Pro001'; Orderdet6.Consumable_Return_order__c = Order2.Id; Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA'; Orderdet6.Box_Piece__c = '个'; Orderdet6.TracingCode__c = 'BXSYS'; Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c(); Orderdet7.Name = 'OCM_01_001001'; Orderdet7.Consumable_order_minor__c = Order1.Id; Orderdet7.Consumable_Product__c = pro1.Id; Orderdet7.Asset_Model_No__c = 'Pro001'; Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery; Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333'; Orderdet7.TracingCode__c = 'BXSYS'; insert new List{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdet7 }; ArriveGoodsController Controller = new ArriveGoodsController(); System.Test.startTest(); Controller.init(); Controller.barcode = '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222'; Controller.SearchPro(); Controller.ArriveGoodsConfim(); Controller.UpdateGoodsOfReturn(); controller.getinventorysize(); LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', ''); String arrControllerStr = re.arrGoodCon; re = LexArriveGoodsController.searchProduct( '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222', arrControllerStr ); arrControllerStr = re.arrGoodCon; LexArriveGoodsController.arriveGoodsConfim(arrControllerStr); LexArriveGoodsController.updateGoodsOfReturn(re.arrGoodCon, JSON.serialize(re.showGoodsofReturnList)); LexArriveGoodsController.ConsumableorderdetailsInfo con = new LexArriveGoodsController.ConsumableorderdetailsInfo(); List conList = new List(); conList.add(con); LexArriveGoodsController.changeType2(conList); System.Test.stopTest(); } } }