Enzyme Context Utils
The module exports some utilities that improve the ease of authoring enzyme-context
plugins:
ContextWatcher()
ContextWatcher()
A class that gets the context of a Provider and notifies listeners when the context changes.
Arguments
render
((WatcherComponent: React.ComponentClass) => React.ReactElement
): a function that accepts a react component as its only argument and must return some JSX that renders that react component as a child of a Provider.childContextTypes
(ValidationMap
([optional])): thechildContextTypes
of the provider. This argument only needs to be passed if the root component returned byrender
does not definechildContextTypes
.
Attributes
value
(any
): the context of the provider
Methods
listen(listener: (context: any) => void)
: registers a listener to be notified of context changesArguments
listener
: ((context: any) => void
): the listener function that will be called with the context whenever it changes
stop()
: stops listening for changes and cleans up any mounted components
Example
bindContextToWrapper(context: ContextWatcher) => (wrapper: ReactWrapper | ShallowWrapper) => () => void;
bindContextToWrapper(context: ContextWatcher) => (wrapper: ReactWrapper | ShallowWrapper) => () => void;
A utility that binds a ContextWatcher
to a given enzyme wrapper, updating its context whenever the watcher's context changes.
Arguments
context
(ContextWatcher
): the context to watch
Returns
(wrapper: ReactWrapper | ShallowWrapper) => () => void
: a function that accepts the enzyme wrapper to bind toArguments
wrapper
(ReactWrapper | ShallowWrapper
): the enzyme wrapper to bind to
Returns:
() => void
: a function that will stop listening for context changes when called
Example
This method is useful for setting the updater
attributes of an enzyme-context
plugin return:
EnzymePlugin<O extends object, C>
EnzymePlugin<O extends object, C>
A TypeScript interface defining an enzyme-context plugin.
Arguments
O
(extends object
): the shape of the custom parameters users may pass tomount
/shallow
when this plugin is enabled.C
: the type of thecontroller
that will be returned.
Example
Last updated