@isTest private class NewQuoteEntryControllerTest { @isTest static void test_init1() { Id pricebookId = Test.getStandardPricebookId(); Pricebook2 pricebook = new Pricebook2( Name = 'IE', ProductSegment__c = 'IE', TradeType__c = 'Taxation', SalesChannel__c = 'direct', MachineParts__c = 'Machine', isActive = true, CurrencyIsoCode = 'CNY' ); insert pricebook; system.debug('---pricebook---'+ pricebook); Product2 product1 = new Product2(); product1.Name = 'product1'; product1.ProductCode = 'product1'; product1.Product_ECCode__c = 'product1'; product1.IsActive = true; product1.ProductStatus__c = '1'; product1.NMPAStatus_one__c = 'Z1'; product1.MaterialStatus_one_Start__c = Date.today().addDays(-22); product1.MaterialStatus_one_End__c = Date.today().addDays(22); //Product2 product2 = new Product2(); //product2.Name = 'product2'; //product2.ProductCode = 'product2'; //product2.Product_ECCode__c = 'product2'; //product2.IsActive = true; //product2.ProductStatus__c = '1'; //product2.NMPAStatus_one__c = 'Z1'; //product2.MaterialStatus_one_Start__c = Date.today().addDays(-22); //product2.MaterialStatus_one_End__c = Date.today().addDays(22); //Product2 product3 = new Product2(); //product3.Name = 'product3'; //product3.ProductCode = 'product3'; //product3.Product_ECCode__c = 'product3'; //product3.IsActive = true; //product3.ProductStatus__c = '1'; //product3.NMPAStatus_one__c = 'Z1'; //product3.MaterialStatus_one_Start__c = Date.today().addDays(-22); //product3.MaterialStatus_one_End__c = Date.today().addDays(22); //insert new Product2[] {product1, product2, product3}; insert new Product2[] {product1}; PricebookEntry standardPrice1 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product1.Id, UnitPrice = 0, IsActive = true, CurrencyIsoCode = 'CNY' ); //PricebookEntry standardPrice2 = new PricebookEntry( // Pricebook2Id = pricebookId, // Product2Id = product2.Id, // UnitPrice = 0, // IsActive = true, // CurrencyIsoCode = 'CNY' //); //PricebookEntry standardPrice3 = new PricebookEntry( // Pricebook2Id = pricebookId, // Product2Id = product3.Id, // UnitPrice = 0, // IsActive = true, // CurrencyIsoCode = 'CNY' //); //insert new PricebookEntry[] {standardPrice1, standardPrice2, standardPrice3}; insert new PricebookEntry[] {standardPrice1}; system.debug('standardPrice1--->' + standardPrice1); PricebookEntry entry1 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id, UnitPrice = 0, IsActive = true, UseStandardPrice = false, CurrencyIsoCode = 'CNY' ); system.debug('--entry1-' + entry1.Pricebook2Id); //PricebookEntry entry2 = new PricebookEntry( // Pricebook2Id = pricebook.Id, // Product2Id = product2.Id, // UnitPrice = 0, // IsActive = true, // UseStandardPrice = false, // CurrencyIsoCode = 'CNY' //); //system.debug('--entry2-' + entry2.Pricebook2Id); //PricebookEntry entry3 = new PricebookEntry( // Pricebook2Id = pricebook.Id, // Product2Id = product3.Id, // UnitPrice = 0, // IsActive = true, // UseStandardPrice = false, // CurrencyIsoCode = 'CNY' //); //system.debug('--entry3-' + entry3.Pricebook2Id); //insert new PricebookEntry[] {entry1, entry2, entry3}; insert new PricebookEntry[] {entry1}; List rectIE = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = 'Customer IE']; Account user = new Account( Name = '*', FacilityName__c = 'user', PostCode__c = '123456', RecordTypeId = rectIE[0].Id ); insert user; Opportunity opp = new Opportunity( Name = 'test opp', AccountId = user.Id, StageName = 'Prospect Created', CurrencyIsoCode = 'CNY', ProductSegment__c = 'IE', CloseDate = Date.today(), NewInquiryDate__c = Date.today().addDays(-2), ExpectedOrderDate__c = Date.today().addDays(2), TradeType__c = 'Taxation', SalesChannel__c = 'direct', Machine_Parts__c = 'Machine', Pricebook2Id = pricebook.Id ); insert opp; system.debug('opp------>' + opp.Pricebook2Id); OpportunityLineItem oli1 = new OpportunityLineItem( OpportunityId = opp.Id, PricebookEntryId = entry1.Id, Quantity = 1, UnitPrice = 30 ); //system.debug('--oli1-' + oli1.PricebookEntryId); //OpportunityLineItem oli2 = new OpportunityLineItem( // OpportunityId = opp.Id, // PricebookEntryId = entry2.Id, // Quantity = 2, // UnitPrice = 30 //); //system.debug('--oli2-' + oli2.PricebookEntryId); //OpportunityLineItem oli3 = new OpportunityLineItem( // OpportunityId = opp.Id, // PricebookEntryId = entry3.Id, // Quantity = 3, // UnitPrice = 30 //); //system.debug('--oli3-' + oli3.PricebookEntryId); //insert new OpportunityLineItem[] {oli1, oli2, oli3}; //insert new OpportunityLineItem[] {oli1}; PageReference page = new PageReference('/apex/NewQuoteService?oppid=' + opp.Id + '&openType=service'); System.Test.setCurrentPage(page); NewQuoteEntryController controller = new NewQuoteEntryController(); controller.init(); controller.quo.Name = '报价1'; controller.quo.PaymentTerms__c = 'ZTT1'; controller.quo.Shipment_Term__c = 'CIP'; controller.quo.Shipment_Term2__c = 'BEIJING'; controller.quo.DeliveryLeadTime__c = 90; controller.quo.Warranty__c = 1; controller.quo.ExpirationDate = Date.today(); controller.quo.Custom_Price_Total_Text__c = 1000; controller.quo.Total_Price_Text__c = 922; /* controller.activities[0].pageObject.PricebookEntryId = entry1.Id; controller.activities[0].pageObject.Set__c = 'set01'; controller.activities[0].pageObject.UnitPrice = 11; controller.activities[0].pageObject.Quantity = 1 controller.activities[0].pageObject.Discount = 0; controller.activities[0].pageObject.Custom_Price__c = 20; controller.activities[0].pageObject.Description = 'test1';*/ System.Test.StartTest(); controller.Save(); //system.assertEquals('',controller.errormessage); controller.excelImport(); controller.testI(); controller.OppReflection(); controller.BackBtn(); controller.Decide(); controller.UnDecide(); System.Test.StopTest(); } //@isTest static void test_init2() { Id pricebookId = Test.getStandardPricebookId(); Pricebook2 pricebook = new Pricebook2( Name = 'IE', ProductSegment__c = 'IE', TradeType__c = 'Taxation', SalesChannel__c = 'direct', MachineParts__c = 'Machine', isActive = true ); insert pricebook; Product2 product1 = new Product2(); product1.Name = 'product1'; product1.ProductCode = 'product1'; product1.Product_ECCode__c = 'product1'; product1.IsActive = true; product1.ProductStatus__c = '1'; product1.NMPAStatus_one__c = 'Z1'; product1.MaterialStatus_one_Start__c = Date.today().addDays(-22); product1.MaterialStatus_one_End__c = Date.today().addDays(22); Product2 product2 = new Product2(); product2.Name = 'product2'; product2.ProductCode = 'product2'; product2.Product_ECCode__c = 'product2'; product2.IsActive = true; product2.ProductStatus__c = '1'; product2.NMPAStatus_one__c = 'Z1'; product2.MaterialStatus_one_Start__c = Date.today().addDays(-22); product2.MaterialStatus_one_End__c = Date.today().addDays(22); Product2 product3 = new Product2(); product3.Name = 'product3'; product3.ProductCode = 'product3'; product3.Product_ECCode__c = 'product3'; product3.IsActive = true; product3.ProductStatus__c = '1'; product3.NMPAStatus_one__c = 'Z1'; product3.MaterialStatus_one_Start__c = Date.today().addDays(-22); product3.MaterialStatus_one_End__c = Date.today().addDays(22); insert new Product2[] {product1, product2, product3}; PricebookEntry standardPrice1 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product1.Id, UnitPrice = 10, IsActive = true, CurrencyIsoCode = 'CNY' ); PricebookEntry standardPrice2 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product2.Id, UnitPrice = 10, IsActive = true, CurrencyIsoCode = 'CNY' ); PricebookEntry standardPrice3 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product3.Id, UnitPrice = 10, IsActive = true, CurrencyIsoCode = 'CNY' ); insert new PricebookEntry[] {standardPrice1, standardPrice2, standardPrice3}; PricebookEntry entry1 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id, UnitPrice = 10, IsActive = true, UseStandardPrice = false, CurrencyIsoCode = 'CNY', CostPrice1__c = 100, EffectiveDateFrom1__c = Date.today().addDays(-1), EffectiveDateTo1__c = Date.today().addDays(1), SalesPrice1__c = 200, EffectiveDateFrom1_sales__c = Date.today().addDays(-1), EffectiveDateTo1_sales__c = Date.today().addDays(1) ); PricebookEntry entry2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id, UnitPrice = 10, IsActive = true, UseStandardPrice = false, CurrencyIsoCode = 'CNY', CostPrice1__c = 100, EffectiveDateFrom1__c = Date.today().addDays(-1), EffectiveDateTo1__c = Date.today().addDays(1), SalesPrice1__c = 200, EffectiveDateFrom1_sales__c = Date.today().addDays(-1), EffectiveDateTo1_sales__c = Date.today().addDays(1) ); PricebookEntry entry3 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product3.Id, UnitPrice = 10, IsActive = true, UseStandardPrice = false, CurrencyIsoCode = 'CNY', CostPrice1__c = 100, EffectiveDateFrom1__c = Date.today().addDays(-1), EffectiveDateTo1__c = Date.today().addDays(1), SalesPrice1__c = 200, EffectiveDateFrom1_sales__c = Date.today().addDays(-1), EffectiveDateTo1_sales__c = Date.today().addDays(1) ); insert new PricebookEntry[] {entry1, entry2, entry3}; List rectIE = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = 'Customer IE']; Account user = new Account( Name = '*', FacilityName__c = 'user', PostCode__c = '123456', RecordTypeId = rectIE[0].Id, ProductSegment__c = 'IE' ); insert user; Opportunity opp = new Opportunity( Name = 'test opp', AccountId = user.Id, StageName = 'Prospect Created', //CurrencyIsoCode = 'CNY', ProductSegment__c = 'IE', CloseDate = Date.today().addDays(2), NewInquiryDate__c = Date.today().addDays(-2), ExpectedOrderDate__c = Date.today().addDays(2), TradeType__c = 'Taxation', Trade_Type_D__c = 'Taxation', SalesChannel__c = 'direct', Sales_Channel_D__c = 'direct', Machine_Parts__c = 'Machine', Machine_Parts_D__c = 'Machine' //, //Pricebook2Id = pricebook.Id ); insert opp; Quote quo = new Quote( Name = 'quo', OpportunityId = opp.Id, Pricebook2Id = pricebook.Id, SetName1__c = 'setname1', SetQty1__c = 1, SetName2__c = 'setname2', SetQty2__c = 2, CurrencyIsoCode = 'CNY', Custom_Price_Total_Text__c = 1000 ); insert quo; QuoteLineItem qli1 = new QuoteLineItem( QuoteId = quo.Id, PricebookEntryId = entry1.Id, Quantity = 1, UnitPrice = 10, Set__c = 'set01' ); QuoteLineItem qli2 = new QuoteLineItem( QuoteId = quo.Id, PricebookEntryId = entry2.Id, Quantity = 2, UnitPrice = 10, Set__c = 'set01' ); QuoteLineItem qli3 = new QuoteLineItem( QuoteId = quo.Id, PricebookEntryId = entry3.Id, Quantity = 1, UnitPrice = 10, Set__c = 'set02' ); insert new QuoteLineItem[] {qli1, qli2, qli3}; opp.SyncedQuoteId = quo.Id; upsert opp; PageReference page = new PageReference('/apex/NewQuoteService?id=' + quo.Id); System.Test.setCurrentPage(page); NewQuoteEntryController controller = new NewQuoteEntryController(); controller.init(); controller.Refresh(); controller.fileName = 'test1'; controller.csvExport(); String strblob = '"套装/单品","产品code","产品名称","数量","折扣"\n"单品","product1","product1","2.00","0.00"\n'; controller.contentFile = Blob.valueOf(strblob); controller.csvRead(); strblob = '套装/单品,产品code,产品名称,数量,折扣\nset01,product1,product1,2,49\nset01,product2,product2,2,49'; controller.contentFile = Blob.valueOf(strblob); controller.csvRead(); controller.reloadPage(); } @isTest static void test_init3() { Id pricebookId = Test.getStandardPricebookId(); Pricebook2 pricebook = new Pricebook2( Name = 'IE', ProductSegment__c = 'IE', TradeType__c = 'Taxation', SalesChannel__c = 'direct', MachineParts__c = 'Machine', isActive = true ); insert pricebook; Product2 product1 = new Product2(); product1.Name = 'product1'; product1.ProductCode = 'product1'; product1.Product_ECCode__c = 'product1'; product1.IsActive = true; product1.ProductStatus__c = '1'; product1.NMPAStatus_one__c = 'Z1'; product1.MaterialStatus_one_Start__c = Date.today().addDays(-22); product1.MaterialStatus_one_End__c = Date.today().addDays(22); Product2 product2 = new Product2(); product2.Name = 'product2'; product2.ProductCode = 'product2'; product2.Product_ECCode__c = 'product2'; product2.IsActive = true; product2.ProductStatus__c = '1'; product2.NMPAStatus_one__c = 'Z1'; product2.MaterialStatus_one_Start__c = Date.today().addDays(-22); product2.MaterialStatus_one_End__c = Date.today().addDays(22); Product2 product3 = new Product2(); product3.Name = 'product3'; product3.ProductCode = 'product3'; product3.Product_ECCode__c = 'product3'; product3.IsActive = true; product3.ProductStatus__c = '1'; product3.NMPAStatus_one__c = 'Z1'; product3.MaterialStatus_one_Start__c = Date.today().addDays(-22); product3.MaterialStatus_one_End__c = Date.today().addDays(22); insert new Product2[] {product1, product2, product3}; PricebookEntry standardPrice1 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product1.Id, UnitPrice = 0, IsActive = true, CurrencyIsoCode = 'CNY' ); PricebookEntry standardPrice2 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product2.Id, UnitPrice = 0, IsActive = true, CurrencyIsoCode = 'CNY' ); PricebookEntry standardPrice3 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product3.Id, UnitPrice = 0, IsActive = true, CurrencyIsoCode = 'CNY' ); insert new PricebookEntry[] {standardPrice1, standardPrice2, standardPrice3}; PricebookEntry entry1 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id, UnitPrice = 1, IsActive = true, UseStandardPrice = false, CurrencyIsoCode = 'CNY' ); PricebookEntry entry2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id, UnitPrice = 1, IsActive = true, UseStandardPrice = false, CurrencyIsoCode = 'CNY' ); PricebookEntry entry3 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product3.Id, UnitPrice = 1, IsActive = true, UseStandardPrice = false, CurrencyIsoCode = 'CNY' ); insert new PricebookEntry[] {entry1, entry2, entry3}; List rectIE = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = 'Customer IE']; Account user = new Account( Name = '*', FacilityName__c = 'user', PostCode__c = '123456', RecordTypeId = rectIE[0].Id ); insert user; Opportunity opp = new Opportunity( Name = 'test opp', AccountId = user.Id, StageName = 'Prospect Created', CurrencyIsoCode = 'CNY', ProductSegment__c = 'IE', CloseDate = Date.today(), NewInquiryDate__c = Date.today().addDays(-2), ExpectedOrderDate__c = Date.today().addDays(2), TradeType__c = 'Taxation', SalesChannel__c = 'direct', Machine_Parts__c = 'Machine', Pricebook2Id = pricebook.Id ); insert opp; Quote quo = new Quote( Name = 'quo', OpportunityId = opp.Id, Pricebook2Id = pricebook.Id, SetName1__c = 'setname1', SetQty1__c = 1, SetName2__c = 'setname2', SetQty2__c = 2, Custom_Price_Total_Text__c = 1000 ); insert quo; opp.SyncedQuoteId = quo.Id; //update opp; PageReference page = new PageReference('/apex/NewQuoteService?copyid=' + quo.Id); System.Test.setCurrentPage(page); NewQuoteEntryController controller = new NewQuoteEntryController(); controller.init(); PageReference page2 = new PageReference('/apex/NewQuoteService?oppid=' + opp.Id); System.Test.setCurrentPage(page2); NewQuoteEntryController controller2 = new NewQuoteEntryController(); controller2.init(); controller2.setProductEntry(); } //产品配套相关 @isTest static void test_init4() { Id pricebookId = Test.getStandardPricebookId(); Pricebook2 pricebook = new Pricebook2( Name = 'IE', ProductSegment__c = 'IE', TradeType__c = 'Taxation', SalesChannel__c = 'direct', MachineParts__c = 'Machine', isActive = true ); insert pricebook; Product2 product1 = new Product2(); product1.Name = 'product1'; product1.ProductCode = 'product1'; product1.Product_ECCode__c = 'product1'; product1.ProductModels__c = true; product1.ProductStatus__c = '1'; product1.NMPAStatus_one__c = 'Z1'; product1.MaterialStatus_one_Start__c = Date.today().addDays(-22); product1.MaterialStatus_one_End__c = Date.today().addDays(22); insert product1; PricebookEntry standardPrice1 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product1.Id, UnitPrice = 0, IsActive = true, CurrencyIsoCode = 'CNY' ); insert standardPrice1; PricebookEntry entry1 = new PricebookEntry(Pricebook2Id = pricebook.Id, Product2Id = product1.Id); entry1.UnitPrice = 0; entry1.IsActive = true; entry1.UseStandardPrice = false; entry1.CurrencyIsoCode = 'CNY'; insert entry1; Product_Search__c ps = new Product_Search__c(Product__c = product1.Id); List rectIE = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = 'Customer IE']; Account user = new Account( Name = '*', FacilityName__c = 'user', PostCode__c = '123456', RecordTypeId = rectIE[0].Id ); insert user; Opportunity opp = new Opportunity( Name = 'test opp', AccountId = user.Id, StageName = 'Prospect Created', CurrencyIsoCode = 'CNY', ProductSegment__c = 'IE', CloseDate = Date.today(), NewInquiryDate__c = Date.today().addDays(-2), ExpectedOrderDate__c = Date.today().addDays(2), TradeType__c = 'Taxation', SalesChannel__c = 'direct', Machine_Parts__c = 'Machine', Pricebook2Id = pricebook.Id ); insert opp; Quote quo = new Quote( Name = 'quo', OpportunityId = opp.Id, SetName1__c = 'IXP-7P2', SetQty1__c = 1, Is_Decided__c = false ); insert quo; List insertproductSets = new List(); productSet__c proSet1 = new productSet__c(); proSet1.Code__c = 'IXP-7P2'; proSet1.Name = 'IXP-7P2'; proSet1.IsValid__c = true; proSet1.Name = 'IXP-7P2'; insertproductSets.add(proSet1); productSet__c proSet2 = new productSet__c(); proSet2.Code__c = 'IXP-7P1SC'; proSet2.Name = 'IXP-7P1SC'; proSet2.IsValid__c = true; proSet2.Name = 'IXP-7P1SC'; insertproductSets.add(proSet2); productSet__c proSet3 = new productSet__c(); proSet3.Code__c = 'IXSP-T7LED'; proSet3.Name = 'IXSP-T7LED'; proSet3.IsValid__c = true; proSet3.Name = 'IXSP-T7LED'; insertproductSets.add(proSet3); productSet__c proSet4 = new productSet__c(); proSet4.Code__c = 'IXSP-T7LED4'; proSet4.Name = 'IXSP-T7LED4'; proSet4.IsValid__c = true; proSet4.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet4); productSet__c proSet5 = new productSet__c(); proSet5.Code__c = 'IXSP-T7LED4'; proSet5.Name = 'IXSP-T7LED4'; proSet5.IsValid__c = true; proSet5.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet5); productSet__c proSet6 = new productSet__c(); proSet6.Code__c = 'IXSP-T7LED4'; proSet6.Name = 'IXSP-T7LED4'; proSet6.IsValid__c = true; proSet6.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet6); productSet__c proSet7 = new productSet__c(); proSet7.Code__c = 'IXSP-T7LED4'; proSet7.Name = 'IXSP-T7LED4'; proSet7.IsValid__c = true; proSet7.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet7); productSet__c proSet8 = new productSet__c(); proSet8.Code__c = 'IXSP-T7LED4'; proSet8.Name = 'IXSP-T7LED4'; proSet8.IsValid__c = true; proSet8.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet8); productSet__c proSet9 = new productSet__c(); proSet9.Code__c = 'IXSP-T7LED4'; proSet9.Name = 'IXSP-T7LED4'; proSet9.IsValid__c = true; proSet9.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet9); productSet__c proSet10 = new productSet__c(); proSet10.Code__c = 'IXSP-T7LED4'; proSet10.Name = 'IXSP-T7LED4'; proSet10.IsValid__c = true; proSet10.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet10); productSet__c proSet11 = new productSet__c(); proSet11.Code__c = 'IXP-7P2'; proSet11.Name = 'IXP-7P2'; proSet11.IsValid__c = true; proSet11.Name = 'IXP-7P2'; insertproductSets.add(proSet11); productSet__c proSet12 = new productSet__c(); proSet12.Code__c = 'IXP-7P1SC'; proSet12.Name = 'IXP-7P1SC'; proSet12.IsValid__c = true; proSet12.Name = 'IXP-7P1SC'; insertproductSets.add(proSet12); productSet__c proSet13 = new productSet__c(); proSet13.Code__c = 'IXSP-T7LED'; proSet13.Name = 'IXSP-T7LED'; proSet13.IsValid__c = true; proSet13.Name = 'IXSP-T7LED'; insertproductSets.add(proSet13); productSet__c proSet14 = new productSet__c(); proSet14.Code__c = 'IXSP-T7LED4'; proSet14.Name = 'IXSP-T7LED4'; proSet14.IsValid__c = true; proSet14.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet14); productSet__c proSet15 = new productSet__c(); proSet15.Code__c = 'IXSP-T7LED4'; proSet15.Name = 'IXSP-T7LED4'; proSet15.IsValid__c = true; proSet15.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet15); productSet__c proSet16 = new productSet__c(); proSet16.Code__c = 'IXSP-T7LED4'; proSet16.Name = 'IXSP-T7LED4'; proSet16.IsValid__c = true; proSet16.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet16); productSet__c proSet17 = new productSet__c(); proSet17.Code__c = 'IXSP-T7LED4'; proSet17.Name = 'IXSP-T7LED4'; proSet17.IsValid__c = true; proSet17.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet17); productSet__c proSet18 = new productSet__c(); proSet18.Code__c = 'IXSP-T7LED4'; proSet18.Name = 'IXSP-T7LED4'; proSet18.IsValid__c = true; proSet18.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet18); productSet__c proSet19 = new productSet__c(); proSet19.Code__c = 'IXSP-T7LED4'; proSet19.Name = 'IXSP-T7LED4'; proSet19.IsValid__c = true; proSet19.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet19); productSet__c proSet20 = new productSet__c(); proSet20.Code__c = 'IXSP-T7LED4'; proSet20.Name = 'IXSP-T7LED4'; proSet20.IsValid__c = true; proSet20.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet20); productSet__c proSet21 = new productSet__c(); proSet21.Code__c = 'IXP-7P2'; proSet21.Name = 'IXP-7P2'; proSet21.IsValid__c = true; proSet21.Name = 'IXP-7P2'; insertproductSets.add(proSet21); productSet__c proSet22 = new productSet__c(); proSet22.Code__c = 'IXP-7P1SC'; proSet22.Name = 'IXP-7P1SC'; proSet22.IsValid__c = true; proSet22.Name = 'IXP-7P1SC'; insertproductSets.add(proSet22); productSet__c proSet23 = new productSet__c(); proSet23.Code__c = 'IXSP-T7LED'; proSet23.Name = 'IXSP-T7LED'; proSet23.IsValid__c = true; proSet23.Name = 'IXSP-T7LED'; insertproductSets.add(proSet23); productSet__c proSet24 = new productSet__c(); proSet24.Code__c = 'IXSP-T7LED4'; proSet24.Name = 'IXSP-T7LED4'; proSet24.IsValid__c = true; proSet24.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet24); productSet__c proSet25 = new productSet__c(); proSet25.Code__c = 'IXSP-T7LED4'; proSet25.Name = 'IXSP-T7LED4'; proSet25.IsValid__c = true; proSet25.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet25); productSet__c proSet26 = new productSet__c(); proSet26.Code__c = 'IXSP-T7LED4'; proSet26.Name = 'IXSP-T7LED4'; proSet26.IsValid__c = true; proSet26.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet26); productSet__c proSet27 = new productSet__c(); proSet27.Code__c = 'IXSP-T7LED5'; proSet27.Name = 'IXSP-T7LED5'; proSet27.IsValid__c = true; proSet27.Name = 'IXSP-T7LED5'; insertproductSets.add(proSet27); productSet__c proSet28 = new productSet__c(); proSet28.Code__c = 'IXSP-T7LED4'; proSet28.Name = 'IXSP-T7LED4'; proSet28.IsValid__c = true; proSet28.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet28); productSet__c proSet29 = new productSet__c(); proSet29.Code__c = 'IXSP-T7LED4'; proSet29.Name = 'IXSP-T7LED4'; proSet29.IsValid__c = true; proSet29.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet29); productSet__c proSet30 = new productSet__c(); proSet30.Code__c = 'IXSP-T7LED4'; proSet30.Name = 'IXSP-T7LED4'; proSet30.IsValid__c = true; proSet30.Name = 'IXSP-T7LED4'; insertproductSets.add(proSet30); insert insertproductSets; productSetItem__c productSetItem = new productSetItem__c(); productSetItem.productSet__c = proSet1.Id; productSetItem.Count__c = 5; productSetItem.product__c = product1.Id; insert productSetItem ; //List insertproductSets = new List(){ // proSet1,proSet2,proSet3,proSet4,proSet5,proSet6,proSet7,proSet8,proSet9,proSet10, // proSet21,proSet22,proSet23,proSet24,proSet25,proSet26,proSet27,proSet28,proSet29,proSet30, // proSet11,proSet12,proSet13,proSet14,proSet15,proSet16,proSet17,proSet18,proSet19,proSet20 //}; //PageReference page = new PageReference('/apex/SearchProduct?oppId=' + opp.Id + '&val=product1'); PageReference page = new PageReference('/apex/NewQuoteEntry?id=' + quo.Id ); //PageReference page = new PageReference('/apex/SearchSetProduct?gainQuoteSetNameAndSetQty=IXP-7P2%2C3%3BIXP-7P1SC%2C2'); //PageReference page = new PageReference('/apex/SearchSetProduct??gainQuoteSetNameAndSetQty='); System.Test.setCurrentPage(page); NewQuoteEntryController controller = new NewQuoteEntryController(); controller.init(); controller.Save(); controller.decideORundecideQuote(quo.Id,true); controller.Decide(); controller.setProduct_text = proSet1.Id+',1,49;'+proSet2.Id +',2,49;'+proSet3.Id+',3,49;'+proSet4.Id+',3,49;'+proSet5.Id+',1,49;'+proSet6.Id +',2,49;'+proSet7.Id+',3,49;'+proSet8.Id+',3,49;'+proSet9.Id+',3,49;'+proSet10.Id+',3,49;'; controller.setProduct_text += proSet11.Id+',1,49;'+proSet12.Id +',2,49;'+proSet13.Id+',3,49;'+proSet14.Id+',3,49;'+proSet15.Id+',1,49;'+proSet16.Id +',2,49;'+proSet17.Id+',3,49;'+proSet18.Id+',3,49;'+proSet19.Id+',3,49;'+proSet20.Id+',3,49;'; controller.setProduct_text += proSet21.Id+',1,49;'+proSet22.Id +',2,49;'+proSet23.Id+',3,49;'+proSet24.Id+',3,49;'+proSet25.Id+',1,49;'+proSet26.Id +',2,49;'+proSet27.Id+',3,49;'+proSet28.Id+',3,49;'+proSet29.Id+',3,49;'+proSet30.Id+',3,49;'; controller.setProductEntry(); } //产品配套相关 @isTest static void test_init5() { Id pricebookId = Test.getStandardPricebookId(); Pricebook2 pricebook = new Pricebook2( Name = 'IE', ProductSegment__c = 'IE', TradeType__c = 'Taxation', SalesChannel__c = 'direct', MachineParts__c = 'Machine', isActive = true ); insert pricebook; Product2 product1 = new Product2(); product1.Name = 'product1'; product1.ProductCode = 'product1'; product1.Product_ECCode__c = 'product1'; product1.ProductModels__c = true; product1.ProductStatus__c = '1'; product1.NMPAStatus_one__c = 'Z1'; product1.MaterialStatus_one_Start__c = Date.today().addDays(-22); product1.MaterialStatus_one_End__c = Date.today().addDays(22); insert product1; PricebookEntry standardPrice1 = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = product1.Id, UnitPrice = 0, IsActive = true, CurrencyIsoCode = 'CNY' ); insert standardPrice1; PricebookEntry entry1 = new PricebookEntry(Pricebook2Id = pricebook.Id, Product2Id = product1.Id); entry1.UnitPrice = 0; entry1.IsActive = true; entry1.UseStandardPrice = false; entry1.CurrencyIsoCode = 'CNY'; insert entry1; Product_Search__c ps = new Product_Search__c(Product__c = product1.Id); List rectIE = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = 'Customer IE']; Account user = new Account( Name = '*', FacilityName__c = 'user', PostCode__c = '123456', RecordTypeId = rectIE[0].Id ); insert user; Opportunity opp = new Opportunity( Name = 'test opp', AccountId = user.Id, StageName = 'Prospect Created', CurrencyIsoCode = 'CNY', ProductSegment__c = 'IE', CloseDate = Date.today(), NewInquiryDate__c = Date.today().addDays(-2), ExpectedOrderDate__c = Date.today().addDays(2), TradeType__c = 'Taxation', SalesChannel__c = 'direct', Machine_Parts__c = 'Machine', Pricebook2Id = pricebook.Id ); insert opp; Quote quo = new Quote( Name = 'quo', OpportunityId = opp.Id, SetName1__c = 'IXP-7P2', SetQty1__c = 1, Is_Decided__c = true ); insert quo; List insertproductSets = new List(); productSet__c proSet1 = new productSet__c(); proSet1.Code__c = 'IXP-7P2'; proSet1.Name = 'IXP-7P2'; proSet1.IsValid__c = true; proSet1.Name = 'IXP-7P2'; insertproductSets.add(proSet1); productSet__c proSet2 = new productSet__c(); proSet2.Code__c = 'IXP-7P1SC'; proSet2.Name = 'IXP-7P1SC'; proSet2.IsValid__c = true; proSet2.Name = 'IXP-7P1SC'; insertproductSets.add(proSet2); productSet__c proSet3 = new productSet__c(); proSet3.Code__c = 'IXSP-T7LED'; proSet3.Name = 'IXSP-T7LED'; proSet3.IsValid__c = true; proSet3.Name = 'IXSP-T7LED'; insertproductSets.add(proSet3); insert insertproductSets; productSetItem__c productSetItem = new productSetItem__c(); productSetItem.productSet__c = proSet1.Id; productSetItem.Count__c = 5; productSetItem.product__c = product1.Id; insert productSetItem ; PageReference page = new PageReference('/apex/NewQuoteEntry?id=' + quo.Id ); System.Test.setCurrentPage(page); NewQuoteEntryController controller = new NewQuoteEntryController(); Map productSetCodeMap = new Map(); productSetCodeMap.put('IXP-7P1SC', '3;49'); //productSetCodeMap.put('111111111', '3;49'); controller.init(); controller.setProduct_text = proSet1.Id+',1,49;'+proSet2.Id +',2,49;'; controller.setProductEntry(); controller.acquireProductSetId(productSetCodeMap); controller.Save(); //controller.decideORundecideQuote(quo.Id,true); //controller.Decide(); } }