Unit Testing the Custom Form Logic

 

To make sure your custom form logic in GoMeddo is unit tested a global class called Test_FormHelper, is added to the applications. This class contains helper methods that allow you to trigger form events.

Because these methods fire an event as if it was fired from the form to make the behaviour consistent during unit tests and normal operation the default GoMeddo handlers are also fired. This means the return value of FormEvent could include FormEvents produced by GoMeddo.

 

Start of the unit test

To let GoMeddo know that there is custom logic in place you need to add a @TestSetup. Which creates the setting in the unit test.

@TestSetup static void makeData(){ B25__System_Setting__c systemSetting = new B25__System_Setting__c(); systemSetting.Name ='Reservation Form Customizer Class'; systemSetting.B25__String_Value__c = <CUSTOMIZER_APEX_CLASS_NAME>; Database.insert(systemSetting); }

Methods

runFormInitializationEvent

Using this method, you can trigger a form initialization event to test your custom form implementations.

List<B25.FormEvent> runFormInitializationEvent(B25.Test_FormHelper.TestFormContext formContext)

Return value: List<B25.FormEvent>

Parameters:

Name

Type

Description

Name

Type

Description

formContext

B25.Test_FormHelper.TestFormContext

The context of the form during the initialization event.

runFormOpenEvent

Using this method, you can trigger a form open event to test your custom form implementations.

List<B25.FormEvent> runFormOpenEvent(B25.Test_FormHelper.TestFormContext formContext)

Return value: List<B25.FormEvent>

Parameters:

Name

Type

Description

Name

Type

Description

formContext

B25.Test_FormHelper.TestFormContext

The context of the form during the open event.

runFieldChangeEvent

Using this method you can trigger a field change event to test your custom form implementations.

Return value: List<B25.FormEvent>

Parameters:

Name

Type

Description

Name

Type

Description

formContext

B25.Test_FormHelper.TestFormContext

The context of the form during the field change event.

changeEvent

B25.Test_FormHelper.TestChangeEvent

The change event that is being fired

runRelatedListAddEvent

Using this method you can trigger a related list item add event to test your custom form implementations.

Return value: List<B25.FormEvent>

Parameters:

Name

Type

Description

Name

Type

Description

formContext

B25.Test_FormHelper.TestFormContext

The context of the form during the related list add event.

changeEvent

B25.Test_FormHelper.TestRelatedListEvent

The related list event that is being fired

runRelatedListRemoveEvent

Using this method you can trigger a related list item remove event to test your custom form implementations.

Return value: List<B25.FormEvent>

Parameters:

Name

Type

Description

Name

Type

Description

formContext

B25.Test_FormHelper.TestFormContext

The context of the form during the related list remove event.

changeEvent

B25.Test_FormHelper.TestRelatedListEvent

The related list event that is being fired

runLookupOverrideSearch

Using this method you can trigger a search event to test your custom form implementations.

Return value: B25.SearchResultCollection

Parameters:

Name

Type

Description

Name

Type

Description

formContext

B25.Test_FormHelper.TestFormContext

The context of the form during the search event.

changeEvent

B25.Test_FormHelper.TestSearchContext

The search context.

runBeforeSaveEvent

Using this method, you can trigger a form before save event to test your custom form implementations.

Return value: List<B25.FormEvent>

Parameters:

Name

Type

Description

Name

Type

Description

formContext

B25.Test_FormHelper.TestFormContext

The context of the form during the save event.

runButtonClickEvent

Using this method, you can trigger a form button click event to test your custom form implementations.

Return value: List<B25.FormEvent>

Parameters:

Name

Type

Description

Name

Type

Description

formContext

B25.Test_FormHelper.TestFormContext

The context of the form during the save event.

buttonName

String

The name of the button to trigger.