@isTest
|
private class NFM202triggerTest {
|
static final String RC_BYOUIN = '病院';
|
static final String RC_HANBAOITEN = '販売店';
|
static final String RC_KEIYAKU = '契約';
|
private static Id pricebookId = ControllerUtil.getStandardPricebook().Id;
|
|
@isTest static void test_method_one() {
|
StaticParameter.EscapeNFM001Trigger = true;
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeNFM001AgencyContractTrigger2 = true;
|
// Implement test code
|
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;
|
sellerA.Ban_On_Use_Date__c = Date.today().addDays(20);
|
insert sellerA;
|
|
Product2 product = new Product2( Name='テスト商品');
|
product.SFDA_Status__c = '有効';
|
product.Intra_Trade_List_RMB_1__c = 100;
|
product.Intra_Trade_List_RMB_Date1__c = date.today();
|
product.Intra_Trade_Cost_RMB_1__c = 200;
|
product.Intra_Trade_Cost_RMB_Date1__c = date.today();
|
product.Manual_Entry__c = false;
|
product.Asset_Model_No__c = '11111';
|
product.ProductCode = 'OTV-SP1H-NA-12E';
|
insert product;
|
PricebookEntry entry = new PricebookEntry( Pricebook2Id=pricebookId, Product2Id=product.Id);
|
entry.UnitPrice = 0;
|
entry.IsActive = true;
|
entry.UseStandardPrice = false;
|
entry.CurrencyIsoCode = 'CNY';
|
insert entry;
|
|
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;
|
contractA.Contract_Decide_Start_Date__c = Date.today().addDays(-1);
|
contractA.Contract_Decide_End_Date__c = Date.today().addDays(20);
|
//contractA.Contract_Quote_Decide_Flag_checkbox__c = true;
|
contractA.ET_SP_Dealer__c = true;
|
|
insert contractA;
|
System.Test.startTest();
|
Opportunity opp = new Opportunity( Name='aiueo', StageName='contact', CloseDate=Date.today().addDays(60));
|
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.Wholesale_Price__c = 9000;
|
opp.Opportunity_stage__c = '还没申请预算';
|
opp.Close_Forecasted_Date__c = Date.today().addDays(50);
|
opp.Special_Opp_lanhai__c = false;
|
opp.Competitor__c = 'A';
|
opp.If_Authorizing__c = false;
|
opp.Contract_Authorize__c = false;
|
opp.Special_Opp_lanhai__c = true;
|
opp.Estimation_Id__c = 'a1';
|
insert opp;
|
OpportunityLineItem oppli = new OpportunityLineItem();
|
oppli.OpportunityId = opp.Id;
|
oppli.Id__c = '110';
|
oppli.SFDA_Status__c = '有効';
|
oppli.Name__c = '111';
|
oppli.ListPrice__c = 112;
|
oppli.Quantity = 113;
|
oppli.UnitPrice = 114;
|
oppli.UnitPrice__c = 115;
|
oppli.Qty_Unit__c = '116';
|
oppli.Cost__c = 117;
|
oppli.BSS_Category__c = 'G&R';
|
oppli.Item_Order__c = 1;
|
oppli.PricebookEntryId = entry.Id;
|
insert oppli;
|
opp.If_Authorizing__c = true;
|
//opp.Competitor__c = 'A';
|
opp.Contract_Authorize__c = true;
|
update opp;
|
String CRON_EXP = '0 0 0 3 9 ? 2032';
|
// system.schedule('AgencyIntelligenceExpireTest', CRON_EXP, new AgencyIntelligenceExpireSchedule());
|
System.Test.StopTest();
|
}
|
|
//@isTest static void test_method_two() {
|
// Opportunity opp = new Opportunity(
|
// Opportunity_No__c = '1234567',
|
// Name='Opp',
|
// StageName='引合',
|
// CloseDate=Date.today(),
|
// CurrencyIsoCode = 'CNY'
|
// );
|
// insert opp;
|
// //opp.old_Oppo_No__c = '123456789';
|
// //opp.SeparateBillMark__c = '1';
|
// Opportunity opp1 = new Opportunity(
|
// Name='Opp',
|
// StageName='引合',
|
// CloseDate=Date.today(),
|
// CurrencyIsoCode = 'CNY',
|
// old_Oppo_No__c = '1234567',
|
// SeparateBillMark__c = '1'
|
// );
|
// insert opp1;
|
//}
|
|
@isTest static void test_method_two() {
|
StaticParameter.EscapeNFM001Trigger = true;
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeNFM001AgencyContractTrigger2 = true;
|
// Implement test code
|
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;
|
sellerA.Ban_On_Use_Date__c = Date.today().addDays(20);
|
insert sellerA;
|
|
Product2 product = new Product2( Name='テスト商品');
|
product.SFDA_Status__c = '有効';
|
product.Intra_Trade_List_RMB_1__c = 100;
|
product.Intra_Trade_List_RMB_Date1__c = date.today();
|
product.Intra_Trade_Cost_RMB_1__c = 200;
|
product.Intra_Trade_Cost_RMB_Date1__c = date.today();
|
product.Manual_Entry__c = false;
|
product.Asset_Model_No__c = '11111';
|
product.ProductCode = 'OTV-SP1H-NA-12E';
|
insert product;
|
PricebookEntry entry = new PricebookEntry( Pricebook2Id=pricebookId, Product2Id=product.Id);
|
entry.UnitPrice = 0;
|
entry.IsActive = true;
|
entry.UseStandardPrice = false;
|
entry.CurrencyIsoCode = 'CNY';
|
insert entry;
|
|
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;
|
contractA.Contract_Decide_Start_Date__c = Date.today().addDays(-1);
|
contractA.Contract_Decide_End_Date__c = Date.today().addDays(20);
|
//contractA.Contract_Quote_Decide_Flag_checkbox__c = true;
|
contractA.ET_SP_Dealer__c = true;
|
|
insert contractA;
|
System.Test.startTest();
|
Opportunity opp = new Opportunity( Name='aiueo', StageName='contact', CloseDate=Date.today().addDays(60));
|
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.Wholesale_Price__c = 9000;
|
opp.Opportunity_stage__c = '还没申请预算';
|
opp.Close_Forecasted_Date__c = Date.today().addDays(50);
|
opp.Special_Opp_lanhai__c = false;
|
opp.Competitor__c = 'A';
|
opp.If_Authorizing__c = false;
|
opp.Contract_Authorize__c = false;
|
opp.Special_Opp_lanhai__c = true;
|
insert opp;
|
OpportunityLineItem oppli = new OpportunityLineItem();
|
oppli.OpportunityId = opp.Id;
|
oppli.Id__c = '110';
|
oppli.SFDA_Status__c = '有効';
|
oppli.Name__c = '111';
|
oppli.ListPrice__c = 112;
|
oppli.Quantity = 113;
|
oppli.UnitPrice = 114;
|
oppli.UnitPrice__c = 115;
|
oppli.Qty_Unit__c = '116';
|
oppli.Cost__c = 117;
|
oppli.BSS_Category__c = 'G&R';
|
oppli.Item_Order__c = 1;
|
oppli.PricebookEntryId = entry.Id;
|
insert oppli;
|
|
//見積データ作成
|
Quote quote = new Quote( Name = 'テスト見積');
|
quote.OpportunityId = opp.Id;
|
// quote.Pricebook2Id = entry.id;
|
quote.Quote_No__c = 'quoteNo';
|
|
quote.Unit_Price__c = true;
|
quote.Offer_Amount__c = true;
|
quote.TOTAL__c = true;
|
quote.Discount__c = true;
|
quote.Pricing__c = true;
|
quote.Preferential_Trading_Price__c = true;
|
quote.Contract__c = true;
|
quote.Quote_Comment__c = 'true';
|
insert quote;
|
|
opp.If_Authorizing__c = true;
|
//opp.Competitor__c = 'A';
|
opp.Contract_Authorize__c = true;
|
opp.Estimation_Id__c = quote.id;
|
update opp;
|
PromotionHead__c ph = new PromotionHead__c();
|
ph.SpoId__c = 'SPOXX';
|
ph.name = 'SPOXX';
|
//写死促销方案id
|
// ph.recordTypeId = '01210000000aLmw';
|
insert ph;
|
|
PromotionSales__c ps =new PromotionSales__c();
|
ps.PromotionHead__c = ph.id;
|
ps.Category__c = '促销政策';
|
ps.name ='xxx';
|
|
insert ps;
|
|
|
PromotionSalesProducts__c psp = new PromotionSalesProducts__c();
|
psp.QuantityId__c = quote.id;
|
// psp.PromotionSales__r.PromotionHead__r.SpoId__c
|
// psp.PromotionSales__r.Category__c
|
psp.Asset_Model_No__c = 'N/A';
|
psp.Quantity__c = 2;
|
psp.AgencyUnitPrice__c =12.0;
|
psp.UseCount__c =2;
|
|
insert psp;
|
|
PromotionSalesProducts__c psp3 = new PromotionSalesProducts__c();
|
psp3.QuantityId__c = quote.id;
|
// psp.PromotionSales__r.PromotionHead__r.SpoId__c
|
// psp.PromotionSales__r.Category__c
|
psp3.Asset_Model_No__c = 'A321:啊乌拉乌拉乌拉哇哇';
|
psp3.Quantity__c = 2;
|
psp3.AgencyUnitPrice__c =12.0;
|
psp3.UseCount__c =2;
|
|
insert psp3;
|
|
NFM202Controller.testI();
|
}
|
|
}
|