@isTest
|
private class QuotePDFExtensionControllerTest {
|
|
private static Product2 productA = null;
|
private static Product2 productB = null;
|
private static Id pricebookId = ControllerUtil.getStandardPricebook().Id;
|
static {
|
productA = new Product2( Name='テスト商品');
|
productB = new Product2( Name='テスト : 商品',ProduceCompany__c='#%生产企业名称:奥林巴斯苇音特&&和意北公司 Olympus Winter & Ibe GmbH;;住所:#Kuehnstr.61,22045 Hamburg ,Germany;Kuehnstr.61,22045 Hamburg ,Germany;联系方式:');
|
insert productA;
|
insert productB;
|
}
|
|
private static PricebookEntry buildPBA( String input) {
|
PricebookEntry entry = new PricebookEntry( Pricebook2Id=pricebookId, Product2Id=productA.Id);
|
entry.UnitPrice = 0;
|
entry.IsActive = true;
|
entry.UseStandardPrice = false;
|
entry.CurrencyIsoCode = input;
|
insert entry;
|
return entry;
|
}
|
private static PricebookEntry buildPBB( String input) {
|
PricebookEntry entry = new PricebookEntry( Pricebook2Id=pricebookId, Product2Id=productB.Id);
|
entry.UnitPrice = 0;
|
entry.IsActive = true;
|
entry.UseStandardPrice = false;
|
entry.CurrencyIsoCode = input;
|
insert entry;
|
return entry;
|
}
|
|
private static Opportunity buildOppInstance( String inputTrade, String CurrencyIsoCode) {
|
Opportunity target = new Opportunity( Name='aiueo', StageName='contact', CloseDate=Date.today());
|
target.Trade__c = inputTrade;
|
target.CurrencyIsoCode = CurrencyIsoCode;
|
return target;
|
}
|
|
private static QuoteLineItem insertQuoteLineItem01( Quote input, Pricebookentry entry) {
|
QuoteLineItem target = new QuoteLineItem();
|
target.QuoteId = input.Id;
|
target.Quantity = 1;
|
// target.TotalPrice = 100;
|
target.UnitPrice = 0;
|
target.UnitPrice__c = 10;
|
target.PricebookEntryId = entry.Id;
|
target.Name__c = 'aieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueo';
|
insert target;
|
return target;
|
}
|
|
private static QuoteLineItem insertQuoteLineItem02( Quote input, Pricebookentry entry) {
|
QuoteLineItem target = new QuoteLineItem();
|
target.QuoteId = input.Id;
|
target.Quantity = 1;
|
// target.TotalPrice = 100;
|
target.UnitPrice = 0;
|
target.UnitPrice__c = 10;
|
target.PricebookEntryId = entry.Id;
|
target.Name__c = 'a:ieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueoaieuoaiueo';
|
insert target;
|
return target;
|
}
|
|
// private static String opportunityNo = 'testOpp01';
|
private static String quoteNo = 'textQutote01';
|
// private static String departmentName = 'kashitsu';
|
private static String trade = '内貿';
|
private static String currencyCNY = 'RMB';
|
|
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 test01() {
|
|
// PricebookEntry
|
PricebookEntry entryCNY02 = buildPBA( 'CNY');
|
PricebookEntry entryCNY01 = buildPBB( 'CNY');
|
|
// 商談作成
|
Opportunity opp = buildOppInstance( trade, 'CNY');
|
opp.Pricebook2Id = pricebookId;
|
insert opp;
|
opp = [SElECT Id, Opportunity_no__c, CurrencyIsoCode FROM Opportunity WHERE Id = :opp.id];
|
System.assertEquals( 'CNY', opp.CurrencyIsoCode);
|
|
// 見積作成
|
Quote quote = new Quote( Name='テスト見積');
|
quote.OpportunityId = opp.Id;
|
quote.Pricebook2Id = pricebookId;
|
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( 'CNY', quote.CurrencyIsoCode);
|
|
// 見積品目作成
|
QuoteLineItem item01 = insertQuoteLineItem01( quote, entryCNY01);
|
QuoteLineItem item02 = insertQuoteLineItem02( quote, entryCNY02);
|
for ( Integer i = 0; i < 30; i++) {
|
item02 = insertQuoteLineItem02( quote, entryCNY02);
|
}
|
|
QuotePDFExtensionController target = new QuotePDFExtensionController( quote.id);
|
QuotePDFExtensionController.Parameters params = target.params;
|
|
System.assertEquals( quoteNo, params.quoteNo);
|
System.assertEquals( currencyCNY, params.trade);
|
|
System.assertEquals( isUnitPrice, params.isUnitPrice);
|
System.assertEquals( isOfferAmount, params.isOfferAmount);
|
System.assertEquals( isTotalPrice, params.isTotalPrice);
|
System.assertEquals( isDiscountRate, params.isDiscountRate);
|
System.assertEquals( isDiscountAmount, params.isDiscountAmount);
|
System.assertEquals( isTradingPrice, params.isTradingPrice);
|
System.assertEquals( isContractDetail, params.isContractDetail);
|
|
target.startContract();
|
target.startQuote();
|
|
target.params.getAgentNameForContract();
|
target.params.agent1Name ='aiueo';
|
target.params.getAgentNameForContract();
|
target.params.agent2Name = 'aiueo';
|
target.params.getAgentNameForContract();
|
target.params.agent1Name = null;
|
target.params.getAgentNameForContract();
|
}
|
|
|
|
|
}
|