You need to sign in to do that
Don't have an account?
KasiW
Help - issue with System.Exception: Assertion Failed
Hi, I have dowloaded an app from app exchange - Opportunity Contact Roles Validation,
https://appexchange.salesforce.com/listingDetail?listingId=a0N300000025Vs1EAE
Creates 2 custom fields on Opportunity: Number of Contacts and Primary Contact Assigned.
APEX trigger updates those fields every time before Opportunity is edited.
Create your own validation rules to restrict Sales from moving forward in the Sales Process (Defined Stage) if primary Contact Roles are not set.
The class failed during the testing. line 39. Would you help please? Thank you.
Here is the Trigger:
https://appexchange.salesforce.com/listingDetail?listingId=a0N300000025Vs1EAE
Creates 2 custom fields on Opportunity: Number of Contacts and Primary Contact Assigned.
APEX trigger updates those fields every time before Opportunity is edited.
Create your own validation rules to restrict Sales from moving forward in the Sales Process (Defined Stage) if primary Contact Roles are not set.
The class failed during the testing. line 39. Would you help please? Thank you.
112 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | public class test_updatecontactrolecount { public static testMethod void testcreateopptywithconditionandrole() { //Insert Opportunities try { Opportunity Oppty = new Opportunity(Name='Oppty_test1',StageName='Defined', CloseDate=System.Today()); insert Oppty; // insert contact Contact[] cont = new Contact[] { new Contact(LastName = 'testcontact1'), new Contact(LastName = 'testcontact2') }; insert cont; // insert contact role OpportunityContactRole [] ocr = new OpportunityContactRole[] { new OpportunityContactRole(Role ='Technical Buyer',OpportunityId=Oppty.id ,Contactid = cont[0].id ,Isprimary = True), new OpportunityContactRole(Role ='Technical Buyer',OpportunityId=Oppty.id ,Contactid = cont[1].id ,Isprimary = False) }; insert ocr; Oppty.StageName = 'Defined'; //Update opportunity Test.StartTest(); update Oppty; Test.StopTest(); Oppty =[SELECT Number_of_Contacts_Roles_Assigned__c,Primary_Contact_Assigned__c FROM Opportunity WHERE Id = :Oppty.Id]; system.assert (Oppty.Number_of_Contacts_Roles_Assigned__c == 2); system.assert (Oppty.Primary_Contact_Assigned__c == True); } catch (System.DmlException e) { System.assert(false); } } } |
Here is the Trigger:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 11trigger updatecontactrolecount on Opportunity (before insert,before update) { Boolean isPrimary; Integer iCount; Map<String, Opportunity> oppty_con = new Map<String, Opportunity>();//check if the contact role is needed and add it to the oppty_con map for (Integer i = 0; i < Trigger.new.size(); i++) { oppty_con.put(Trigger.new[i].id, Trigger.new[i]); } isPrimary = False; for (List<OpportunityContactRole> oppcntctrle :[select OpportunityId from OpportunityContactRole where (OpportunityContactRole.IsPrimary = True and OpportunityContactRole.OpportunityId in :oppty_con.keySet())]) { if (oppcntctrle .Size() >0) { isPrimary = True; } } iCount = 0; for (List<OpportunityContactRole> oppcntctrle2 : [select OpportunityId from OpportunityContactRole where (OpportunityContactRole.OpportunityId in :oppty_con.keySet())])//Query for Contact Roles { if (oppcntctrle2 .Size()>0) { iCount= oppcntctrle2 .Size(); } } for (Opportunity Oppty : system.trigger.new) //Check if roles exist in the map or contact role isn't required { Oppty.Number_of_Contacts_Roles_Assigned__c = iCount; Oppty.Primary_Contact_Assigned__c =isPrimary; } |
All Answers