Case Trigger Test failing due to a complex setup

Summary

Due to complex setup and fields restriction in Salesforce, test class fails to deploy to environment. You may run into an error as follows:

System.DmlException: Insert failed. First exception on row 0: first error: INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, bad value for restricted playlist field

Environment

Cloud or DC

Diagnostics Steps

This test class is only to be executed is the test class such as in the fails to deploy to environment.

Cause

Complex fields such as Cascading fields or restricted fields in Salesforce may cause an issue as the JCFS testing trigger checks whether every logic is working as it has to or it could be positive or negative testing and is global (does not correlate to the fields mapping only). Test classes also confirms every trigger is executed at least once.

 Instructions

To successfully deploy the Trigger, you would require to either:

  • Make the restricted field unrestricted for the duration of deployment

  • Give a value to the erroneous field while testing

Following is the test class that allows you to input the value into the fields in the erroneous field:

@isTest public class CaseTriggerTest { @isTest static void caseAfterUpdateTest() { //insert a new case manually, we also need to add other required fields in to the code Case c = new Case( Subject = 'ServiceRocket Test Case', Description = 'ServiceRocket Test Case', Parent__c = 'Parent A', //change to related field stated in the error message Child__c = 'Child 1' //change to related field stated in the error message ); JCFS.JiraTriggerTestHelper.testAfterUpdate(c); } }

Do take note that the above test class is for reference purposes. As each instance varies in complexity, you may need to change or we also need to add other required fields in to the code accordingly. Please refer to the error message received in order to modify the test class.

Resolution

N/A

 Related articles