testCanvasLifecycle(lifecycleHandler, mockRenderContext)
Signature
public static Void testCanvasLifecycle(Canvas.CanvasLifecycleHandler lifecycleHandler,Canvas.RenderContext mockRenderContext)
Parameters
- lifecycleHandler
- Type: Canvas.CanvasLifecycleHandler
- Specifies the CanvasLifecycleHandler implementation that you need to invoke.
- mockRenderContext
- Type: Canvas.RenderContext
- Specifies the RenderContext information that you need to provide to the invoked CanvasLifecycleHandler. If null is provided for this parameter, the canvas framework generates and uses a default mock RenderContext.
Return Value
Type: Void
Usage
Use this method to invoke an implementation of Canvas.CanvasLifecycleHandler.onRender(renderContext) with a mock Canvas.RenderContext that you provide.
Example
The following example creates an Apex test class that uses maps to represent mock application and environment context data. The mock RenderContext object is then used to invoke a CanvasLifecycleHandler object. In this example, the CanvasLifecycleHandler is defined as MyCanvasListener, which is example implementation provided in Canvas.RenderContext.
@IsTest
global class CanvasRendercontextTest {
@IsTest
static void testRenderContext(){
// Set some application context data in a Map
Map<String,String> appValues = new Map<String,String>();
appValues.put(Canvas.Test.KEY_NAMESPACE,'alternateNamespace');
appValues.put(Canvas.Test.KEY_VERSION,'3.0');
// Set some environment context data in a MAp
Map<String,String> envValues = new Map<String,String>();
envValues.put(Canvas.Test.KEY_DISPLAY_LOCATION,'Chatter');
envValues.put(Canvas.Test.KEY_LOCATION_URL,'https://MyDomainName.my.salesforce.com/_ui/core/chatter/ui/ChatterPage');
// Create a mock RenderContext using the test application and environment context data Maps
Canvas.RenderContext mock = Canvas.Test.mockRenderContext(appValues,envValues);
// Set some custom params on the mock RenderContext
mock.getEnvironmentContext().setParametersAsJSON('{\"param1\":1,\"boolParam\":true,\"stringParam\":\"test string\"}');
// Create a CanvasLifecycleHandler
MyCanvasListener handler = new MyCanvasListener();
// Use the mock RenderContext to invoke the CanvasLifecycleHandler
Canvas.Test.testCanvasLifecycle(handler,mock);
}
}