You need to sign in to do that
Don't have an account?
Brian Chipman 4
Apply a test class to a trigger in the Developer Console
Have succesully created a test class previously. However, now I have a trigger and a potential test class for that trigger based off some examples but I am not able to do Test | New Run. I get a message "Add test methods to your test class" but am not sure how to do that in the case of a trigger. Any help or sugggestions would be appreciated.
Here is the trigger:
Here is the Test Class (test when the Labor field is updated and when the service order record is deleted):
Here is the trigger:
trigger UpdateAssetFromSO on Service_Order__c (after update, after delete) { List<Id> idAssetList = new List<Id>(); List<Asset> assetListToUpdate = new List<Asset>(); if(trigger.isUpdate) { for (Service_Order__c so : trigger.new) { if(trigger.oldMap.get(so.Id).Total_Reimbursement_Amount__c == so.Total_Reimbursement_Amount__c) continue; idAssetList.add(so.Asset__c); } } if(trigger.isDelete) { for (Service_Order__c so : trigger.old) { idAssetList.add(so.Asset__c); } } if(idAssetList.isEmpty()) return; for(Id id : idAssetList) { Asset asset = new Asset(Id = id); asset.SOChanged__c = true; assetListToUpdate.add(asset); } if(assetListToUpdate.size() > 0) Database.update(assetListToUpdate); }
Here is the Test Class (test when the Labor field is updated and when the service order record is deleted):
@isTest(SeeAllData=true) public class UpdateAssetFromSO_Test { public void DoIt(){ //Create Service Orer to work with Service_Order__c so = new Service_Order__c( Account__c='001j0000016yvCrAAI', CurrencyIsoCode='USD-U.S. Dollar', Status__c='Open', Charge_To__c='11 - Logan', Labor_Reimbursement__c = 12.00 ); insert so; //Update Service Order Total Reimbursement Amount is a formula field so we update Labor to make it change. so.Labor_Reimbursement__c = 123.00; //Delete Service Order Delete so; } }
Best Answer chosen by Brian Chipman 4
Jayant Das
Your test method is missing the required annotation. Refer to this link (https://trailhead.salesforce.com/en/modules/apex_testing/units/apex_testing_intro) as how to write a test class. In your example, you need to change the signature of your test method to as below. Once you do that, then you get the option of running test in developer console.