You need to sign in to do that
Don't have an account?
Chinnu Chinnu
can any one please tell me how to write a test class for this code..
trigger OpportunityProduct on OpportunityLineItem (before insert,after insert, after update,after delete,after undelete) {
//Setup the array to hold the Id to Iterate through
Set<Id> CurrentOppId = new Set<Id>();
List<string> prodName = new List<string>();
Map<Id,Id> OppLineItemMap = new Map<Id,Id>();
for (OpportunityLineItem OppLnItem : Trigger.isdelete?trigger.old:trigger.new){
CurrentOppId.add(OppLnItem.OpportunityId);
prodName.add(OppLnItem.Product2.name);
OppLineItemMap.put(OppLnItem.opportunityId,OppLnItem.product2id);
}
if(trigger.isbefore){
List<Opportunity> oppLst = [Select id,(select id,product2id,OpportunityId from opportunitylineitems) from opportunity where id=:CurrentOppId];
for(opportunityLineitem opplit : trigger.new){
for(opportunity oppt : oppLst){
for(opportunityLineItem oppli : oppt.opportunitylineitems){
if(oppli.Product2Id == OppLineItemMap.get(oppli.OpportunityId)){
opplit.adderror('You Cant add the same OpportunityLineItem again');
}
}
}
}
}
// Create List of One Opportunity Id to Update
List<Opportunity> OppId = [Select Id from Opportunity where Id in: CurrentOppId];
// Create List of Opportunity Products to iterate through later
List<OpportunityLineItem> relatedOLIs =
[Select Id, OpportunityId, PricebookEntry.Product2.name from OpportunityLineItem
where OpportunityId in: CurrentOppId];
List<Opportunity> Opplist = New List<Opportunity> ();
//Iterate through the Opportunity to Update
for (Opportunity opp2 : OppId){
opp2.Product_Code_Selected__c = '';
//Iterate through the line items to add PricebookEntryID data to the Opportunity
for (OpportunityLineItem oli2 : relatedOLIs){
opp2.Product_Code_Selected__c += oli2.PricebookEntry.Product2.name + '; ';
}
Opplist.add(opp2);
}
update Opplist;
}
//Setup the array to hold the Id to Iterate through
Set<Id> CurrentOppId = new Set<Id>();
List<string> prodName = new List<string>();
Map<Id,Id> OppLineItemMap = new Map<Id,Id>();
for (OpportunityLineItem OppLnItem : Trigger.isdelete?trigger.old:trigger.new){
CurrentOppId.add(OppLnItem.OpportunityId);
prodName.add(OppLnItem.Product2.name);
OppLineItemMap.put(OppLnItem.opportunityId,OppLnItem.product2id);
}
if(trigger.isbefore){
List<Opportunity> oppLst = [Select id,(select id,product2id,OpportunityId from opportunitylineitems) from opportunity where id=:CurrentOppId];
for(opportunityLineitem opplit : trigger.new){
for(opportunity oppt : oppLst){
for(opportunityLineItem oppli : oppt.opportunitylineitems){
if(oppli.Product2Id == OppLineItemMap.get(oppli.OpportunityId)){
opplit.adderror('You Cant add the same OpportunityLineItem again');
}
}
}
}
}
// Create List of One Opportunity Id to Update
List<Opportunity> OppId = [Select Id from Opportunity where Id in: CurrentOppId];
// Create List of Opportunity Products to iterate through later
List<OpportunityLineItem> relatedOLIs =
[Select Id, OpportunityId, PricebookEntry.Product2.name from OpportunityLineItem
where OpportunityId in: CurrentOppId];
List<Opportunity> Opplist = New List<Opportunity> ();
//Iterate through the Opportunity to Update
for (Opportunity opp2 : OppId){
opp2.Product_Code_Selected__c = '';
//Iterate through the line items to add PricebookEntryID data to the Opportunity
for (OpportunityLineItem oli2 : relatedOLIs){
opp2.Product_Code_Selected__c += oli2.PricebookEntry.Product2.name + '; ';
}
Opplist.add(opp2);
}
update Opplist;
}