@isTest private class SpecialDiscountControllerTest { static Account keiyaku; static final String RC_HANBAOITEN = '販売店'; static final String RC_KEIYAKU = '契約'; static void initAcData() { Product2 prod01 = new Product2(Name='Test01'); prod01.ProductCode='Test01'; prod01.Asset_Model_No__c = 'Test01'; prod01.SFDA_Status__c = '有効'; prod01.Dealer_special_Object__c = true; prod01.Family = 'GI'; prod01.Category2__c = '耗材'; prod01.Category3__c = '其他'; prod01.Category4__c = '其他'; prod01.Category5__c = '其他'; Product2 prod02 = new Product2(Name='Test02'); prod02.ProductCode='Test02'; prod02.Asset_Model_No__c = 'Test02'; prod02.SFDA_Status__c = '有効'; prod02.Dealer_special_Object__c = true; prod02.Family = 'GI'; prod02.Category2__c = '本体'; prod02.Category3__c = '其他'; prod02.Category4__c = '其他'; prod02.Category5__c = '其他'; Product2 prod03 = new Product2(Name='Test03'); prod03.ProductCode='Test03'; prod03.Asset_Model_No__c = 'Test03'; prod03.SFDA_Status__c = '有効'; prod03.Dealer_special_Object__c = true; prod03.Family = 'SP'; prod03.Category2__c = '附属品'; prod03.Category3__c = '其他'; prod03.Category4__c = '其他'; prod03.Category5__c = '其他'; insert new Product2[]{prod01,prod02,prod03}; Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id); Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id); Product2__c pro3 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id); insert new Product2__c[] {pro1, pro2,pro3}; //販売店 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]; 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; keiyaku = [select Id from Account where Id = :keiyaku.Id]; Dealer_Product__c dp1 = new Dealer_Product__c(); //dp1.Name='A'; dp1.Dealer_Product2__c = pro1.Id; dp1.Dealer_Contact__c = keiyaku.Id; dp1.Special_Discount__c =60; dp1.Special_Campaign_Price__c = 200; dp1.Campaign_StartDate__c = Date.today().addDays(-1); dp1.Campaign_EndDate__c = Date.today().addDays(1); Dealer_Product__c dp2 = new Dealer_Product__c(); dp2.Dealer_Product2__c = pro2.Id; dp2.Special_Discount__c =0; dp2.Dealer_Contact__c = keiyaku.Id; dp2.Special_Campaign_Price__c = 200; dp2.Campaign_StartDate__c = Date.today().addDays(-1); dp2.Campaign_EndDate__c = Date.today().addDays(1); Dealer_Product__c dp3 = new Dealer_Product__c(); dp3.Dealer_Product2__c = pro3.Id; dp3.Dealer_Contact__c = keiyaku.Id; dp3.Special_Campaign_Price__c = 200; dp3.Campaign_StartDate__c = Date.today().addDays(-1); dp3.Campaign_EndDate__c = Date.today().addDays(1); dp3.Special_Discount__c =null; Dealer_Product__c dp4 = new Dealer_Product__c(); dp4.Dealer_Product2__c = pro3.Id; dp4.Dealer_Contact__c = keiyaku.Id; dp4.Special_Campaign_Price__c = 200; dp4.Campaign_StartDate__c = Date.today().addDays(1); dp4.Campaign_EndDate__c = Date.today().addDays(-1); dp4.Special_Discount__c =0; dp4 = new Dealer_Product__c(); dp4.Dealer_Product2__c = pro2.Id; dp4.Dealer_Contact__c = keiyaku.Id; dp4.Special_Campaign_Price__c = 200; dp4.Campaign_StartDate__c = Date.today().addDays(1); dp4.Campaign_EndDate__c = null; dp4.Special_Discount__c =60; dp4 = new Dealer_Product__c(); dp4.Dealer_Product2__c = pro1.Id; dp4.Dealer_Contact__c = keiyaku.Id; dp4.Special_Campaign_Price__c = 200; dp4.Campaign_StartDate__c = null; dp4.Campaign_EndDate__c = Date.today().addDays(-1); insert new Dealer_Product__c[] {dp1, dp2,dp3,dp4}; } @isTest static void init_test() { initAcData(); PageReference page = new PageReference('/apex/SpecialDiscount?userid='+keiyaku.id); System.Test.setCurrentPage(page); SpecialDiscountController conTest = new SpecialDiscountController(); conTest.init(); //System.assertEquals(3, conTest.productInfoRecordsview[0].size()); conTest.keyword = 'Test01'; conTest.searchProduct(); //System.assertEquals(1, conTest.productInfoRecordsview[0].size()); conTest.category1 = 'GI'; conTest.category2 = '耗材'; conTest.category3 = '其他'; conTest.category4 = '其他'; conTest.category5 = '其他'; conTest.SpecialDiscount='50'; conTest.geCategory(); conTest.showcategory2(); conTest.showcategory3(); conTest.showcategory4(); conTest.showcategory5(); conTest.Pro2DealerFlag = true; conTest.searchProduct(); conTest.productInfoListview.sort(); // System.assertEquals(1, conTest.productInfoRecordsview[0].size()); conTest.productInfoListview[0].check = true; conTest.productInfoListview[0].dealerPro.Special_discount__c=120; conTest.searchProduct(); conTest.save(); conTest.productInfoListview[0].check = true; conTest.productInfoListview[0].dealerPro.Special_discount__c=80; conTest.refreshPageSize(); conTest.save(); conTest.productInfoListview[0].check = true; conTest.productInfoListview[0].dealerPro.Special_discount__c=0; conTest.productInfoListview.sort(); conTest.save(); conTest.productInfoListview[0].check = false; conTest.productInfoListview[0].dealerPro.Special_discount__c=null; conTest.save(); conTest.refreshPageSize(); List dPList = [select Id, Special_Discount__c,Dealer_Product2__c FROM Dealer_Product__c WHERE Dealer_Contact__c = :keiyaku.id]; List prodList = [select Id, Name,Name__c, Asset_Model_No__c,Category1__c, Category2__c,Category3__c,Category4__c, Category5__c,SFDA_Status__c FROM Product2__c WHERE Pro2_Dealer_Object__c = true]; //System.assertEquals(1, dPList.size()); //conTest.ToPage(); } @isTest static void selectfill() { initAcData(); PageReference page = new PageReference('/apex/SpecialDiscount?userid='+keiyaku.id); System.Test.setCurrentPage(page); SpecialDiscountController conTest = new SpecialDiscountController(); conTest.init(); //System.assertEquals(3, conTest.productInfoRecordsview[0].size()); conTest.keyword = 'Test01'; conTest.searchProduct(); conTest.pagecount=10; conTest.currentpage=1; conTest.moveToNext(); conTest.currentpage=2; conTest.moveToPrevious(); conTest.moveToLast(); //System.assertEquals(1, conTest.productInfoRecordsview[0].size()); conTest.category1 = 'GI'; conTest.category2 = '耗材'; conTest.category3 = '其他'; conTest.category4 = '其他'; conTest.category5 = '其他'; conTest.showcategory2(); conTest.refreshPageSize(); //System.assertEquals(3, conTest.category2OptionList.size()); } }