| | |
| | | @isTest |
| | | private class NewQuoteEntryControllerTest { |
| | | |
| | | private static Product2 product = null; |
| | | private static Pricebook2 pricebook = null; |
| | | @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}; |
| | | |
| | | |
| | | private static Opportunity opprtunity = null; |
| | | List<RecordType> 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; |
| | | |
| | | static final String RC_HOSPITAL = '病院'; |
| | | static final String RC_OPP = '引合'; |
| | | static final String RC_SENRYAKUKASHITSUBUNRUI = '戦略科室分類 消化科'; |
| | | static final String RC_BYOUIN = '病院'; |
| | | static final String RC_SHINRYOUKA = '診療科 その他'; |
| | | static final String RC_HANBAOITEN = '販売店'; |
| | | static final String RC_KEIYAKU = '契約'; |
| | | |
| | | static { |
| | | product = new Product2( Name = 'テスト商品'); |
| | | insert product; |
| | | system.debug('##product.Id=[' + product.Id + ']' ); |
| | | |
| | | pricebook = ControllerUtil.getStandardPricebook(); |
| | | system.debug('##pricebook.Id=[' + pricebook.Id + ']' ); |
| | | } |
| | | |
| | | private static PricebookEntry buildPB( String input) { |
| | | PricebookEntry entry = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product.Id); |
| | | |
| | | entry.UnitPrice = 0; |
| | | entry.IsActive = true; |
| | | entry.UseStandardPrice = false; |
| | | entry.CurrencyIsoCode = input; |
| | | insert entry; |
| | | return entry; |
| | | } |
| | | |
| | | public static Opportunity buildOppInstance( String inputTrade, String CurrencyIsoCode) { |
| | | Opportunity target = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today()); |
| | | target.Trade__c = inputTrade; |
| | | target.owner_not_automatically_update__c = true; |
| | | target.CurrencyIsoCode = CurrencyIsoCode; |
| | | target.Wholesale_Price__c = 9000; |
| | | return target; |
| | | } |
| | | |
| | | private static QuoteLineItem insertQuoteLineItem( Quote input, Pricebookentry entry) { |
| | | QuoteLineItem target = new QuoteLineItem(); |
| | | target.Name__c = 'テスト商品'; |
| | | target.QuoteId = input.Id; |
| | | target.Quantity = 1; |
| | | target.Cost_Subtotal__c = 0; |
| | | target.Cost__c = 200; |
| | | // target.TotalPrice = 100; |
| | | target.UnitPrice = 10; |
| | | target.PricebookEntryId = entry.Id; |
| | | insert target; |
| | | return target; |
| | | } |
| | | |
| | | |
| | | private static String quoteNo = 'textQutote01'; |
| | | public static String trade = '内貿'; |
| | | public static String CurrencyIso = 'CNY'; |
| | | |
| | | private static Boolean isUnitPrice = true; |
| | | private static Boolean isOfferAmount = true; |
| | | private static Boolean isTotalPrice = true; |
| | | private static Boolean isDiscountRate = true; |
| | | private static Boolean isDiscountAmount = true; |
| | | private static Boolean isTradingPrice = true; |
| | | private static Boolean isContractDetail = true; |
| | | |
| | | private static Date offerExpireDate = Date.today(); |
| | | private static String clientName = 'test client'; |
| | | private static String offerComment = 'test comment'; |
| | | private static Date offerPrintDate = Date.today(); |
| | | private static String agentName = 'test agent name'; |
| | | |
| | | static testMethod void TestInit01() { |
| | | system.debug('---------------------------------------Start initTest-----'); |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | //Line 119 UserのQuote_Correct__c、Quote_Special_Operation__c、SAP_Send_OFF__cをテストため。 |
| | | String userId = UserInfo.getUserId(); |
| | | User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | u1.Quote_Correct__c = false; |
| | | u1.Quote_Special_Operation__c = true; |
| | | u1.Cost_Referable__c = true; |
| | | update u1; |
| | | |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.Trade__c = trade; |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | 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}; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | QuoteLineItem item01 = insertQuoteLineItem( quote, entryCNY); |
| | | QuoteLineItem item02 = insertQuoteLineItem( quote, entryCNY); |
| | | |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | System.Test.startTest(); |
| | | test1( opp, quote , QuotePage); |
| | | test2( opp, quote , QuotePage); |
| | | test3( opp, quote , QuotePage); |
| | | test4( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | // test5( opp, quote , QuotePage); |
| | | // test6( opp, quote , QuotePage); |
| | | // test7( opp, quote , QuotePage); |
| | | |
| | | |
| | | |
| | | |
| | | system.debug('---------------------------------------End initTest-----'); |
| | | } |
| | | |
| | | static testMethod void testInit02() { |
| | | system.debug('---------------------------------------Start initTest-----'); |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | //Line 119 UserのQuote_Correct__c、Quote_Special_Operation__c、SAP_Send_OFF__cをテストため。 |
| | | String userId = UserInfo.getUserId(); |
| | | User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | u1.Quote_Correct__c = true; |
| | | u1.Quote_Special_Operation__c = false; |
| | | u1.Cost_Referable__c = true; |
| | | update u1; |
| | | |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | QuoteLineItem item01 = insertQuoteLineItem( quote, entryCNY); |
| | | QuoteLineItem item02 = insertQuoteLineItem( quote, entryCNY); |
| | | System.Test.startTest(); |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | // test1( opp, quote , QuotePage); |
| | | // test2( opp, quote , QuotePage); |
| | | // test3( opp, quote , QuotePage); |
| | | // test4( opp, quote , QuotePage); |
| | | test5( opp, quote , QuotePage); |
| | | |
| | | //test7( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | system.debug('---------------------------------------End initTest-----'); |
| | | } |
| | | } |
| | | |
| | | static testMethod void testInit02_01() { |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | system.debug('---------------------------------------Start initTest-----'); |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | //Line 119 UserのQuote_Correct__c、Quote_Special_Operation__c、SAP_Send_OFF__cをテストため。 |
| | | String userId = UserInfo.getUserId(); |
| | | User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | u1.Quote_Correct__c = true; |
| | | u1.Quote_Special_Operation__c = false; |
| | | u1.Cost_Referable__c = true; |
| | | update u1; |
| | | |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | quote.Cancel_Decide__c = false; |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | QuoteLineItem item01 = insertQuoteLineItem( quote, entryCNY); |
| | | QuoteLineItem item02 = insertQuoteLineItem( quote, entryCNY); |
| | | System.Test.startTest(); |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | |
| | | test6( opp, quote , QuotePage); |
| | | //test7( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | |
| | | // static testMethod void testInit02_2() { |
| | | // Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | // User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | // system.runAs(MacOwner) { |
| | | // system.debug('---------------------------------------Start initTest-----'); |
| | | // NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | // //Line 119 UserのQuote_Correct__c、Quote_Special_Operation__c、SAP_Send_OFF__cをテストため。 |
| | | // String userId = UserInfo.getUserId(); |
| | | // User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | // u1.Quote_Correct__c = true; |
| | | // u1.Quote_Special_Operation__c = false; |
| | | // u1.Cost_Referable__c = true; |
| | | // update u1; |
| | | |
| | | // // PricebookEntry |
| | | // PricebookEntry entryUSD = buildPB( 'USD'); |
| | | // PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | // // 引合作成 |
| | | // Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | // opp.owner_not_automatically_update__c = true; |
| | | // opp.Trade__c = trade; |
| | | // opp.Sales_Root__c = 'AAA'; |
| | | // opp.Pricebook2Id = pricebook.id; |
| | | // insert opp; |
| | | |
| | | // //見積データ作成 |
| | | // Quote quote = new Quote( Name = 'テスト見積'); |
| | | // quote.OpportunityId = opp.Id; |
| | | // quote.Pricebook2Id = pricebook.id; |
| | | // quote.Quote_No__c = quoteNo; |
| | | |
| | | // quote.Unit_Price__c = isUnitPrice; |
| | | // quote.Offer_Amount__c = isOfferAmount; |
| | | // quote.TOTAL__c = isTotalPrice; |
| | | // quote.Discount__c = isDiscountRate; |
| | | // quote.Pricing__c = isDiscountAmount; |
| | | // quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | // quote.Contract__c = isContractDetail; |
| | | // quote.Quote_Comment__c = offerComment; |
| | | // // insert quote; |
| | | // quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | // System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // // 見積品目作成 |
| | | // QuoteLineItem item01 = insertQuoteLineItem( quote, entryCNY); |
| | | // QuoteLineItem item02 = insertQuoteLineItem( quote, entryCNY); |
| | | // System.Test.startTest(); |
| | | // //見積データ検索 |
| | | // opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | // // test1( opp, quote , QuotePage); |
| | | // // test2( opp, quote , QuotePage); |
| | | // // test3( opp, quote , QuotePage); |
| | | // // test4( opp, quote , QuotePage); |
| | | // test5( opp, quote , QuotePage); |
| | | |
| | | // //test6( opp, quote , QuotePage); |
| | | // //test7( opp, quote , QuotePage); |
| | | // System.Test.stopTest(); |
| | | // system.debug('---------------------------------------End initTest-----'); |
| | | // } |
| | | // } |
| | | |
| | | static testMethod void testInit02_2_01() { |
| | | system.debug('---------------------------------------Start initTest-----'); |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | //Line 119 UserのQuote_Correct__c、Quote_Special_Operation__c、SAP_Send_OFF__cをテストため。 |
| | | String userId = UserInfo.getUserId(); |
| | | User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | u1.Quote_Correct__c = true; |
| | | u1.Quote_Special_Operation__c = false; |
| | | u1.Cost_Referable__c = true; |
| | | update u1; |
| | | |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | QuoteLineItem item01 = insertQuoteLineItem( quote, entryCNY); |
| | | QuoteLineItem item02 = insertQuoteLineItem( quote, entryCNY); |
| | | System.Test.startTest(); |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | //test5( opp, quote , QuotePage); |
| | | //test7( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | } |
| | | // static testMethod void TestInit03() { |
| | | |
| | | |
| | | // system.debug('---------------------------------------Start initTest-----'); |
| | | // NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | // String userId = UserInfo.getUserId(); |
| | | // User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | // u1.Quote_Correct__c = true; |
| | | // u1.Quote_Special_Operation__c = true; |
| | | // u1.Cost_Referable__c = false; |
| | | // update u1; |
| | | |
| | | // // PricebookEntry |
| | | // PricebookEntry entryUSD = buildPB( 'USD'); |
| | | // PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | // CurrencyIso = 'USD'; |
| | | // trade = '外貿'; |
| | | // // 引合作成 |
| | | // Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | // opp.owner_not_automatically_update__c = true; |
| | | // opp.Trade__c = trade; |
| | | // opp.Sales_Root__c = 'AAA'; |
| | | // opp.Pricebook2Id = pricebook.id; |
| | | // insert opp; |
| | | |
| | | // //見積データ作成 |
| | | // Quote quote = new Quote( Name = 'テスト見積'); |
| | | // quote.OpportunityId = opp.Id; |
| | | // quote.Pricebook2Id = pricebook.id; |
| | | // quote.Quote_No__c = quoteNo; |
| | | |
| | | // quote.Unit_Price__c = isUnitPrice; |
| | | // quote.Offer_Amount__c = isOfferAmount; |
| | | // quote.TOTAL__c = isTotalPrice; |
| | | // quote.Discount__c = isDiscountRate; |
| | | // quote.Pricing__c = isDiscountAmount; |
| | | // quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | // quote.Contract__c = isContractDetail; |
| | | // quote.Quote_Comment__c = offerComment; |
| | | // insert quote; |
| | | // quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | // System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // // 見積品目作成 |
| | | // QuoteLineItem item01 = insertQuoteLineItem( quote, entryUSD); |
| | | // QuoteLineItem item02 = insertQuoteLineItem( quote, entryUSD); |
| | | |
| | | // //見積データ検索 |
| | | // opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | // System.Test.startTest(); |
| | | // test1( opp, quote , QuotePage); |
| | | // test2( opp, quote , QuotePage); |
| | | // test3( opp, quote , QuotePage); |
| | | // test4( opp, quote , QuotePage); |
| | | // // test5( opp, quote , QuotePage); |
| | | // // test6( opp, quote , QuotePage); |
| | | // // test7( opp, quote , QuotePage); |
| | | // System.Test.stopTest(); |
| | | |
| | | |
| | | |
| | | |
| | | // system.debug('---------------------------------------End initTest-----'); |
| | | // } |
| | | |
| | | static testMethod void testInit04() { |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | |
| | | system.debug('---------------------------------------Start initTest-----'); |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | String userId = UserInfo.getUserId(); |
| | | User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | u1.Quote_Correct__c = true; |
| | | u1.Quote_Special_Operation__c = false; |
| | | u1.Cost_Referable__c = true; |
| | | update u1; |
| | | |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | CurrencyIso = 'USD'; |
| | | trade = '外貿'; |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | QuoteLineItem item01 = insertQuoteLineItem( quote, entryUSD); |
| | | QuoteLineItem item02 = insertQuoteLineItem( quote, entryUSD); |
| | | |
| | | System.Test.startTest(); |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | |
| | | //System.Test.startTest(); |
| | | // test1( opp, quote , QuotePage); |
| | | // test2( opp, quote , QuotePage); |
| | | // test3( opp, quote , QuotePage); |
| | | // test4( opp, quote , QuotePage); |
| | | test5( opp, quote , QuotePage); |
| | | //System.Test.stopTest(); |
| | | |
| | | //test6( opp, quote , QuotePage); |
| | | //test7( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | system.debug('---------------------------------------End initTest-----'); |
| | | } |
| | | } |
| | | static testMethod void testInit04_01() { |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | String userId = UserInfo.getUserId(); |
| | | User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | u1.Quote_Correct__c = true; |
| | | u1.Quote_Special_Operation__c = false; |
| | | u1.Cost_Referable__c = true; |
| | | update u1; |
| | | |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | CurrencyIso = 'USD'; |
| | | trade = '外貿'; |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | QuoteLineItem item01 = insertQuoteLineItem( quote, entryUSD); |
| | | QuoteLineItem item02 = insertQuoteLineItem( quote, entryUSD); |
| | | |
| | | System.Test.startTest(); |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | |
| | | test6( opp, quote , QuotePage); |
| | | //test7( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | } |
| | | } |
| | | |
| | | static testMethod void testInit04_2() { |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | system.debug('---------------------------------------Start initTest-----'); |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | String userId = UserInfo.getUserId(); |
| | | User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | u1.Quote_Correct__c = true; |
| | | u1.Quote_Special_Operation__c = false; |
| | | u1.Cost_Referable__c = true; |
| | | update u1; |
| | | |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | CurrencyIso = 'USD'; |
| | | trade = '外貿'; |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | QuoteLineItem item01 = insertQuoteLineItem( quote, entryUSD); |
| | | QuoteLineItem item02 = insertQuoteLineItem( quote, entryUSD); |
| | | |
| | | System.Test.startTest(); |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | |
| | | //System.Test.startTest(); |
| | | // test1( opp, quote , QuotePage); |
| | | // test2( opp, quote , QuotePage); |
| | | // test3( opp, quote , QuotePage); |
| | | // test4( opp, quote , QuotePage); |
| | | test5( opp, quote , QuotePage); |
| | | //System.Test.stopTest(); |
| | | |
| | | //test6( opp, quote , QuotePage); |
| | | //test7( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | |
| | | } |
| | | system.debug('---------------------------------------End initTest-----'); |
| | | } |
| | | |
| | | static testMethod void testInit04_2_01() { |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | String userId = UserInfo.getUserId(); |
| | | User u1 = [SELECT Id, Quote_Correct__c, Quote_Special_Operation__c, Cost_Referable__c FROM User WHERE Id = :userId]; |
| | | u1.Quote_Correct__c = true; |
| | | u1.Quote_Special_Operation__c = false; |
| | | u1.Cost_Referable__c = true; |
| | | update u1; |
| | | |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | CurrencyIso = 'USD'; |
| | | trade = '外貿'; |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | QuoteLineItem item01 = insertQuoteLineItem( quote, entryUSD); |
| | | QuoteLineItem item02 = insertQuoteLineItem( quote, entryUSD); |
| | | |
| | | System.Test.startTest(); |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | |
| | | //test7( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | } |
| | | static testMethod void TestInit05() { |
| | | system.debug('---------------------------------------Start initTest-----'); |
| | | NewQuoteEntryController QuotePage = new NewQuoteEntryController(); |
| | | //Line 119 UserのQuote_Correct__c、Quote_Special_Operation__c、SAP_Send_OFF__cをテストため。 |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User hpOwner = new User(Test_staff__c = true, Job_Category__c = '销售服务' , LastName = 'hp', FirstName = 'owner', Alias = 'hp', CommunityNickname = 'hpOwner', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | insert hpOwner; |
| | | String userId = hpOwner.id; |
| | | // PricebookEntry |
| | | PricebookEntry entryUSD = buildPB( 'USD'); |
| | | PricebookEntry entryCNY = buildPB( 'CNY'); |
| | | |
| | | // 引合作成 |
| | | Opportunity opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.Trade__c = trade; |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Sales_Root__c = 'AAA'; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //見積データ作成 |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | insert quote; |
| | | quote = [SELECT Id, OpportunityId, Quote_no__c, Quote_No_Auto__c, CurrencyIsoCode FROM Quote WHERE Id = :quote.id]; |
| | | System.assertEquals( CurrencyIso, quote.CurrencyIsoCode); |
| | | |
| | | // 見積品目作成 |
| | | // QuoteLineItem item01 = insertQuoteLineItem( quote, entryCNY); |
| | | // QuoteLineItem item02 = insertQuoteLineItem( quote, entryCNY); |
| | | |
| | | //見積データ検索 |
| | | opprtunity = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id]; |
| | | System.Test.startTest(); |
| | | // test1( opp, quote , QuotePage); |
| | | // test2( opp, quote , QuotePage); |
| | | // test3( opp, quote , QuotePage); |
| | | // test5( opp, quote , QuotePage); |
| | | // test6( opp, quote , QuotePage); |
| | | // test7( opp, quote , QuotePage); |
| | | test8( opp, quote , QuotePage); |
| | | System.Test.stopTest(); |
| | | |
| | | |
| | | |
| | | system.debug('---------------------------------------End initTest-----'); |
| | | } |
| | | // 页面参数什么都不带的 手动设置quoid 和 oppId init 加 save |
| | | private static void test1( Opportunity opp, Quote quote , NewQuoteEntryController QuotePage) { |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | PageReference page = new PageReference('/apex/NewQuoteService?oppid=' + opp.Id + '&openType=service'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | QuotePage.oppId = opp.id; |
| | | QuotePage.quoId = quote.id; |
| | | QuotePage.init(); |
| | | QuotePage.Save(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | // 页面参数带询价id 的 手动设置quoid init 加 save |
| | | private static void test2( Opportunity opp, Quote quote , NewQuoteEntryController QuotePage) { |
| | | system.debug('---------------------------------------Start initTest2-----'); |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry?oppId=' + opprtunity.id ); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | QuotePage.oppId = opp.id; |
| | | QuotePage.quoId = quote.id; |
| | | QuotePage.init(); |
| | | QuotePage.Save(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | // 页面参数什么都不带的 手动设置 oppId init 加 save |
| | | private static void test3( Opportunity opp, Quote quote , NewQuoteEntryController QuotePage) { |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | QuotePage.oppId = opp.id; |
| | | QuotePage.init(); |
| | | QuotePage.Save(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | // 页面参数什么都不带的 手动设置 oppId init 加 save |
| | | private static void test4(Opportunity opp, Quote quote , NewQuoteEntryController QuotePage) { |
| | | opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | insert opp; |
| | | |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | QuotePage.oppId = opp.id; |
| | | QuotePage.init(); |
| | | QuotePage.Save(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | |
| | | private static void test5(Opportunity opp, Quote quote , NewQuoteEntryController QuotePage) { |
| | | |
| | | //販売店 |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | sellerA.Delete_Flag__c = false; |
| | | insert sellerA; |
| | | |
| | | //契約 |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account keiyaku = new Account(Name = '*'); |
| | | keiyaku.RecordTypeId = recKeiyaku.id; |
| | | keiyaku.Agent_Ref__c = sellerA.id; |
| | | keiyaku.ParentId = sellerA.id; |
| | | keiyaku.Delete_Flag__c = false; |
| | | insert keiyaku; |
| | | |
| | | opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.AccountId = keiyaku.id; |
| | | opp.Hospital__c = keiyaku.id; |
| | | insert opp; |
| | | |
| | | |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | QuotePage.oppId = opp.id; |
| | | QuotePage.init(); |
| | | QuotePage.Save(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | |
| | | private static void test6(Opportunity opp, Quote quote , NewQuoteEntryController QuotePage) { |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | insert sellerA; |
| | | |
| | | //契約 |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account keiyaku = new Account(Name = '*'); |
| | | keiyaku.RecordTypeId = recKeiyaku.id; |
| | | keiyaku.Agent_Ref__c = sellerA.id; |
| | | keiyaku.ParentId = sellerA.id; |
| | | keiyaku.Delete_Flag__c = false; |
| | | insert keiyaku; |
| | | |
| | | |
| | | opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.AccountId = keiyaku.id; |
| | | opp.Hospital__c = keiyaku.id; |
| | | insert opp; |
| | | |
| | | |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | QuotePage.oppId = null; |
| | | QuotePage.init(); |
| | | QuotePage.Save(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | |
| | | private static void test7(Opportunity opp, Quote quote , NewQuoteEntryController QuotePage) { |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | insert sellerA; |
| | | |
| | | //契約 |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account keiyaku = new Account(Name = '*'); |
| | | keiyaku.RecordTypeId = recKeiyaku.id; |
| | | keiyaku.Agent_Ref__c = sellerA.id; |
| | | keiyaku.ParentId = sellerA.id; |
| | | keiyaku.Delete_Flag__c = false; |
| | | insert keiyaku; |
| | | |
| | | |
| | | opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.AccountId = keiyaku.id; |
| | | opp.Hospital__c = keiyaku.id; |
| | | insert opp; |
| | | |
| | | delete quote; |
| | | |
| | | Product2 product1 = new Product2( Name = 'テスト商品'); |
| | | insert product1; |
| | | system.debug('##product.Id=[' + product1.Id + ']' ); |
| | | |
| | | PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id); |
| | | |
| | | pE.UnitPrice = 0; |
| | | pE.IsActive = true; |
| | | pE.UseStandardPrice = false; |
| | | pE.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE; |
| | | |
| | | OpportunityLineItem oli = new OpportunityLineItem(); |
| | | //target.QuoteId = input.Id; |
| | | oli.Quantity = 1; |
| | | // target.TotalPrice = 100; |
| | | oli.UnitPrice = 0; |
| | | oli.PricebookEntryId = pE.Id; |
| | | oli.OpportunityId = opp.id; |
| | | //oli.op |
| | | insert oli; |
| | | |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('oppid', opp.id); |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | QuotePage.oppId = null; |
| | | QuotePage.quoId = null; |
| | | QuotePage.init(); |
| | | QuotePage.Save(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | // OpportunityLineItem=0件のテスト |
| | | private static void test8(Opportunity opp, Quote quote , NewQuoteEntryController QuotePage) { |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1]; |
| | | Account hospital = new Account(Name = 'テスト病院'); |
| | | hospital.RecordTypeId = recByoin.id; |
| | | hospital.Site = 'テスト病院部門'; |
| | | hospital.Alias_Name2__c = 'テスト病院別名'; |
| | | // insert hospital; |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | // sellerA.Hospital__c = hospital.id; |
| | | insert sellerA; |
| | | |
| | | //契約 |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account keiyaku = new Account(Name = '*'); |
| | | keiyaku.RecordTypeId = recKeiyaku.id; |
| | | keiyaku.Agent_Ref__c = sellerA.id; |
| | | keiyaku.ParentId = sellerA.id; |
| | | keiyaku.Site = 'テスト病院部門'; |
| | | keiyaku.Delete_Flag__c = false; |
| | | insert keiyaku; |
| | | |
| | | |
| | | |
| | | opp = buildOppInstance( trade, CurrencyIso); |
| | | opp.Trade__c = trade; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.AccountId = keiyaku.id; |
| | | opp.Hospital__c = keiyaku.id; |
| | | insert opp; |
| | | |
| | | // delete quote; |
| | | |
| | | Product2 product1 = new Product2( Name = 'テスト商品'); |
| | | insert product1; |
| | | system.debug('##product.Id=[' + product1.Id + ']' ); |
| | | |
| | | PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id); |
| | | |
| | | pE.UnitPrice = 0; |
| | | pE.IsActive = true; |
| | | pE.UseStandardPrice = false; |
| | | pE.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE; |
| | | |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('oppid', opp.id); |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | QuotePage.oppId = null; |
| | | QuotePage.quoId = null; |
| | | QuotePage.init(); |
| | | QuotePage.Save(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | } |
| | | static testMethod void check_QuoteEntryController001() { |
| | | |
| | | RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1]; |
| | | Account hospital = new Account(Name = 'テスト病院'); |
| | | hospital.RecordTypeId = recByoin.id; |
| | | hospital.Site = 'テスト病院部門'; |
| | | hospital.Alias_Name2__c = 'テスト病院別名'; |
| | | insert hospital; |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | sellerA.Hospital__c = hospital.id; |
| | | insert sellerA; |
| | | |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account contractA = new Account(Name = '*'); |
| | | contractA.RecordTypeId = recKeiyaku.id; |
| | | contractA.Agent_Ref__c = sellerA.id; |
| | | contractA.ParentId = sellerA.id; |
| | | insert contractA; |
| | | |
| | | System.Test.startTest(); |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | Opportunity opp = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today()); |
| | | opp.Trade__c = '内貿'; |
| | | opp.CurrencyIsoCode = CurrencyIso; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.Purchase_Type__c = '一般引合'; |
| | | opp.Promise_Class__c = '内貿'; |
| | | opp.Fund_Basis__c = '政府資金'; |
| | | opp.AccountId = contractA.id; |
| | | opp.Hospital__c = contractA.id; |
| | | opp.Agency1__c = sellerA.id; |
| | | opp.Agency2__c = sellerA.id; |
| | | opp.Wholesale_Price__c = 9000; |
| | | insert opp; |
| | | |
| | | Product2 product1 = new Product2( Name = '11111'); |
| | | product1.SFDA_Status__c = '不要'; |
| | | product1.Intra_Trade_List_RMB_1__c = 100; |
| | | product1.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product1.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Manual_Entry__c = false; |
| | | product1.Asset_Model_No__c = '11111'; |
| | | product1.MDM_Model_No__c = '11111'; |
| | | product1.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | |
| | | product1.Estimated_ConsumptionDueDate__c = date.today(); //20211012 lt add |
| | | |
| | | insert product1; |
| | | system.debug('##product.Id=[' + product1.Id + ']' ); |
| | | |
| | | Product2 product2 = new Product2( Name = '11112'); |
| | | product2.SFDA_Status__c = '不要'; |
| | | product2.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product2.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Manual_Entry__c = false; |
| | | product2.Asset_Model_No__c = '11112'; |
| | | product2.MDM_Model_No__c = '11112'; |
| | | // product2.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | insert product2; |
| | | system.debug('##product1.Id=[' + product1.Id + ']' ); |
| | | system.debug('##product2.Id=[' + product2.Id + ']' ); |
| | | |
| | | PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id); |
| | | |
| | | pE.UnitPrice = 0; |
| | | pE.IsActive = true; |
| | | pE.UseStandardPrice = false; |
| | | pE.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE; |
| | | |
| | | PricebookEntry pE2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id); |
| | | |
| | | pE2.UnitPrice = 0; |
| | | pE2.IsActive = true; |
| | | pE2.UseStandardPrice = false; |
| | | pE2.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE2; |
| | | |
| | | OpportunityLineItem oli = new OpportunityLineItem(); |
| | | //target.QuoteId = input.Id; |
| | | oli.Quantity = 1; |
| | | // target.TotalPrice = 100; |
| | | oli.UnitPrice = 10; |
| | | oli.PricebookEntryId = pE.Id; |
| | | oli.OpportunityId = opp.id; |
| | | oli.Cost__c = 100; |
| | | //oli.op |
| | | insert oli; |
| | | |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | quote.QuoteName__c = 'テスト見積'; |
| | | quote.Dealer_Final_Price__c = 100; |
| | | quote.Quote_Adjust_Calculate__c = 10; |
| | | quote.Quote_Adjust_Amount__c = 10; |
| | | quote.OCM_Agent1_Price__c = 10; |
| | | quote.Agent1_Agent2_Price__c = 10; |
| | | |
| | | insert quote; |
| | | |
| | | // セット品 |
| | | Product_Set__c ps1 = new Product_Set__c(); |
| | | ps1.Name = 'セット品1'; |
| | | ps1.Product_Set_CD__c = '111111'; |
| | | ps1.Description__c = '説明'; |
| | | ps1.Qty__c = 10; |
| | | //ps1.Valid__c = true; |
| | | ps1.Valid_Date__c = date.today().addDays(-5); |
| | | insert ps1; |
| | | |
| | | Product_Set_Detail__c psd1 = new Product_Set_Detail__c(); |
| | | psd1.Product_Set__c = ps1.id; |
| | | psd1.Price__c = 100; |
| | | psd1.Quantity__c = 10; |
| | | psd1.Product__c = product1.id; |
| | | |
| | | insert psd1; |
| | | |
| | | //System.Test.startTest(); |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry?copyid='+quote.Id); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('oppid', opp.id); |
| | | NewQuoteEntryController controller = new NewQuoteEntryController(); |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | controller.oppId = null; |
| | | controller.quoId = null; |
| | | controller.enableSales = false; |
| | | controller.init(); |
| | | controller.dataCheck(); |
| | | controller.select_index = 0; |
| | | controller.Product_text = product1.id; |
| | | controller.setProduct_text = ps1.id; |
| | | controller.setProductEntry(); |
| | | // controller.settingProduct2(); |
| | | controller.OppReflection(); |
| | | controller.PriceStatusUpdate(); |
| | | controller.SalesId1 = sellerA.id; |
| | | controller.SalesId2 = sellerA.id; |
| | | controller.getSalesId1(); |
| | | controller.getSalesId2(); |
| | | controller.cancel(); |
| | | |
| | | Quote quoteAfterInsert = [SELECT OpportunityId, Pricebook2Id, Name, Quote_No__c, Unit_Price__c, Offer_Amount__c, TOTAL__c, |
| | | Discount__c, Pricing__c, Preferential_Trading_Price__c, Contract__c, Quote_Comment__c, |
| | | QuoteName__c, Dealer_Final_Price__c, Quote_Adjust_Calculate__c, Quote_Adjust_Amount__c, |
| | | OCM_Agent1_Price__c, Agent1_Agent2_Price__c |
| | | FROM Quote WHERE Id = :quote.id]; |
| | | system.assertEquals( quote.OCM_Agent1_Price__c, quoteAfterInsert.OCM_Agent1_Price__c); |
| | | |
| | | controller.enableSales = false; |
| | | controller.opp.Agency1__c = null; |
| | | controller.quo.OCM_Agent1_Price__c = null; |
| | | controller.opp.Agency2__c = null; |
| | | controller.quo.Agent1_Agent2_Price__c = null; |
| | | controller.quo.QuoteName__c = 'aaa'; |
| | | controller.quo.Dealer_Final_Price__c = 100; |
| | | controller.quo.Quote_Adjust_Calculate__c = 100; |
| | | controller.quo.Quote_Adjust_Amount__c = 10; |
| | | controller.quo.Quote_Expiration_Date__c = date.today(); |
| | | controller.oppId = opp.id; |
| | | // controller.PricebookId = pricebook.id; |
| | | NewQuoteEntryController.QELine act = new NewQuoteEntryController.QELine(oli, 0); |
| | | |
| | | act.Asset_Model = '11111'; |
| | | |
| | | act.pageObject.Quantity__c = 10; |
| | | act.pageObject.UnitPrice = 100; |
| | | act.pageObject.Subtotal__c = 1000; |
| | | act.pageObject.PricebookEntryId = pE2.id; |
| | | List<NewQuoteEntryController.QELine> actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.dataCheck(); |
| | | controller.quo.OCM_Agent1_Price_Page__c = 1243; |
| | | controller.dataEntry(); |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // QELine(QELine tmp, Integer i) 関数をテスト |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | act.Asset_Model = null; |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // dataCheckDecide関数をチェック |
| | | controller.enableSales = true; |
| | | controller.QuoteDecision = false; |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | System.Test.stopTest(); |
| | | |
| | | |
| | | } |
| | | //测试程序 测外贸 精琢技术 wql 2021/02/20 start |
| | | static testMethod void check_QuoteEntryController002() { |
| | | |
| | | RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1]; |
| | | Account hospital = new Account(Name = 'テスト病院'); |
| | | hospital.RecordTypeId = recByoin.id; |
| | | hospital.Site = 'テスト病院部門'; |
| | | hospital.Alias_Name2__c = 'テスト病院別名'; |
| | | insert hospital; |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | sellerA.Hospital__c = hospital.id; |
| | | insert sellerA; |
| | | |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account contractA = new Account(Name = '*'); |
| | | contractA.RecordTypeId = recKeiyaku.id; |
| | | contractA.Agent_Ref__c = sellerA.id; |
| | | contractA.ParentId = sellerA.id; |
| | | insert contractA; |
| | | |
| | | System.Test.startTest(); |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | Opportunity opp = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today()); |
| | | opp.Trade__c = '外貿'; |
| | | opp.CurrencyIsoCode = CurrencyIso; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.Purchase_Type__c = '一般引合'; |
| | | opp.Promise_Class__c = '外貿'; |
| | | opp.Fund_Basis__c = '政府資金'; |
| | | opp.AccountId = contractA.id; |
| | | opp.Hospital__c = contractA.id; |
| | | opp.Agency1__c = sellerA.id; |
| | | opp.Agency2__c = sellerA.id; |
| | | opp.Wholesale_Price__c = 9000; |
| | | insert opp; |
| | | |
| | | Product2 product1 = new Product2( Name = '11111'); |
| | | product1.SFDA_Status__c = '不要'; |
| | | product1.Intra_Trade_List_RMB_1__c = 100; |
| | | product1.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product1.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Manual_Entry__c = false; |
| | | product1.Asset_Model_No__c = '11111'; |
| | | product1.MDM_Model_No__c = '11111'; |
| | | product1.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | product1.Foreign_Trade_List_US_1__c = 200; |
| | | product1.Foreign_Trade_List_US_Date1__c =date.today(); |
| | | product1.Foreign_Trade_List_US_End_Date1__c =date.today().addDays(1); |
| | | product1.Foreign_Trade_Cost_US_1__c = 200; |
| | | product1.Foreign_Trade_Cost_US_Date1__c =date.today(); |
| | | product1.Foreign_Trade_Cost_US_End_Date1__c=date.today().addDays(1); |
| | | product1.LastbuyProductFLG__c=true; |
| | | insert product1; |
| | | system.debug('##product.Id=[' + product1.Id + ']' ); |
| | | |
| | | Product2 product2 = new Product2( Name = '11112'); |
| | | product2.SFDA_Status__c = '不要'; |
| | | product2.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product2.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Manual_Entry__c = false; |
| | | product2.Asset_Model_No__c = '11112'; |
| | | product2.MDM_Model_No__c = '11112'; |
| | | // product2.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | product2.Foreign_Trade_List_US_1__c = 200; |
| | | product2.Foreign_Trade_List_US_Date1__c =date.today(); |
| | | product2.Foreign_Trade_List_US_End_Date1__c =date.today().addDays(1); |
| | | product2.Foreign_Trade_Cost_US_1__c = 200; |
| | | product2.Foreign_Trade_Cost_US_Date1__c =date.today(); |
| | | product2.Foreign_Trade_Cost_US_End_Date1__c=date.today().addDays(1); |
| | | product2.LastbuyProductFLG__c=true; |
| | | insert product2; |
| | | system.debug('##product1.Id=[' + product1.Id + ']' ); |
| | | system.debug('##product2.Id=[' + product2.Id + ']' ); |
| | | |
| | | PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id); |
| | | |
| | | pE.UnitPrice = 0; |
| | | pE.IsActive = true; |
| | | pE.UseStandardPrice = false; |
| | | pE.CurrencyIsoCode = 'USD'; |
| | | //pE. |
| | | insert pE; |
| | | system.debug('##pE=[' + pE + ']' ); |
| | | PricebookEntry pE2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id); |
| | | |
| | | pE2.UnitPrice = 0; |
| | | pE2.IsActive = true; |
| | | pE2.UseStandardPrice = false; |
| | | pE2.CurrencyIsoCode = 'USD'; |
| | | //pE. |
| | | insert pE2; |
| | | |
| | | OpportunityLineItem oli = new OpportunityLineItem(); |
| | | //target.QuoteId = input.Id; |
| | | oli.Quantity = 1; |
| | | // target.TotalPrice = 100; |
| | | oli.UnitPrice = 10; |
| | | oli.PricebookEntryId = pE.Id; |
| | | oli.OpportunityId = opp.id; |
| | | oli.Cost__c = 100; |
| | | //oli.op |
| | | insert oli; |
| | | |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | quote.QuoteName__c = 'テスト見積'; |
| | | quote.Dealer_Final_Price__c = 100; |
| | | quote.Quote_Adjust_Calculate__c = 10; |
| | | quote.Quote_Adjust_Amount__c = 10; |
| | | quote.OCM_Agent1_Price__c = 10; |
| | | quote.Agent1_Agent2_Price__c = 10; |
| | | |
| | | insert quote; |
| | | //预留产品 |
| | | QuoteLineItem qa=new QuoteLineItem(); |
| | | qa.Name__c = 'テスト商品'; |
| | | qa.QuoteId = quote.Id; |
| | | qa.Quantity = 3; |
| | | qa.Cost_Subtotal__c = 0; |
| | | qa.Cost__c = 200; |
| | | qa.UnitPrice = 10; |
| | | qa.PricebookEntryId = pE.Id; |
| | | qa.Id__c=pE.Product2Id; |
| | | // target.TotalPrice = 100; |
| | | |
| | | insert qa; |
| | | QuoteLineItem qb=new QuoteLineItem(); |
| | | qb.Name__c = 'テスト商品'; |
| | | qb.QuoteId = quote.Id; |
| | | qb.Quantity = 3; |
| | | qb.Cost_Subtotal__c = 0; |
| | | qb.Cost__c = 200; |
| | | qb.UnitPrice = 10; |
| | | qb.PricebookEntryId = pE2.Id; |
| | | qb.Id__c=pE2.Product2Id; |
| | | |
| | | List<Id> QuoteLineItemList = new List<Id>(); |
| | | QuoteLineItemList.add(qa.Id); |
| | | QuoteLineItemList.add(qb.Id); |
| | | // List<QuoteLineItem> QuoteLineItemListss=[Select Id,Id__c, Asset_Model_No__c, SFDA_Status__c, Product_Sales_Possibility__c, |
| | | // //CHAN-BKU3XH 检查是否存在不是同一个供销商名称 精琢技术 2020/02/17 Start 增加字段 不可取消多年保&&增加检索阿西赛多 2020/09/10 |
| | | // Name__c, BSS_Category__c, Quote.Quote_Print_Date__c,PricebookEntry.Product2.VenderName__c,PricebookEntry.Product2.CanNotCancelledGurantee__c,PricebookEntry.Product2.Is_DangerousChemicals__c, |
| | | // //CHAN-BKU3XH 检查是否存在不是同一个供销商名称 精琢技术 2020/02/17 end 增加字段 |
| | | // Qty_Unit__c, Cost__c, UnitPrice__c, ListPrice__c, Quantity, TotalPrice__c, |
| | | // PricebookEntry.Product2.SFDA_Status__c, ProductCode__c, Product_Cost__c, Product_ListPrice__c, PricebookEntry.Product2.Sales_Possibility__c, PricebookEntry.Product2.Name, |
| | | // PricebookEntryId, PricebookEntry.Product2Id, UnitPrice_Page__c, PricebookEntry.Product2.Packing_list_manual__c, PricebookEntry.Product2.StorageStatus__c |
| | | // , AgencyUnitPrice__c, AgencySubtotal__c, Present__c // CHAN-B4YAB8 2018/9/29 赠送、经销商单价和小计 |
| | | // // 多年保修 start |
| | | // //ET促销标记 start |
| | | // , multiYearWarranty__c , If_Cancel_Guarantee__c , GuaranteePeriod__c, |
| | | // //ET促销标记 end |
| | | // ServicePrice__c , GuranteePrice__c, ProductEntend_gurantee_period_all__c, |
| | | // ProductGuranteePrice__c, GuranteeType__c, |
| | | // warrantyType__c, productServicePrice__c, NoDiscountTotal__c |
| | | // , provistonPeriod__c |
| | | // , PricebookEntry.Product2.Entend_gurantee_period_all__c |
| | | // , PricebookEntry.Product2.Intra_Trade_Gurantee_RMB__c |
| | | // , PricebookEntry.Product2.Intra_Trade_Service_RMB__c |
| | | // , PricebookEntry.Product2.GuranteeType__c |
| | | // // 维修合同报价 |
| | | // , PricebookEntry.Product2.Maintenance_Price_Year__c |
| | | // , Maintenance_Price_Year__c |
| | | // // 多年保修 end |
| | | // //外贸多年保 2021/01/04 精琢技术 wql start |
| | | // //维修合同报价(USD) |
| | | // ,PricebookEntry.Product2.Repair_Contract_USD__c |
| | | // //计提金额(不含税,USD) |
| | | // ,PricebookEntry.Product2.Intra_Trade_Foreign_RMB__c |
| | | // //NoDiscount 金额(USD) |
| | | // ,PricebookEntry.Product2.NoDiscount_Foreign__c |
| | | // ,Quote.Opportunity.Trade__c |
| | | // //外贸多年保 2021/01/04 精琢技术 wql end |
| | | |
| | | // //SFDC停止预警 lt 20211009 start |
| | | // ,PricebookEntry.Product2.Estimated_ConsumptionDueDate__c |
| | | // //SFDC停止预警 lt 20211009 end |
| | | // from QuoteLineItem where Id in :QuoteLineItemList]; |
| | | |
| | | LastbuyProduct__c lbp=new LastbuyProduct__c(); |
| | | lbp.effectiveFLG__c=true; |
| | | lbp.InquiryCode__c = opp.Id; |
| | | lbp.ProductName__c = product1.Id; |
| | | lbp.LastbuyQuantity__c=2; |
| | | insert lbp; |
| | | |
| | | // セット品 |
| | | Product_Set__c ps1 = new Product_Set__c(); |
| | | ps1.Name = 'セット品1'; |
| | | ps1.Product_Set_CD__c = '111111'; |
| | | ps1.Description__c = '説明'; |
| | | ps1.Qty__c = 10; |
| | | //ps1.Valid__c = true; |
| | | ps1.Valid_Date__c = date.today().addDays(-5); |
| | | insert ps1; |
| | | |
| | | Product_Set_Detail__c psd1 = new Product_Set_Detail__c(); |
| | | psd1.Product_Set__c = ps1.id; |
| | | psd1.Price__c = 100; |
| | | psd1.Quantity__c = 10; |
| | | psd1.Product__c = product1.id; |
| | | |
| | | insert psd1; |
| | | |
| | | //System.Test.startTest(); |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('oppid', opp.id); |
| | | NewQuoteEntryController controller = new NewQuoteEntryController(); |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | controller.oppId = null; |
| | | controller.quoId = null; |
| | | controller.enableSales = false; |
| | | controller.init(); |
| | | controller.dataCheck(); |
| | | controller.select_index = 0; |
| | | controller.Product_text = product1.id; |
| | | controller.setProduct_text = ps1.id; |
| | | controller.setProductEntry(); |
| | | // controller.settingProduct2(); |
| | | controller.OppReflection(); |
| | | controller.PriceStatusUpdate(); |
| | | controller.SalesId1 = sellerA.id; |
| | | controller.SalesId2 = sellerA.id; |
| | | controller.getSalesId1(); |
| | | controller.getSalesId2(); |
| | | controller.cancel(); |
| | | |
| | | Quote quoteAfterInsert = [SELECT OpportunityId, Pricebook2Id, Name, Quote_No__c, Unit_Price__c, Offer_Amount__c, TOTAL__c, |
| | | Discount__c, Pricing__c, Preferential_Trading_Price__c, Contract__c, Quote_Comment__c, |
| | | QuoteName__c, Dealer_Final_Price__c, Quote_Adjust_Calculate__c, Quote_Adjust_Amount__c, |
| | | OCM_Agent1_Price__c, Agent1_Agent2_Price__c |
| | | FROM Quote WHERE Id = :quote.id]; |
| | | system.assertEquals( quote.OCM_Agent1_Price__c, quoteAfterInsert.OCM_Agent1_Price__c); |
| | | |
| | | controller.enableSales = false; |
| | | controller.opp.Agency1__c = null; |
| | | controller.quo.OCM_Agent1_Price__c = null; |
| | | controller.opp.Agency2__c = null; |
| | | controller.quo.Agent1_Agent2_Price__c = null; |
| | | controller.quo.QuoteName__c = 'aaa'; |
| | | controller.quo.Dealer_Final_Price__c = 100; |
| | | controller.quo.Quote_Adjust_Calculate__c = 100; |
| | | controller.quo.Quote_Adjust_Amount__c = 10; |
| | | controller.quo.Quote_Expiration_Date__c = date.today(); |
| | | controller.oppId = opp.id; |
| | | // controller.PricebookId = pricebook.id; |
| | | |
| | | NewQuoteEntryController.QELine act = new NewQuoteEntryController.QELine(oli, 0); |
| | | |
| | | act.Asset_Model = '11111'; |
| | | |
| | | act.pageObject.Quantity__c = 10; |
| | | act.pageObject.UnitPrice = 100; |
| | | act.pageObject.Subtotal__c = 1000; |
| | | act.pageObject.PricebookEntryId = pE2.id; |
| | | system.debug('##act.pageObject=[' + act.pageObject + ']' ); |
| | | Integer ge=0; |
| | | List<NewQuoteEntryController.QELine> actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | // for(QuoteLineItem qqq : QuoteLineItemListss){ |
| | | // NewQuoteEntryController.QELine act2 = new NewQuoteEntryController.QELine(qqq, 0,''); |
| | | // if(ge== 0){ |
| | | // act2.Asset_Model = '11111'; |
| | | // }else if(ge== 1){ |
| | | // act2.Asset_Model = '22222'; |
| | | // } |
| | | // act2.pageObject=qqq; |
| | | // actList.add(act2); |
| | | // } |
| | | controller.activities = actList; |
| | | controller.dataCheck(); |
| | | controller.quo.OCM_Agent1_Price_Page__c = 1243; |
| | | controller.dataEntry(); |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | //报错 |
| | | // controller.ReservedProductVerification(); |
| | | // String[] azzz=new String[] {'1','2'}; |
| | | // System.debug(azzz[3]); |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // QELine(QELine tmp, Integer i) 関数をテスト |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | act.Asset_Model = null; |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // dataCheckDecide関数をチェック |
| | | controller.enableSales = true; |
| | | controller.QuoteDecision = false; |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | System.Test.stopTest(); |
| | | |
| | | |
| | | } |
| | | |
| | | static testMethod void dataEntryTest() { |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | StaticParameter.EscapeNFM001AgencyContractTrigger = true; |
| | | StaticParameter.EscapeAccountTrigger = true; |
| | | ControllerUtil.EscapeNFM001Trigger = true; |
| | | Oly_TriggerHandler.bypass('PowerBIBaseHandler'); |
| | | StaticParameter.EscapeSyncOpportunityTrigger = true; |
| | | StaticParameter.EscapeNFM007Trigger = true; |
| | | StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true; |
| | | Oly_TriggerHandler.bypass('AgencyOppUpdHandler'); |
| | | StaticParameter.EscapeSyncOpportunityTrigger = true; |
| | | StaticParameter.EscapeSyncProduct2Trigger = true; |
| | | Oly_TriggerHandler.bypass('PowerBIBaseHandler'); |
| | | |
| | | RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1]; |
| | | Account hospital = new Account(Name = 'テスト病院'); |
| | | hospital.RecordTypeId = recByoin.id; |
| | | hospital.Site = 'テスト病院部門'; |
| | | hospital.Alias_Name2__c = 'テスト病院別名'; |
| | | insert hospital; |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | sellerA.Hospital__c = hospital.id; |
| | | insert sellerA; |
| | | |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account contractA = new Account(Name = '*'); |
| | | contractA.RecordTypeId = recKeiyaku.id; |
| | | contractA.Agent_Ref__c = sellerA.id; |
| | | contractA.ParentId = sellerA.id; |
| | | insert contractA; |
| | | |
| | | Opportunity opp = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today()); |
| | | opp.Trade__c = '内貿'; |
| | | opp.CurrencyIsoCode = CurrencyIso; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.Fixed_Check__c = false; |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.Purchase_Type__c = '一般引合'; |
| | | opp.Promise_Class__c = '内貿'; |
| | | opp.Fund_Basis__c = '政府資金'; |
| | | opp.AccountId = contractA.id; |
| | | opp.Hospital__c = contractA.id; |
| | | opp.Agency1__c = sellerA.id; |
| | | opp.Agency2__c = sellerA.id; |
| | | opp.Wholesale_Price__c = 9000; |
| | | opp.Competitor__c = 'A1'; |
| | | insert opp; |
| | | |
| | | Product2 product1 = new Product2( Name = '11111'); |
| | | product1.SFDA_Status__c = '不要'; |
| | | product1.Intra_Trade_List_RMB_1__c = 100; |
| | | product1.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product1.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Manual_Entry__c = false; |
| | | product1.Asset_Model_No__c = '11111'; |
| | | product1.MDM_Model_No__c = '11111'; |
| | | product1.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | insert product1; |
| | | system.debug('##product.Id=[' + product1.Id + ']' ); |
| | | |
| | | Product2 product2 = new Product2( Name = '11112'); |
| | | product2.SFDA_Status__c = '不要'; |
| | | product2.Intra_Trade_List_RMB_1__c = 100; |
| | | product2.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product2.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Manual_Entry__c = false; |
| | | product2.Asset_Model_No__c = '11112'; |
| | | product2.MDM_Model_No__c = '11112'; |
| | | // product2.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | insert product2; |
| | | system.debug('##product1.Id=[' + product1.Id + ']' ); |
| | | system.debug('##product2.Id=[' + product2.Id + ']' ); |
| | | |
| | | PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id); |
| | | |
| | | pE.UnitPrice = 0; |
| | | pE.IsActive = true; |
| | | pE.UseStandardPrice = false; |
| | | pE.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE; |
| | | |
| | | PricebookEntry pE2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id); |
| | | |
| | | pE2.UnitPrice = 0; |
| | | pE2.IsActive = true; |
| | | pE2.UseStandardPrice = false; |
| | | pE2.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE2; |
| | | |
| | | OpportunityLineItem oli = new OpportunityLineItem(); |
| | | //target.QuoteId = input.Id; |
| | | oli.Quantity = 1; |
| | | // target.TotalPrice = 100; |
| | | oli.UnitPrice = 10; |
| | | oli.PricebookEntryId = pE.Id; |
| | | oli.OpportunityId = opp.id; |
| | | oli.Cost__c = 100; |
| | | //oli.op |
| | | insert oli; |
| | | |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | quote.QuoteName__c = 'テスト見積'; |
| | | quote.Dealer_Final_Price__c = 100; |
| | | quote.Quote_Adjust_Calculate__c = 10; |
| | | quote.Quote_Adjust_Amount__c = 10; |
| | | quote.OCM_Agent1_Price__c = 10; |
| | | quote.Agent1_Agent2_Price__c = 10; |
| | | |
| | | insert quote; |
| | | |
| | | // セット品 |
| | | Product_Set__c ps1 = new Product_Set__c(); |
| | | ps1.Name = 'セット品1'; |
| | | ps1.Product_Set_CD__c = '111111'; |
| | | ps1.Description__c = '説明'; |
| | | ps1.Qty__c = 10; |
| | | //ps1.Valid__c = true; |
| | | ps1.Valid_Date__c = date.today().addDays(-5); |
| | | insert ps1; |
| | | |
| | | Product_Set_Detail__c psd1 = new Product_Set_Detail__c(); |
| | | psd1.Product_Set__c = ps1.id; |
| | | psd1.Price__c = 100; |
| | | psd1.Quantity__c = 10; |
| | | psd1.Product__c = product1.id; |
| | | |
| | | insert psd1; |
| | | System.Test.startTest(); |
| | | //System.Test.startTest(); |
| | | //##ページデバッグセクション 開始 |
| | | // NewQuoteEntryController.QELine sqline = new NewQuoteEntryController.QELine(2, 'String VenderName', 'String ProductSetName', pE.id, 'String Asset_Model', 'String StorageStatus', ' String ProductCode', 'String Id_c', 'String SFDA_Status_c', 'String Sales_Possibility_c', 'String Name_c', 'String BSS_Category_c', 2, 123, 21, 312, 123, 1.1, 1.1, '', 1.1,0); |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('oppid', opp.id); |
| | | NewQuoteEntryController controller = new NewQuoteEntryController(); |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | controller.oppId = null; |
| | | controller.quoId = null; |
| | | controller.enableSales = false; |
| | | //System.Test.startTest(); |
| | | controller.init(); |
| | | controller.dataCheck(); |
| | | controller.select_index = 0; |
| | | controller.Product_text = product1.id; |
| | | controller.setProduct_text = ps1.id; |
| | | controller.setProductEntry(); |
| | | // controller.settingProduct2(); |
| | | controller.OppReflection(); |
| | | controller.PriceStatusUpdate(); |
| | | controller.SalesId1 = sellerA.id; |
| | | controller.SalesId2 = sellerA.id; |
| | | controller.getSalesId1(); |
| | | controller.getSalesId2(); |
| | | controller.cancel(); |
| | | |
| | | Quote quoteAfterInsert = [SELECT OpportunityId, Pricebook2Id, Name, Quote_No__c, Unit_Price__c, Offer_Amount__c, TOTAL__c, |
| | | Discount__c, Pricing__c, Preferential_Trading_Price__c, Contract__c, Quote_Comment__c, |
| | | QuoteName__c, Dealer_Final_Price__c, Quote_Adjust_Calculate__c, Quote_Adjust_Amount__c, |
| | | OCM_Agent1_Price__c, Agent1_Agent2_Price__c |
| | | FROM Quote WHERE Id = :quote.id]; |
| | | system.assertEquals( quote.OCM_Agent1_Price__c, quoteAfterInsert.OCM_Agent1_Price__c); |
| | | |
| | | controller.enableSales = false; |
| | | controller.opp.Agency1__c = null; |
| | | controller.quo.OCM_Agent1_Price__c = null; |
| | | controller.opp.Agency2__c = null; |
| | | controller.quo.Agent1_Agent2_Price__c = null; |
| | | controller.quo.QuoteName__c = 'aaa'; |
| | | controller.quo.Dealer_Final_Price_Page__c = 100; |
| | | controller.quo.Dealer_Final_Price__c = 100; |
| | | controller.qb.Quote_Adjust_Calculate = 100; |
| | | controller.quo.Quote_Adjust_Calculate__c = 100; |
| | | controller.quo.Quote_Adjust_Amount_Page__c = 10; |
| | | controller.quo.Quote_Adjust_Amount__c = 10; |
| | | controller.quo.Quote_Expiration_Date__c = date.today(); |
| | | controller.oppId = opp.id; |
| | | // controller.PricebookId = pricebook.id; |
| | | NewQuoteEntryController.QELine act = new NewQuoteEntryController.QELine(oli, 0); |
| | | |
| | | act.Asset_Model = '11111'; |
| | | |
| | | act.pageObject.Quantity__c = 10; |
| | | act.pageObject.UnitPrice_Page__c = 100; |
| | | act.pageObject.UnitPrice = 100; |
| | | act.pageObject.Subtotal__c = 1000; |
| | | act.pageObject.PricebookEntryId = pE2.id; |
| | | act.pageObject.Id__c = product2.id; |
| | | List<NewQuoteEntryController.QELine> actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.save(); |
| | | //controller.dataEntry(); |
| | | //controller.dataCheck(); |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // QELine(QELine tmp, Integer i) 関数をテスト |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | act.Asset_Model = null; |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | System.Test.stopTest(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // dataCheckDecide関数をチェック |
| | | controller.enableSales = true; |
| | | controller.QuoteDecision = false; |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | controller.testI(); |
| | | controller.getHiddenSaveBtn(); |
| | | controller.rowIdx = 10; |
| | | controller.addRow(); |
| | | controller.PriceStatusUpdate(); |
| | | //##ページデバッグセクション 終了 |
| | | |
| | | //System.Test.stopTest(); |
| | | } |
| | | } |
| | | |
| | | //测试阿西赛多 测试程序 精琢技术 wql 2021/02/20 start |
| | | static testMethod void check_QuoteEntryController003() { |
| | | |
| | | RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1]; |
| | | Account hospital = new Account(Name = 'テスト病院'); |
| | | hospital.RecordTypeId = recByoin.id; |
| | | hospital.Site = 'テスト病院部門'; |
| | | hospital.Alias_Name2__c = 'テスト病院別名'; |
| | | insert hospital; |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | sellerA.Hospital__c = hospital.id; |
| | | insert sellerA; |
| | | |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account contractA = new Account(Name = '*'); |
| | | contractA.RecordTypeId = recKeiyaku.id; |
| | | contractA.Agent_Ref__c = sellerA.id; |
| | | contractA.ParentId = sellerA.id; |
| | | insert contractA; |
| | | |
| | | System.Test.startTest(); |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | Opportunity opp = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today()); |
| | | opp.Trade__c = '内貿'; |
| | | opp.CurrencyIsoCode = CurrencyIso; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.Purchase_Type__c = '一般引合'; |
| | | opp.Promise_Class__c = '内貿'; |
| | | opp.Fund_Basis__c = '政府資金'; |
| | | opp.AccountId = hospital.id; |
| | | opp.Hospital__c = contractA.id; |
| | | opp.Agency1__c = sellerA.id; |
| | | opp.Agency2__c = sellerA.id; |
| | | opp.Wholesale_Price__c = 9000; |
| | | //阿西赛多 |
| | | opp.Is_Corrosion__c = true; |
| | | opp.Purchase_Type__c ='ET24時間販売'; |
| | | opp.SAP_Province__c='上海市'; |
| | | insert opp; |
| | | |
| | | Product2 product1 = new Product2( Name = '11111'); |
| | | product1.SFDA_Status__c = '不要'; |
| | | product1.Intra_Trade_List_RMB_1__c = 100; |
| | | product1.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product1.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Manual_Entry__c = false; |
| | | product1.Asset_Model_No__c = '11111'; |
| | | product1.MDM_Model_No__c = '11111'; |
| | | product1.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | product1.Is_DangerousChemicals__c = true; |
| | | insert product1; |
| | | system.debug('##product.Id=[' + product1.Id + ']' ); |
| | | |
| | | Product2 product2 = new Product2( Name = '11112'); |
| | | product2.SFDA_Status__c = '不要'; |
| | | product2.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product2.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Manual_Entry__c = false; |
| | | product2.Asset_Model_No__c = '11112'; |
| | | product2.MDM_Model_No__c = '11112'; |
| | | product2.Is_DangerousChemicals__c = true; |
| | | // product2.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | insert product2; |
| | | system.debug('##product1.Id=[' + product1.Id + ']' ); |
| | | system.debug('##product2.Id=[' + product2.Id + ']' ); |
| | | |
| | | PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id); |
| | | |
| | | pE.UnitPrice = 0; |
| | | pE.IsActive = true; |
| | | pE.UseStandardPrice = false; |
| | | pE.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE; |
| | | |
| | | PricebookEntry pE2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id); |
| | | |
| | | pE2.UnitPrice = 0; |
| | | pE2.IsActive = true; |
| | | pE2.UseStandardPrice = false; |
| | | pE2.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE2; |
| | | |
| | | OpportunityLineItem oli = new OpportunityLineItem(); |
| | | //target.QuoteId = input.Id; |
| | | oli.Quantity = 1; |
| | | // target.TotalPrice = 100; |
| | | oli.UnitPrice = 10; |
| | | oli.PricebookEntryId = pE.Id; |
| | | oli.OpportunityId = opp.id; |
| | | oli.Cost__c = 100; |
| | | |
| | | insert oli; |
| | | |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | quote.QuoteName__c = 'テスト見積'; |
| | | quote.Dealer_Final_Price__c = 100; |
| | | quote.Quote_Adjust_Calculate__c = 10; |
| | | quote.Quote_Adjust_Amount__c = 10; |
| | | quote.OCM_Agent1_Price__c = 10; |
| | | quote.Agent1_Agent2_Price__c = 10; |
| | | quote.Agency1__c =sellerA.id; |
| | | quote.Agency2__c =sellerA.id; |
| | | |
| | | insert quote; |
| | | |
| | | // セット品 |
| | | Product_Set__c ps1 = new Product_Set__c(); |
| | | ps1.Name = 'セット品1'; |
| | | ps1.Product_Set_CD__c = '111111'; |
| | | ps1.Description__c = '説明'; |
| | | ps1.Qty__c = 10; |
| | | //ps1.Valid__c = true; |
| | | ps1.Valid_Date__c = date.today().addDays(-5); |
| | | insert ps1; |
| | | |
| | | Product_Set_Detail__c psd1 = new Product_Set_Detail__c(); |
| | | psd1.Product_Set__c = ps1.id; |
| | | psd1.Price__c = 100; |
| | | psd1.Quantity__c = 10; |
| | | psd1.Product__c = product1.id; |
| | | |
| | | insert psd1; |
| | | |
| | | //System.Test.startTest(); |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('oppid', opp.id); |
| | | NewQuoteEntryController controller = new NewQuoteEntryController(); |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | // controller.oppId = opp.id; |
| | | // controller.quoId = quote.id; |
| | | controller.oppId = null; |
| | | controller.quoId = null; |
| | | controller.enableSales = false; |
| | | controller.init(); |
| | | //system.assertEquals( opp.Agency1__c,sellerA.id ); |
| | | |
| | | controller.dataCheck(); |
| | | controller.select_index = 0; |
| | | controller.Product_text = product1.id; |
| | | controller.setProduct_text = ps1.id; |
| | | controller.setProductEntry(); |
| | | // controller.settingProduct2(); |
| | | controller.OppReflection(); |
| | | controller.PriceStatusUpdate(); |
| | | controller.SalesId1 = sellerA.id; |
| | | controller.SalesId2 = sellerA.id; |
| | | controller.getSalesId1(); |
| | | controller.getSalesId2(); |
| | | controller.cancel(); |
| | | controller.quo.QuoteName__c = 'aaa'; |
| | | controller.quo.Dealer_Final_Price_Page__c = 100; |
| | | controller.quo.Dealer_Final_Price__c = 100; |
| | | controller.qb.Quote_Adjust_Calculate = 100; |
| | | controller.quo.Quote_Adjust_Calculate__c = 100; |
| | | controller.quo.Quote_Adjust_Amount_Page__c = 10; |
| | | controller.quo.Quote_Adjust_Amount__c = 10; |
| | | controller.quo.Quote_Expiration_Date__c = date.today(); |
| | | controller.opp.Agency1__c = sellerA.id; |
| | | //controller.quo.Agency1__c = sellerA.id; |
| | | controller.oppId = opp.id; |
| | | |
| | | Quote quoteAfterInsert = [SELECT OpportunityId, Pricebook2Id, Name, Quote_No__c, Unit_Price__c, Offer_Amount__c, TOTAL__c, |
| | | Discount__c, Pricing__c, Preferential_Trading_Price__c, Contract__c, Quote_Comment__c, |
| | | QuoteName__c, Dealer_Final_Price__c, Quote_Adjust_Calculate__c, Quote_Adjust_Amount__c, |
| | | OCM_Agent1_Price__c, Agent1_Agent2_Price__c |
| | | FROM Quote WHERE Id = :quote.id]; |
| | | system.assertEquals( quote.OCM_Agent1_Price__c, quoteAfterInsert.OCM_Agent1_Price__c); |
| | | |
| | | controller.enableSales = false; |
| | | controller.opp.Agency1__c = sellerA.id; |
| | | controller.quo.OCM_Agent1_Price__c = 100; |
| | | controller.opp.Agency2__c = sellerA.id; |
| | | controller.quo.Agent1_Agent2_Price__c = 100; |
| | | controller.quo.QuoteName__c = 'aaa'; |
| | | controller.quo.Dealer_Final_Price__c = 100; |
| | | controller.quo.Quote_Adjust_Calculate__c = 100; |
| | | controller.quo.Quote_Adjust_Amount__c = 10; |
| | | controller.quo.Quote_Expiration_Date__c = date.today(); |
| | | controller.oppId = opp.id; |
| | | // controller.PricebookId = pricebook.id; |
| | | NewQuoteEntryController.QELine act = new NewQuoteEntryController.QELine(oli, 0); |
| | | |
| | | act.Asset_Model = '11111'; |
| | | |
| | | act.pageObject.Quantity__c = 10; |
| | | act.pageObject.UnitPrice = 100; |
| | | act.pageObject.Subtotal__c = 1000; |
| | | act.pageObject.PricebookEntryId = pE2.id; |
| | | act.pageObject.SFDA_Status__c = '有効'; |
| | | act.pageObject.UnitPrice_Page__c = 100; |
| | | act.pageObject.AgencyUnitPrice__c = 100; |
| | | List<NewQuoteEntryController.QELine> actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.dataCheck(); |
| | | controller.quo.OCM_Agent1_Price_Page__c = 1243; |
| | | controller.dataEntry(); |
| | | controller.opp.Agency1__c = sellerA.id; |
| | | controller.quo.OCM_Agent1_Price__c = 100; |
| | | controller.opp.Agency2__c = sellerA.id; |
| | | controller.quo.Agent1_Agent2_Price__c = 100; |
| | | controller.Save(); |
| | | controller.QuoteDecision(); |
| | | //system.assertEquals( opp.Agency1__c,sellerA.id ); |
| | | controller.Print(); |
| | | |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // QELine(QELine tmp, Integer i) 関数をテスト |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | act.Asset_Model = null; |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // dataCheckDecide関数をチェック |
| | | controller.enableSales = true; |
| | | controller.QuoteDecision = false; |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | //##ページデバッグセクション 終了 |
| | | } |
| | | System.Test.stopTest(); |
| | | |
| | | |
| | | } |
| | | //测试阿西赛多 测试程序 精琢技术 wql 2021/02/20 end |
| | | |
| | | //20211015 lt start |
| | | static testMethod void check_QuoteEntryController004() { |
| | | |
| | | RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1]; |
| | | Account hospital = new Account(Name = 'テスト病院'); |
| | | hospital.RecordTypeId = recByoin.id; |
| | | hospital.Site = 'テスト病院部門'; |
| | | hospital.Alias_Name2__c = 'テスト病院別名'; |
| | | insert hospital; |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | sellerA.Hospital__c = hospital.id; |
| | | insert sellerA; |
| | | |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account contractA = new Account(Name = '*'); |
| | | contractA.RecordTypeId = recKeiyaku.id; |
| | | contractA.Agent_Ref__c = sellerA.id; |
| | | contractA.ParentId = sellerA.id; |
| | | insert contractA; |
| | | |
| | | System.Test.startTest(); |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | Opportunity opp = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today()); |
| | | opp.Trade__c = '内貿'; |
| | | opp.CurrencyIsoCode = CurrencyIso; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Fixed_Check__c = false; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.Purchase_Type__c = '一般引合'; |
| | | opp.Promise_Class__c = '内貿'; |
| | | opp.Fund_Basis__c = '政府資金'; |
| | | opp.AccountId = hospital.id; |
| | | //opp.Hospital__c = contractA.id; |
| | | opp.Agency1__c = sellerA.id; |
| | | opp.Agency2__c = sellerA.id; |
| | | opp.Wholesale_Price__c = 9000; |
| | | //阿西赛多 |
| | | opp.Is_Corrosion__c = true; |
| | | opp.Purchase_Type__c ='ET24時間販売'; |
| | | opp.SAP_Province__c='上海市'; |
| | | |
| | | opp.Authorized_Finish_Sales__c = '111'; //20211019 |
| | | |
| | | insert opp; |
| | | |
| | | Product2 product1 = new Product2( Name = '11111'); |
| | | product1.SFDA_Status__c = '不要'; |
| | | product1.Intra_Trade_List_RMB_1__c = 100; |
| | | product1.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product1.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Manual_Entry__c = false; |
| | | product1.Asset_Model_No__c = '11111'; |
| | | product1.MDM_Model_No__c = '11111'; |
| | | product1.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | product1.Is_DangerousChemicals__c = true; |
| | | insert product1; |
| | | system.debug('##product.Id=[' + product1.Id + ']' ); |
| | | |
| | | Product2 product2 = new Product2( Name = '11112'); |
| | | product2.SFDA_Status__c = '不要'; |
| | | product2.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product2.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Manual_Entry__c = false; |
| | | product2.Asset_Model_No__c = '11112'; |
| | | product2.MDM_Model_No__c = '11112'; |
| | | product2.Is_DangerousChemicals__c = true; |
| | | // product2.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | insert product2; |
| | | system.debug('##product1.Id=[' + product1.Id + ']' ); |
| | | system.debug('##product2.Id=[' + product2.Id + ']' ); |
| | | |
| | | PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id); |
| | | |
| | | pE.UnitPrice = 0; |
| | | pE.IsActive = true; |
| | | pE.UseStandardPrice = false; |
| | | pE.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE; |
| | | |
| | | PricebookEntry pE2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id); |
| | | |
| | | pE2.UnitPrice = 0; |
| | | pE2.IsActive = true; |
| | | pE2.UseStandardPrice = false; |
| | | pE2.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE2; |
| | | |
| | | OpportunityLineItem oli = new OpportunityLineItem(); |
| | | //target.QuoteId = input.Id; |
| | | oli.Quantity = 1; |
| | | // target.TotalPrice = 100; |
| | | oli.UnitPrice = 10; |
| | | oli.PricebookEntryId = pE.Id; |
| | | oli.OpportunityId = opp.id; |
| | | oli.Cost__c = 100; |
| | | |
| | | insert oli; |
| | | |
| | | //quote.Quote_No__c = quoteNo; |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = opp.Opportunity_No__c+'-01'; |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | quote.QuoteName__c = 'テスト見積'; |
| | | quote.Dealer_Final_Price__c = 100; |
| | | quote.Quote_Adjust_Calculate__c = 10; |
| | | quote.Quote_Adjust_Amount__c = 10; |
| | | quote.OCM_Agent1_Price__c = 10; |
| | | quote.Agent1_Agent2_Price__c = 10; |
| | | quote.Agency1__c =sellerA.id; |
| | | quote.Agency2__c =sellerA.id; |
| | | //quote.DeveloperName = 'SI_Oppor'; //20211019 |
| | | |
| | | insert quote; |
| | | |
| | | Quote quote1 = new Quote( Name = 'テスト見積'); |
| | | quote1.OpportunityId = opp.Id; |
| | | quote1.Pricebook2Id = pricebook.id; |
| | | //quote1.Quote_No__c = quoteNo; |
| | | quote1.Unit_Price__c = isUnitPrice; |
| | | quote1.Offer_Amount__c = isOfferAmount; |
| | | quote1.TOTAL__c = isTotalPrice; |
| | | quote1.Discount__c = isDiscountRate; |
| | | quote1.Pricing__c = isDiscountAmount; |
| | | quote1.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote1.Contract__c = isContractDetail; |
| | | quote1.Quote_Comment__c = offerComment; |
| | | quote1.QuoteName__c = 'テスト見積'; |
| | | quote1.Dealer_Final_Price__c = 100; |
| | | quote1.Quote_Adjust_Calculate__c = 10; |
| | | quote1.Quote_Adjust_Amount__c = 10; |
| | | quote1.OCM_Agent1_Price__c = 10; |
| | | quote1.Agent1_Agent2_Price__c = 10; |
| | | quote1.Agency1__c =sellerA.id; |
| | | quote1.Agency2__c =sellerA.id; |
| | | |
| | | insert quote1; |
| | | |
| | | // セット品 |
| | | Product_Set__c ps1 = new Product_Set__c(); |
| | | ps1.Name = 'セット品1'; |
| | | ps1.Product_Set_CD__c = '111111'; |
| | | ps1.Description__c = '説明'; |
| | | ps1.Qty__c = 10; |
| | | //ps1.Valid__c = true; |
| | | ps1.Valid_Date__c = date.today().addDays(-5); |
| | | insert ps1; |
| | | |
| | | Product_Set_Detail__c psd1 = new Product_Set_Detail__c(); |
| | | psd1.Product_Set__c = ps1.id; |
| | | psd1.Price__c = 100; |
| | | psd1.Quantity__c = 10; |
| | | psd1.Product__c = product1.id; |
| | | |
| | | insert psd1; |
| | | |
| | | //System.Test.startTest(); |
| | | //##ページデバッグセクション 開始 |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('oppid', opp.id); |
| | | NewQuoteEntryController controller = new NewQuoteEntryController(); |
| | | |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | // controller.oppId = opp.id; |
| | | // controller.quoId = quote.id; |
| | | controller.oppId = null; |
| | | controller.quoId = null; |
| | | controller.enableSales = false; |
| | | controller.init(); |
| | | //system.assertEquals( opp.Agency1__c,sellerA.id ); |
| | | |
| | | controller.dataCheck(); |
| | | controller.select_index = 0; |
| | | controller.Product_text = product1.id; |
| | | controller.setProduct_text = ps1.id; |
| | | controller.setProductEntry(); |
| | | // controller.settingProduct2(); |
| | | controller.OppReflection(); |
| | | controller.PriceStatusUpdate(); |
| | | controller.SalesId1 = sellerA.id; |
| | | controller.SalesId2 = sellerA.id; |
| | | controller.getSalesId1(); |
| | | controller.getSalesId2(); |
| | | controller.cancel(); |
| | | controller.quo.QuoteName__c = 'aaa'; |
| | | controller.quo.Dealer_Final_Price_Page__c = 100; |
| | | controller.quo.Dealer_Final_Price__c = 100; |
| | | controller.qb.Quote_Adjust_Calculate = 100; |
| | | controller.quo.Quote_Adjust_Calculate__c = 100; |
| | | controller.quo.Quote_Adjust_Amount_Page__c = 10; |
| | | controller.quo.Quote_Adjust_Amount__c = 10; |
| | | controller.quo.Quote_Expiration_Date__c = date.today(); |
| | | controller.opp.Agency1__c = sellerA.id; |
| | | //controller.quo.Agency1__c = sellerA.id; |
| | | controller.oppId = opp.id; |
| | | |
| | | Quote quoteAfterInsert = [SELECT OpportunityId, Pricebook2Id, Name, Quote_No__c, Unit_Price__c, Offer_Amount__c, TOTAL__c, |
| | | Discount__c, Pricing__c, Preferential_Trading_Price__c, Contract__c, Quote_Comment__c, |
| | | QuoteName__c, Dealer_Final_Price__c, Quote_Adjust_Calculate__c, Quote_Adjust_Amount__c, |
| | | OCM_Agent1_Price__c, Agent1_Agent2_Price__c |
| | | FROM Quote WHERE Id = :quote.id]; |
| | | system.assertEquals( quote.OCM_Agent1_Price__c, quoteAfterInsert.OCM_Agent1_Price__c); |
| | | |
| | | controller.enableSales = false; |
| | | controller.opp.Agency1__c = sellerA.id; |
| | | controller.quo.OCM_Agent1_Price__c = 100; |
| | | controller.opp.Agency2__c = sellerA.id; |
| | | controller.quo.Agent1_Agent2_Price__c = 100; |
| | | controller.quo.QuoteName__c = 'aaa'; |
| | | controller.quo.Dealer_Final_Price__c = 100; |
| | | controller.quo.Quote_Adjust_Calculate__c = 100; |
| | | controller.quo.Quote_Adjust_Amount__c = 10; |
| | | controller.quo.Quote_Expiration_Date__c = date.today(); |
| | | controller.oppId = opp.id; |
| | | // controller.PricebookId = pricebook.id; |
| | | NewQuoteEntryController.QELine act = new NewQuoteEntryController.QELine(oli, 0); |
| | | |
| | | act.Asset_Model = '11111'; |
| | | |
| | | act.pageObject.Quantity__c = 10; |
| | | act.pageObject.UnitPrice = 100; |
| | | act.pageObject.Subtotal__c = 1000; |
| | | act.pageObject.PricebookEntryId = pE2.id; |
| | | act.pageObject.SFDA_Status__c = '有効'; |
| | | act.pageObject.UnitPrice_Page__c = 100; |
| | | act.pageObject.AgencyUnitPrice__c = 100; |
| | | List<NewQuoteEntryController.QELine> actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.dataCheck(); |
| | | controller.quo.OCM_Agent1_Price_Page__c = 1243; |
| | | controller.dataEntry(); |
| | | controller.opp.Agency1__c = sellerA.id; |
| | | controller.quo.OCM_Agent1_Price__c = 100; |
| | | controller.opp.Agency2__c = sellerA.id; |
| | | controller.quo.Agent1_Agent2_Price__c = 100; |
| | | controller.Save(); |
| | | controller.QuoteDecision(); |
| | | //system.assertEquals( opp.Agency1__c,sellerA.id ); |
| | | controller.Print(); |
| | | |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | controller.Back(); |
| | | controller.Jump(); |
| | | |
| | | |
| | | // QELine(QELine tmp, Integer i) 関数をテスト |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | //act.Asset_Model = null; //20211025 |
| | | act.Asset_Model = '123'; //20211025 |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // dataCheckDecide関数をチェック |
| | | controller.enableSales = true; |
| | | controller.QuoteDecision = true; |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | //##ページデバッグセクション 終了 |
| | | |
| | | } |
| | | System.Test.stopTest(); |
| | | |
| | | |
| | | } |
| | | |
| | | static testMethod void dataEntryTest1() { |
| | | Profile p = [select Id from Profile where id = :System.Label.ProfileId_SystemAdmin]; |
| | | User MacOwner = new User(Test_staff__c = true, Batch_User__c = true, LastName = 'hp1', FirstName = 'owner1', Alias = 'hp', CommunityNickname = 'hpOwner1', Email = 'olympus_hpowner@sunbridge.com', Username = 'olympus_hpowner@sunbridge.com1', IsActive = true, EmailEncodingKey = 'ISO-2022-JP', TimeZoneSidKey = 'Asia/Tokyo', LocaleSidKey = 'ja_JP', LanguageLocaleKey = 'ja', ProfileId = p.id); |
| | | system.runAs(MacOwner) { |
| | | StaticParameter.EscapeNFM001AgencyContractTrigger = true; |
| | | StaticParameter.EscapeAccountTrigger = true; |
| | | ControllerUtil.EscapeNFM001Trigger = true; |
| | | Oly_TriggerHandler.bypass('PowerBIBaseHandler'); |
| | | StaticParameter.EscapeSyncOpportunityTrigger = true; |
| | | StaticParameter.EscapeNFM007Trigger = true; |
| | | StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true; |
| | | Oly_TriggerHandler.bypass('AgencyOppUpdHandler'); |
| | | StaticParameter.EscapeSyncOpportunityTrigger = true; |
| | | StaticParameter.EscapeSyncProduct2Trigger = true; |
| | | Oly_TriggerHandler.bypass('PowerBIBaseHandler'); |
| | | |
| | | RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1]; |
| | | Account hospital = new Account(Name = 'テスト病院'); |
| | | hospital.RecordTypeId = recByoin.id; |
| | | hospital.Site = 'テスト病院部門'; |
| | | hospital.Alias_Name2__c = 'テスト病院別名'; |
| | | insert hospital; |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | sellerA.Hospital__c = hospital.id; |
| | | insert sellerA; |
| | | |
| | | RecordType recKeiyaku = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_KEIYAKU limit 1]; |
| | | Account contractA = new Account(Name = '*'); |
| | | contractA.RecordTypeId = recKeiyaku.id; |
| | | contractA.Agent_Ref__c = sellerA.id; |
| | | contractA.ParentId = sellerA.id; |
| | | insert contractA; |
| | | |
| | | //20211025 lt |
| | | Account ac = new Account(); |
| | | ac.name = '123'; |
| | | ac.ParentId = sellerA.id; |
| | | |
| | | insert ac; |
| | | //20211025 lt |
| | | |
| | | Opportunity opp = new Opportunity( Name = 'aiueo', StageName = 'contact', CloseDate = Date.today()); |
| | | opp.Trade__c = '内貿'; |
| | | opp.CurrencyIsoCode = CurrencyIso; |
| | | opp.Sales_Root__c = '販売店'; |
| | | opp.StageName = '引合'; |
| | | opp.Fixed_Check__c = false; |
| | | opp.owner_not_automatically_update__c = true; |
| | | opp.Pricebook2Id = pricebook.id; |
| | | opp.Purchase_Type__c = '一般引合'; |
| | | opp.Promise_Class__c = '内貿'; |
| | | opp.Fund_Basis__c = '政府資金'; |
| | | opp.AccountId = sellerA.id; //20211025 |
| | | opp.AccountId = hospital.id; |
| | | opp.Hospital__c = contractA.id; |
| | | opp.Agency1__c = sellerA.id; |
| | | opp.Agency2__c = sellerA.id; |
| | | opp.Wholesale_Price__c = 9000; |
| | | opp.Competitor__c = 'A1'; |
| | | opp.SAP_Province__c='上海市'; //20211022 |
| | | opp.Purchase_Type__c ='ET24時間販売'; //20211022 |
| | | opp.Is_Corrosion__c = false; //20211022 |
| | | |
| | | opp.Authorized_Finish_Sales__c = '111'; //20211025 |
| | | |
| | | insert opp; |
| | | |
| | | Product2 product1 = new Product2( Name = '11111'); |
| | | product1.SFDA_Status__c = '不要'; |
| | | product1.Intra_Trade_List_RMB_1__c = 100; |
| | | product1.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product1.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product1.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product1.Manual_Entry__c = false; |
| | | product1.Asset_Model_No__c = '11111'; |
| | | product1.MDM_Model_No__c = '11111'; |
| | | product1.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | insert product1; |
| | | system.debug('##product.Id=[' + product1.Id + ']' ); |
| | | |
| | | Product2 product2 = new Product2( Name = '11112'); |
| | | product2.SFDA_Status__c = '不要'; |
| | | product2.Intra_Trade_List_RMB_1__c = 100; |
| | | product2.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product2.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Manual_Entry__c = false; |
| | | product2.Asset_Model_No__c = '11112'; |
| | | product2.MDM_Model_No__c = '11112'; |
| | | // product2.ProductCode = 'OTV-SP1H-NA-12E'; |
| | | insert product2; |
| | | system.debug('##product1.Id=[' + product1.Id + ']' ); |
| | | system.debug('##product2.Id=[' + product2.Id + ']' ); |
| | | |
| | | PricebookEntry pE = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product1.Id); |
| | | |
| | | pE.UnitPrice = 0; |
| | | pE.IsActive = true; |
| | | pE.UseStandardPrice = false; |
| | | pE.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE; |
| | | |
| | | PricebookEntry pE2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id); |
| | | |
| | | pE2.UnitPrice = 0; |
| | | pE2.IsActive = true; |
| | | pE2.UseStandardPrice = false; |
| | | pE2.CurrencyIsoCode = CurrencyIso; |
| | | //pE. |
| | | insert pE2; |
| | | |
| | | OpportunityLineItem oli = new OpportunityLineItem(); |
| | | //target.QuoteId = input.Id; |
| | | oli.Quantity = 1; |
| | | // target.TotalPrice = 100; |
| | | oli.UnitPrice = 10; |
| | | oli.PricebookEntryId = pE.Id; |
| | | oli.OpportunityId = opp.id; |
| | | oli.Cost__c = 100; |
| | | //oli.op |
| | | insert oli; |
| | | |
| | | Quote quote = new Quote( Name = 'テスト見積'); |
| | | quote.OpportunityId = opp.Id; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | quote.Unit_Price__c = isUnitPrice; |
| | | quote.Offer_Amount__c = isOfferAmount; |
| | | quote.TOTAL__c = isTotalPrice; |
| | | quote.Discount__c = isDiscountRate; |
| | | quote.Pricing__c = isDiscountAmount; |
| | | quote.Preferential_Trading_Price__c = isTradingPrice; |
| | | quote.Contract__c = isContractDetail; |
| | | quote.Quote_Comment__c = offerComment; |
| | | quote.QuoteName__c = 'テスト見積'; |
| | | quote.Dealer_Final_Price__c = 100; |
| | | quote.Quote_Adjust_Calculate__c = 10; |
| | | quote.Quote_Adjust_Amount__c = 10; |
| | | quote.OCM_Agent1_Price__c = 10; |
| | | quote.Agent1_Agent2_Price__c = 10; |
| | | |
| | | insert quote; |
| | | |
| | | // セット品 |
| | | Product_Set__c ps1 = new Product_Set__c(); |
| | | ps1.Name = 'セット品1'; |
| | | ps1.Product_Set_CD__c = '111111'; |
| | | ps1.Description__c = '説明'; |
| | | ps1.Qty__c = 10; |
| | | //ps1.Valid__c = true; |
| | | ps1.Valid_Date__c = date.today().addDays(-5); |
| | | insert ps1; |
| | | |
| | | Product_Set_Detail__c psd1 = new Product_Set_Detail__c(); |
| | | psd1.Product_Set__c = ps1.id; |
| | | psd1.Price__c = 100; |
| | | psd1.Quantity__c = 10; |
| | | psd1.Product__c = product1.id; |
| | | |
| | | insert psd1; |
| | | System.Test.startTest(); |
| | | //System.Test.startTest(); |
| | | //##ページデバッグセクション 開始 |
| | | // NewQuoteEntryController.QELine sqline = new NewQuoteEntryController.QELine(2, 'String VenderName', 'String ProductSetName', pE.id, 'String Asset_Model', 'String StorageStatus', ' String ProductCode', 'String Id_c', 'String SFDA_Status_c', 'String Sales_Possibility_c', 'String Name_c', 'String BSS_Category_c', 2, 123, 21, 312, 123, 1.1, 1.1, '', 1.1,0); |
| | | PageReference page = new PageReference('/apex/NewQuoteEntry'); |
| | | System.Test.setCurrentPage(page); |
| | | |
| | | Apexpages.currentPage().getParameters().put('oppid', opp.id); |
| | | NewQuoteEntryController controller = new NewQuoteEntryController(); |
| | | //Apexpages.currentPage().getParameters().put('id', quote.id); |
| | | controller.oppId = null; |
| | | controller.quoId = null; |
| | | controller.enableSales = false; |
| | | //System.Test.startTest(); |
| | | controller.init(); |
| | | controller.select_index = 0; |
| | | controller.Product_text = product1.id; |
| | | controller.setProduct_text = ps1.id; |
| | | controller.setProductEntry(); |
| | | // controller.settingProduct2(); |
| | | controller.OppReflection(); |
| | | controller.PriceStatusUpdate(); |
| | | controller.SalesId1 = sellerA.id; |
| | | controller.SalesId2 = sellerA.id; |
| | | controller.getSalesId1(); |
| | | controller.getSalesId2(); |
| | | controller.cancel(); |
| | | |
| | | Quote quoteAfterInsert = [SELECT OpportunityId, Pricebook2Id, Name, Quote_No__c, Unit_Price__c, Offer_Amount__c, TOTAL__c, |
| | | Discount__c, Pricing__c, Preferential_Trading_Price__c, Contract__c, Quote_Comment__c, |
| | | QuoteName__c, Dealer_Final_Price__c, Quote_Adjust_Calculate__c, Quote_Adjust_Amount__c, |
| | | OCM_Agent1_Price__c, Agent1_Agent2_Price__c |
| | | FROM Quote WHERE Id = :quote.id]; |
| | | system.assertEquals( quote.OCM_Agent1_Price__c, quoteAfterInsert.OCM_Agent1_Price__c); |
| | | |
| | | controller.enableSales = false; |
| | | controller.opp.Agency1__c = null; |
| | | controller.quo.OCM_Agent1_Price__c = null; |
| | | controller.opp.Agency2__c = null; |
| | | controller.quo.Agent1_Agent2_Price__c = null; |
| | | controller.quo.QuoteName__c = 'aaa'; |
| | | controller.quo.Dealer_Final_Price_Page__c = 100; |
| | | controller.quo.Dealer_Final_Price__c = 100; |
| | | controller.qb.Quote_Adjust_Calculate = 100; |
| | | controller.quo.Quote_Adjust_Calculate__c = 100; |
| | | controller.quo.Quote_Adjust_Amount_Page__c = 10; |
| | | controller.quo.Quote_Adjust_Amount__c = 10; |
| | | controller.quo.Quote_Expiration_Date__c = date.today(); |
| | | controller.oppId = opp.id; |
| | | // controller.PricebookId = pricebook.id; |
| | | NewQuoteEntryController.QELine act = new NewQuoteEntryController.QELine(oli, 0); |
| | | |
| | | act.Asset_Model = '11111'; |
| | | |
| | | act.pageObject.Quantity__c = 10; |
| | | act.pageObject.UnitPrice_Page__c = 100; |
| | | act.pageObject.UnitPrice = 100; |
| | | act.pageObject.Subtotal__c = 1000; |
| | | act.pageObject.PricebookEntryId = pE2.id; |
| | | act.pageObject.Id__c = product2.id; |
| | | List<NewQuoteEntryController.QELine> actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.save(); |
| | | //controller.dataEntry(); |
| | | //controller.dataCheck(); |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // QELine(QELine tmp, Integer i) 関数をテスト |
| | | actList = new List<NewQuoteEntryController.QELine>(); |
| | | //act.Asset_Model = null; //20211025 |
| | | act.Asset_Model = '123'; //20211025 |
| | | actList.add(act); |
| | | controller.activities = actList; |
| | | controller.excel_text = 'OTV-SP1H-NA-12E\t1'; |
| | | controller.excelImport(); |
| | | System.Test.stopTest(); |
| | | Add_Report.getProduct2(product2.id); |
| | | |
| | | // dataCheckDecide関数をチェック |
| | | controller.enableSales = true; |
| | | controller.QuoteDecision = true; |
| | | controller.QuoteDecision(); |
| | | controller.Print(); |
| | | controller.testI(); |
| | | controller.getHiddenSaveBtn(); |
| | | controller.rowIdx = 10; |
| | | controller.addMultipleRow(); |
| | | controller.PriceStatusUpdate(); |
| | | //##ページデバッグセクション 終了 |
| | | |
| | | //System.Test.stopTest(); |
| | | } |
| | | } |
| | | //20211015 lt end |
| | | static testMethod void dataEntryTest2() { |
| | | RecordType recByoin = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_BYOUIN limit 1]; |
| | | Account hospital = new Account(Name = 'テスト病院'); |
| | | hospital.RecordTypeId = recByoin.id; |
| | | hospital.Site = 'テスト病院部門'; |
| | | hospital.Alias_Name2__c = 'テスト病院別名'; |
| | | insert hospital; |
| | | |
| | | RecordType recHanbaiten = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name = :RC_HANBAOITEN limit 1]; |
| | | Account sellerA = new Account(Name = '販売店'); |
| | | sellerA.RecordTypeId = recHanbaiten.id; |
| | | sellerA.Hospital__c = hospital.id; |
| | | insert sellerA; |
| | | |
| | | Product2 product2 = new Product2( Name = '11112'); |
| | | product2.SFDA_Status__c = '不要'; |
| | | product2.Intra_Trade_List_RMB_1__c = 100; |
| | | product2.Intra_Trade_List_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_List_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Intra_Trade_Cost_RMB_1__c = 200; |
| | | product2.Intra_Trade_Cost_RMB_Date1__c = date.today(); |
| | | product2.Intra_Trade_Cost_RMB_End_Date1__c = date.today().addDays(1); |
| | | product2.Manual_Entry__c = false; |
| | | product2.Asset_Model_No__c = '11112'; |
| | | product2.MDM_Model_No__c = '11112'; |
| | | insert product2; |
| | | |
| | | PricebookEntry pE2 = new PricebookEntry( Pricebook2Id = pricebook.Id, Product2Id = product2.Id); |
| | | pE2.UnitPrice = 0; |
| | | pE2.IsActive = true; |
| | | pE2.UseStandardPrice = false; |
| | | pE2.CurrencyIsoCode = CurrencyIso; |
| | | insert pE2; |
| | | |
| | | Opportunity opp1 = buildOppInstance( trade, CurrencyIso); |
| | | opp1.Trade__c = trade; |
| | | opp1.owner_not_automatically_update__c = true; |
| | | opp1.Sales_Root__c = 'AAA'; |
| | | opp1.Pricebook2Id = pricebook.id; |
| | | opp1.Estimation_Decision__c=true; |
| | | insert opp1; |
| | | |
| | | OpportunityLineItem oli = new OpportunityLineItem(); |
| | | oli.Quantity = 1; |
| | | oli.UnitPrice = 10; |
| | | oli.PricebookEntryId = pE2.Id; |
| | | oli.OpportunityId = opp1.id; |
| | | oli.Cost__c = 100; |
| | | insert oli; |
| | | |
| | | NewQuoteEntryController.QELine act = new NewQuoteEntryController.QELine(oli, 0); |
| | | act.Asset_Model = ''; |
| | | act.pageObject.Quantity__c = 10; |
| | | act.pageObject.UnitPrice = 100; |
| | | act.pageObject.Subtotal__c = 1000; |
| | | act.pageObject.PricebookEntryId = pE2.id; |
| | | List<NewQuoteEntryController.QELine> actList = new List<NewQuoteEntryController.QELine>(); |
| | | actList.add(act); |
| | | |
| | | NewQuoteEntryController controller = new NewQuoteEntryController(); |
| | | controller.oppId=opp1.Id; |
| | | controller.enableSales=true; |
| | | Quote quote=new Quote(); |
| | | quote.QuoteName__c = 'テスト見積'; |
| | | quote.Dealer_Final_Price_Page__c = 100; |
| | | quote.Quote_Adjust_Amount_Page__c = 10; |
| | | quote.Quote_Expiration_Date__c = date.today(); |
| | | quote.Agency1__c = sellerA.id; |
| | | quote.OCM_Agent1_Price_Page__c = 1243; |
| | | quote.OpportunityId = opp1.id; |
| | | quote.Name ='テスト見積'; |
| | | quote.Pricebook2Id = pricebook.id; |
| | | quote.Quote_No__c = quoteNo; |
| | | insert quote; |
| | | system.debug('act2++++++++++'+pE2); |
| | | |
| | | QuoteLineItem item02 = new QuoteLineItem(); |
| | | item02.Name__c = 'テスト商品'; |
| | | item02.QuoteId = quote.Id; |
| | | item02.Quantity = 1; |
| | | item02.Cost_Subtotal__c = 0; |
| | | item02.Cost__c = 200; |
| | | item02.UnitPrice = 10; |
| | | item02.PricebookEntryId = pE2.Id; |
| | | insert item02; |
| | | controller.init(); |
| | | |
| | | // quote.QuoteName__c = 'テスト見積'; |
| | | // quote.QuoteName__c = 'テスト見積'; |
| | | controller.quo=quote; |
| | | NewQuoteEntryController.QuoteBean qbs=new NewQuoteEntryController.QuoteBean(); |
| | | qbs.Quote_Adjust_Calculate = 100; |
| | | controller.qb = qbs; |
| | | controller.activities=actList; |
| | | controller.opp=opp1; |
| | | controller.dataEntry(); |
| | | 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; |
| | | |
| | | NewQuoteEntryController.QELine act2 = new NewQuoteEntryController.QELine(oli, 0); |
| | | act2.Asset_Model = '111111'; |
| | | act2.pageObject.Quantity__c = 1; |
| | | act2.pageObject.UnitPrice_Page__c = 100; |
| | | act2.pageObject.AgencyUnitPrice__c = 100; |
| | | act2.pageObject.PricebookEntryId = pE2.id; |
| | | List<NewQuoteEntryController.QELine> actList2 = new List<NewQuoteEntryController.QELine>(); |
| | | actList2.add(act2); |
| | | system.debug('act2++++++++++'+act2); |
| | | controller.activities=actList2; |
| | | controller.standardPricebook = pricebook; |
| | | for(NewQuoteEntryController.QELine aaa :controller.activities){ |
| | | aaa.Asset_Model = '111111'; |
| | | } |
| | | system.debug('activities++++++++++'+controller.activities); |
| | | NewQuoteEntryController.oppInfo opps = new NewQuoteEntryController.oppInfo(opp1); |
| | | /* 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(); |
| | | |
| | | controller.oppInfo = opps; |
| | | controller.dataEntry(); |
| | | //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<RecordType> 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<RecordType> 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<RecordType> 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<productSet__c> insertproductSets = new List<productSet__c>(); |
| | | 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<productSet__c> insertproductSets = new List<productSet__c>(){ |
| | | // 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<RecordType> 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<productSet__c> insertproductSets = new List<productSet__c>(); |
| | | 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<String,String> productSetCodeMap = new Map<String,String>(); |
| | | 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(); |
| | | } |
| | | |
| | | } |