You need to sign in to do that
Don't have an account?
Tina Chang 6
How to Fix this Apex Test Class?
Hello! I have to deactivate a Trigger as it is blocking a deployment.
I deactivated the Trigger in the sandbox, created a Change Set, included the Trigger in the change set and deployed the same into the Production, but it wasn't able to pass the Apex Test.
This is the error message that I got:
I know the problem is with this code "System.assert(false);" but I am not a developer so I don't know how to fix it. I have searched around for solutions but it is way beyond my knowledge.
Can anyone kindly help and let me know how to fix this Apex Test Class? It would be much much appreciated!
The Apex Trigger
The Apex Test Class
Tina
Sincerely,
Tina
I deactivated the Trigger in the sandbox, created a Change Set, included the Trigger in the change set and deployed the same into the Production, but it wasn't able to pass the Apex Test.
This is the error message that I got:
- System.Exception: Assertion Failed
- Stack Trace: Class.test_updatecontactrolecount.testcreateopptywithconditionandrole: line 38, column 1
I know the problem is with this code "System.assert(false);" but I am not a developer so I don't know how to fix it. I have searched around for solutions but it is way beyond my knowledge.
Can anyone kindly help and let me know how to fix this Apex Test Class? It would be much much appreciated!
The Apex Trigger
trigger 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; } }
The Apex Test Class
public class test_updatecontactrolecount { public static testMethod void testcreateopptywithconditionandrole() { //Insert Opportunities try { Opportunity Oppty = new Opportunity(Name='Oppty_test1',StageName='Stage 1 - Unqualified Prospect',Type ='New Business', 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 ='Business User',OpportunityId=Oppty.id ,Contactid = cont[0].id ,Isprimary = True), new OpportunityContactRole(Role ='Business User',OpportunityId=Oppty.id ,Contactid = cont[0].id ,Isprimary = False) }; insert ocr; Oppty.StageName = 'Stage 3 - Eval Request'; //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); } } }Sincerely,
Tina
Sincerely,
Tina
All Answers
Thank you so much for your help! It worked! It is greatly appreciated!
Best Regards,
Tina