Skip to main content
Hello, 

I need to create a Test Class for a trigger. Here is the trigger below:

trigger trgTaskJudgementDateCannotBeBlank on Task (before update) {

Set<Id> ids = new Set<Id>();

    for(Task t:Trigger.New){

        if(t.Status=='Completed' && (t.Task_Reference__c =='L-739-5' || t.Task_Reference__c =='L-739-10')){

            ids.add(t.WhatId);

        }

    

    List<Trial__c> trialObj = [select Judgement_Date__c from Trial__c where id  IN: ids];

    

    for(Trial__c tr: trialObj){

        if(tr.Judgement_Date__c == NULL){

        t.addError('Please enter a judgement date for this trial record');

    }

The test class that I created is not working for some reason. This is the test class I have so far.

@isTest

private class TestTrialTriggers {

    @isTest static void TestTaskValidationRule() {

        // Test data setup

        // Create a Trial Record with a Task attached to it

        Trial__c trial = new Trial__c (Matter__c='a172h000001FLYZAA4');

        insert trial;

        Task task = new Task(Subject=trial.Name + ' Test Task',

                                       Task_Reference__c='L-739-5',

                                       ActivityDate=System.today().addMonths(1),

                                       WhatId=trial.Id);

        insert task;

    

        // Update Task Status to Completed

        task.Status=('Completed');         

    }

    

}

Can someone tell me what I'm doing wrong?
3 answers
  1. Dec 14, 2021, 6:03 AM
    Hii Christopher

    Try Below test Class

    @isTest

    public class TestTaskTriggers {

    @isTest

    public static void unitTest(){

    Profile p = [SELECT Id FROM Profile WHERE Name='System Administrator'];

    User usr = new User(LastName = 'sample',

    FirstName='sam',

    Alias = 'simplSam',

    Email = 'ssamsimple@asdf.com',

    Username = 'ssamsimple@asdf.com',

    ProfileId = p.id,

    TimeZoneSidKey = 'GMT',

    LanguageLocaleKey = 'en_US',

    EmailEncodingKey = 'UTF-8',

    LocaleSidKey = 'en_US'

    );

    insert usr;

    system.runAs(usr){

    Test.startTest();

    Account acc = new Account();

    acc.name='Test Account';

    insert acc;

    Trial__c trial = new Trial__c (Name = 'Test', Matter__c='a172h000001FLYZAA4');

    insert trial;

    Task tsk = new Task();

    tsk.Subject = trial.Name + ' Test Task';

    tsk.Type = 'Email';

    tsk.Task_Reference__c = 'L-739-5';

    tsk.ActivityDate = System.today().addMonths(1);

    tsk.Description = 'Test Task';

    tsk.OwnerId = usr.Id;

    tsk.WhatId = acc.Id;

    insert tsk;

    task.Status='Completed';

    update task;

    Test.stopTest();

    }

    }

    }

    Please Mark It As Best Answer If It Helps

    Thank You!
0/9000