Search code examples
classtriggerssalesforceapex-codeapex

Issue Creating Test Class For Trigger


I am having difficulty creating a test class for a trigger I have created. The trigger updates a date/time field every fime a checkbox field is modified. I am unsure how i would create the tesst trigger, any help would be great.

My trigger is:

 trigger ControlRoomCheckedTimeTrigger on Match_Day_Check_List__c (before insert, before update) {
        if(Trigger.isInsert){
         for(match_day_check_list__c b: trigger.new){
          b.Steward_Phone_Check_Complete_Last_Mod__c = DateTime.Now();
          b.Radio_Check_Complete_Last_Modified__c = DateTime.Now();
          b.CCTV_Cameras_Checked_Last_Modified__c = DateTime.Now();
        }
      }
      if(Trigger.isUpdate){
            for(match_day_check_list__c b: trigger.new){
                match_day_check_list__c oldb = Trigger.oldMap.get(b.ID);

                if(oldb.Steward_Phone_Check_Complete__c != b.Steward_Phone_Check_Complete__c){
                    b.Steward_Phone_Check_Complete_Last_Mod__c = DateTime.Now();
                }
                if(oldb.Radio_Check_Complete__c != b.Radio_Check_Complete__c){

                    b.Radio_Check_Complete_Last_Modified__c = DateTime.Now();

                }


                if(oldb.CCTV_Cameras_Checked__c != b.CCTV_Cameras_Checked__c){
                    b.CCTV_Cameras_Checked_Last_Modified__c = DateTime.Now();
                }

                if(oldb.Turnstile_Checks_Control_Room__c != b.Turnstile_Checks_Control_Room__c){
                    b.Turnstile_Checks_Last_Modified_CRoom__c = DateTime.Now();
                }
        }
    }
    }

Many Thanks

Solution

  • @isTest
    public class TestClass {
    
      @isTest
      static void firstTest() {
        Match_Day_Check_List__c mdcl01 = new Match_Day_Check_List__c(
          // put mandatory fields here
        );
        insert mdcl01; // check insert logic
    
        mdcl01.Steward_Phone_Check_Complete__c = !mdcl01.Steward_Phone_Check_Complete__c;
        mdcl01.Radio_Check_Complete__c = !mdcl01.Radio_Check_Complete__c;
        mdcl01.CCTV_Cameras_Checked__c = !mdcl01.CCTV_Cameras_Checked__c;
        mdcl01.Turnstile_Checks_Control_Room__c = !mdcl01.Turnstile_Checks_Control_Room__c;
        update mdcl01; // check update logic 
      }
    }