You need to sign in to do that
Don't have an account?
MontTwo MontTwo
Test class with different scenarios for trigger helper
I have 100% coverage, but I still haven't scenarios for check. How to write good and bad scenarios for test class?
This is my helper:
This is my helper:
public with sharing class JobHelper { public static List<Task> taskList = new List<Task>(); public static void afterInsert(List<Job__c> newList) { for(Job__c job : newList){ if(job.Stage__c == 'Closed'){ createTask(job.OwnerId, 'Closed'); } if(job.Stage__c == 'Open'){ createTask(job.OwnerId, 'Open'); } } insertTask(newList); } public static void afterUpdate(List<Job__c> newList, Map<ID, Job__c> oldMap) { for(Job__c job : newList){ if(job.Stage__c == 'Closed' && oldMap.get(job.Id).Stage__c != 'Closed'){ createTask(job.OwnerId, 'Closed'); } if(job.Stage__c == 'Open' && oldMap.get(job.Id).Stage__c != 'Open'){ createTask(job.OwnerId, 'Open'); } } insert taskList; } public static List<Task> createTask(Id ownId, String subj){ taskList.add(new Task(OwnerId = ownId, Subject = subj)); return taskList; } }Trigger:
trigger JobTrigger on Job__c (after insert, after update) { if(Trigger.isAfter && Trigger.isInsert) { JobHelper.afterInsert(Trigger.new); } else if (Trigger.isAfter && Trigger.isUpdate) { JobHelper.afterUpdate(Trigger.new, Trigger.oldMap); } }My test-try:
@isTest private class JobTest { public static List<Job__c> jobList = new List<Jobn__c>(); static testMethod void createTaskTest(){ Job__c job1 = new Job__c( Stage__c = 'Closed', ); jobList.add(job1); Job__c job2 = new Job__c( Stage__c = 'Open', ); jobList.add(job2); insert jobList; List<Task> taskListTest = new List<Task>(); Task task1 = new Task(Subject = 'Closed'); taskListTest.add(task1); Task task2 = new Task(Subject = 'Open'); taskListTest.add(task2); insert taskListTest; JobHelper j = new JobHelper(); //System.assert(taskListTest == j.taskList); } }
Let me know if u find any blocker or so!
FYI I have treated stage as a non required field, so if u find any error do let me know