Para começar, precisei criar na minha classe de testes, um produto com seu preço padrão. Dessa forma, foi-se necessário inserir um registro do objeto Product2 e outro no PriceBookEntry referente ao produto e o respectivo catálogo de preços padrão (ou personalizado, se for o caso).
Então criei meu produto na minha classe de testes:
Product2 produto = new Product2(name = 'Produto teste');
insert produto;
Agora, para criar o PriceBookEntry, precisarei passar o ID do Produto, o preço e o ID do catálogo de preços. O ID do produto eu tenho, pois acabei de inserir o produto. O preço eu vou definir. E o ID do catálogo de preço padrão? Para essa, o Salesforce tem um método para retornar o ID, sem precisar de consultas SOQL:
Test.getStandardPricebookId()
Com esse método acima, você obtem o ID Catálogo de preços padrão, sem precisar consultas SOQL. Veja como ficou a criação do PriceBookEntry:
Id pricebookId = Test.getStandardPricebookId();
PriceBookEntry pbe = new PriceBookEntry(Pricebook2Id = pricebookId, Product2Id = produto.id, UnitPrice = 500, IsActive = true);
insert pbe;
Depois disso, foi só inserir os respectivos dados na OpportunityLineItem da Opportunity. Mas isso é papo para outro post!
Nenhum comentário:
Postar um comentário