@isTest private class LexInventoryListControllerTest { static testMethod void myUnitTest() { Oly_TriggerHandler.bypass('ConsumableAssetHander'); Oly_TriggerHandler.bypass('Oly_TriggerHandler'); User myUser_test; Account myAccount2; User thisUser = [ select Id from User where Id = :UserInfo.getUserId()]; System.runAs(thisUser){ 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)']; myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id); insert myAccount2; Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id); insert core; 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'); insert MyUser_Test; } System.runAs(MyUser_Test){ Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Packing_list_manual__c=12,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',Packing_list_manual__c=10,Dealer_special_Object__c = true,Manual_Entry__c = false); Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',JANCODE__c = '04953170200313',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false); insert new Product2[]{prod01,prod02,prod03}; 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); Product2__c pro3 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id); insert new Product2__c[] {pro1, pro2, pro3}; Consumable_order__c Order1 = new Consumable_order__c(); Order1.Name = 'OCM_01_001'; Order1.Order_status__c = '批准'; Order1.Order_type__c = '盘点'; Order1.RecordTypeid = System.Label.RT_ConOrder_Inventory; insert Order1; Consumable_order__c Order2 = new Consumable_order__c(); Order2.Name = 'OCM_01_002'; Order2.Order_status__c = '批准'; Order2.Order_type__c = '订单'; Order2.RecordTypeid = System.Label.RT_ConOrder_Order; insert Order2; Consumable_order__c Order3 = new Consumable_order__c(); Order3.Name = 'OCM_01_004'; Order3.Order_status__c = '批准'; Order3.Order_type__c = '到货'; Order3.RecordTypeid = '01210000000c9dqAAA'; insert Order3; Consumable_orderdetails__c Orderdet1 = new Consumable_orderdetails__c(); Orderdet1.Name = 'OCM_01_001001'; Orderdet1.Consumable_order__c = Order1.Id; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory ; Consumable_orderdetails__c Orderdet2 = new Consumable_orderdetails__c(); Orderdet2.Name = 'OCM_01_001002'; Orderdet2.Consumable_order__c = Order1.Id; Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory; insert new Consumable_orderdetails__c[] {Orderdet1, Orderdet2}; List conList1 = new List (); //产品类型不同 Consumable_order_details2__c con = new Consumable_order_details2__c(); con.Name = 'OCM_01_001001'; con.Consumable_order_minor__c = Order1.Id; con.Consumable_Product__c = pro2.Id; con.Asset_Model_No__c = 'Test01'; con.Arrive_date__c = Date.today(); con.Bar_Code__c = '10011'; con.Used_date__c = null; con.Lose_Flag__c = false; con.Return_date__c= null; con.Send_Date__c= null; con.Box_Piece__c = '盒'; conList1.add(con); insert conList1; String eSetId = Order1.id; System.Test.startTest(); LexInventoryListController.init(eSetId); List inList = LexInventoryListController.consumableorderdetailsRecords; List inList1 = new List(); for(LexInventoryListController.ConsumableorderdetailsInfo ass: inList){ ass.orderdetails1= Orderdet1; inList1.add(ass); } LexInventoryListController.ConsumableorderdetailsInfo c2 = new LexInventoryListController.ConsumableorderdetailsInfo(Orderdet1); c2.orderdetails1 = Orderdet1; c2.Prod = Orderdet1.Consumable_product__r; LexInventoryListController.ConsumableorderdetailsInfo c1 = new LexInventoryListController.ConsumableorderdetailsInfo(con); c1.orderdetails2 = con; c1.Prod = con.Consumable_product__r; c1.compareTo(c2); System.Test.stopTest(); } } }