# Initialize
ezFlap's WidgetWrapper class wraps around ezFlap widgets and helps to initialize their props, route parameters, and models.
# Props
Use WidgetWrapper's mapProps
constructor parameter to provide values for the wrapped widget's props.
For example:
# Widget
# Test
# Route Params
Use WidgetWrapper's mapRouteParams
parameter to provide route parameters to populate @EzRouteParam
fields.
# Widget
# Test
# Emit Handlers
WidgetWrapper allows to register callbacks as emit handlers.
If we actually want some test code to be invoked when an event is emitted - we can register a callback using the
WidgetWrapper's constructor's mapEmitHandlers
parameter:
# Widget
# Test
However, if all we want is to make sure the event was emitted - then it is not necessary to register emit handlers.
Instead, we can use WidgetWrapper's getNumEmits
method to get the number of times a certain event has been emitted.
For example, using the widget from the previous example, we can verify that events are emitted as expected like this:
# Test
# Models
Models need to be initialized individually.
"Initializing a model" in WidgetWrapper is like providing a model with z-model
.
There are two variations
- Initialize a model with a value.
- Initialize a model with an Rx instance that contains the value.
# With Value
Use the WidgetWrapper.initModel()
function.
# Signature
Rx<T> initModel<T>({
String? key,
required T value,
})
2
3
4
# Widget
# Test
# With Rx
It is also possible to initialize a model with a pre-existing Rx variable.
This is useful in case we want multiple models to read from and write to the same variable.
For example:
# Widget
# Test
# Assertions
WidgetWrapper allows the test code to get and set the current value of a model.
This is done with WidgetWrapper's getModelValue
and setModelValue
methods.
For example:
# Widget
# Test
← Introduction Mock →