Salesforce Test.getStandardPricebookIdを使用して標準価格表のIDを取得する
環境
Salesforce
概要
public static Id getStandardPricebookId()
このメソッドでは、テストで組織データを照会できるかどうかに関係なく、
組織内の標準価格表の ID を返します。
型: Id 標準価格表の ID
標準価格で価格表エントリを作成するには、標準価格表の ID が必要です。
このメソッドを使用して標準価格表 ID を取得すれば、テストで価格表エントリを作成できます。
サンプルコード
@IsTest private static void oppTesttWithoutAllData() { // 取引先の作成 Account acc = new Account(Name = 'cft'); insert acc; // 商談の作成 Opportunity opp = new Opportunity(Name = 'demo', AccountId = acc.Id); opp.CloseDate = Date.today().addDays(10); opp.StageName = 'Prospecting '; insert opp; // 商品の作成 Product2 pro = new Product2(Name = 'items'); insert pro; // 価格表エントリの作成 PriceBookEntry pbes = new PriceBookEntry(); pbes.Pricebook2Id = Test.getStandardPricebookId(); pbes.Product2Id = pro.Id; pbes.UnitPrice = 1000; insert pbes; // 商談商品の作成 OpportunityLineItem ol = new OpportunityLineItem(); ol.OpportunityId = opp.Id; ol.PricebookEntryId = pbes.Id; Test.startTest(); OpportunityUtil.OpportunityLineItemSum(opp.Id); Test.stopTest(); }