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<https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/1875345494>
Parameters:
runFieldChangeEvent
Using this method you can trigger a field change event to test your custom form implementations.
List<B25.FormEvent> runFieldChangeEvent(B25.Test_FormHelper.TestFormContext formContext, B25.Test_FormHelper.TestChangeEvent changeEvent)
Return value: List<https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/1875345494>
Parameters:
runRelatedListAddEvent
Using this method you can trigger a related list item add event to test your custom form implementations.
List<B25.FormEvent> runRelatedListAddEvent(B25.Test_FormHelper.TestFormContext formContext, B25.Test_FormHelper.TestRelatedListEvent changeEvent)
Return value: List<https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/1875345494>
Parameters:
runRelatedListRemoveEvent
Using this method you can trigger a related list item remove event to test your custom form implementations.
List<B25.FormEvent> runRelatedListRemoveEvent(B25.Test_FormHelper.TestFormContext formContext, B25.Test_FormHelper.TestRelatedListEvent changeEvent)
Return value: List<https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/1875345494>
Parameters:
runLookupOverrideSearch
Using this method you can trigger a search event to test your custom form implementations.
B25.SearchResultCollection runLookupOverrideSearch(B25.Test_FormHelper.TestFormContext formContext, B25.Test_FormHelper.TestSearchContext testSearchContext)
Return value: B25.SearchResultCollection
Parameters:
runBeforeSaveEvent
Using this method, you can trigger a form before save event to test your custom form implementations.
List<B25.FormEvent> runBeforeSaveEvent(B25.Test_FormHelper.TestFormContext formContext)
Return value: List<https://gomeddo.atlassian.net/wiki/spaces/BPD/pages/1875345494>
Parameters: