ReactTestUtils

class Object
trait Matchable
class Any

Type members

Classlikes

trait WithRenderedDsl[M, R]
trait WithRenderedDslF[F[_], M, R]

Types

type CompType = ComponentRaw { type Raw <: ComponentClassUntyped; }
type Mounted = MountedRaw
type MountedOutput = Mounted[Object, Object]
type Unmounted[M] = UnmountedSimple[_, M]

Value members

Concrete methods

def act[A](body: => A): A

When writing UI tests, tasks like rendering, user events, or data fetching can be considered as "units" of interaction with a user interface. React provides a helper called act() that makes sure all updates related to these "units" have been processed and applied to the DOM before you make any assertions:

When writing UI tests, tasks like rendering, user events, or data fetching can be considered as "units" of interaction with a user interface. React provides a helper called act() that makes sure all updates related to these "units" have been processed and applied to the DOM before you make any assertions:

 act {
   // render components
 }
 // make assertions

This helps make your tests run closer to what real users would experience when using your application.

def actAsync[F[_], A](body: F[A])(F: Async[F]): F[A]

When writing UI tests, tasks like rendering, user events, or data fetching can be considered as "units" of interaction with a user interface. React provides a helper called act() that makes sure all updates related to these "units" have been processed and applied to the DOM before you make any assertions:

When writing UI tests, tasks like rendering, user events, or data fetching can be considered as "units" of interaction with a user interface. React provides a helper called act() that makes sure all updates related to these "units" have been processed and applied to the DOM before you make any assertions:

 await act(async () => {
   // render components
 });
 // make assertions

This helps make your tests run closer to what real users would experience when using your application.

def findAllInRenderedTree(tree: Mounted, test: MountedOutput => Boolean): Vector[MountedOutput]

Traverse all components in tree and accumulate all components where test(component) is true. This is not that useful on its own, but it's used as a primitive for other test utils.

Traverse all components in tree and accumulate all components where test(component) is true. This is not that useful on its own, but it's used as a primitive for other test utils.

Same as scryRenderedComponentsWithType but expects there to be one result and returns that one result, or throws exception if there is any other number of matches besides one.

Same as scryRenderedComponentsWithType but expects there to be one result and returns that one result, or throws exception if there is any other number of matches besides one.

Like scryRenderedDOMComponentsWithClass but expects there to be one result, and returns that one result, or throws exception if there is any other number of matches besides one.

Like scryRenderedDOMComponentsWithClass but expects there to be one result, and returns that one result, or throws exception if there is any other number of matches besides one.

Like scryRenderedDOMComponentsWithTag but expects there to be one result, and returns that one result, or throws exception if there is any other number of matches besides one.

Like scryRenderedDOMComponentsWithTag but expects there to be one result, and returns that one result, or throws exception if there is any other number of matches besides one.

def modifyProps[P, U <: UnmountedSimple[P, M], M <: MountedSimple[Id, Async, P, _]](c: ComponentSimple[P, Props, U], m: M)(f: P => P): M
def newBodyElement(): Element
def newDocumentElement(): Element
@inline
def raw: ReactTestUtils
def removeNewBodyElement(e: Element): Unit
def removeNewDocumentElement(e: Element): Unit
def removeReactInternals(html: String): String

Turn &lt;div data-reactroot=""&gt;hello&lt/div&gt; into &lt;div&gt;hello&lt/div&gt;

Turn &lt;div data-reactroot=""&gt;hello&lt/div&gt; into &lt;div&gt;hello&lt/div&gt;

def renderIntoBody[M](u: Unmounted[M]): M

Renders a component into the document body via ReactDOM.render().

Renders a component into the document body via ReactDOM.render().

Unlike ReactTestUtils.renderIntoDocument, this allows DOM focus to work.

def renderIntoDocument[M](unmounted: Unmounted[M]): M

Render a component into a detached DOM node in the document. This function requires a DOM.

Render a component into a detached DOM node in the document. This function requires a DOM.

def renderIntoDocument(e: VdomElement): MountedOutput
def replaceProps[P, U <: UnmountedSimple[P, M], M <: MountedSimple[Id, Async, P, _]](c: ComponentSimple[P, Props, U], m: M)(p: P): M

Finds all instances of components with type equal to componentClass.

Finds all instances of components with type equal to componentClass.

def scryRenderedDOMComponentsWithClass(tree: Mounted, className: String): Vector[MountedOutput]

Finds all instance of components in the rendered tree that are DOM components with the class name matching className.

Finds all instance of components in the rendered tree that are DOM components with the class name matching className.

def scryRenderedDOMComponentsWithTag(tree: Mounted, tagName: String): Vector[MountedOutput]

Finds all instance of components in the rendered tree that are DOM components with the tag name matching tagName.

Finds all instance of components in the rendered tree that are DOM components with the tag name matching tagName.

def unmountRawComponent(c: ComponentUntyped | Null): Unit
def withNewBodyElement[A](use: Element => A): A
def withNewBodyElementAsync[F[_], A](use: Element => F[A])(F: Async[F]): F[A]
def withNewBodyElementFuture[A](use: Element => Future[A])(ec: ExecutionContext): Future[A]
def withNewDocumentElement[A](use: Element => A): A
def withNewDocumentElementAsync[F[_], A](use: Element => F[A])(F: Async[F]): F[A]
def withNewDocumentElementFuture[A](use: Element => Future[A])(ec: ExecutionContext): Future[A]
def withRendered[M](u: Unmounted[M], intoBody: Boolean): WithRenderedDsl[M, Element]

Renders a component then unmounts and cleans up after use.

Renders a component then unmounts and cleans up after use.

Value Params
intoBody

Whether to use renderIntoBody or ReactTestUtils.renderIntoDocument.

def withRenderedAsync[M](u: Unmounted[M], intoBody: Boolean): WithRenderedDslF[Async, M, Element]

Renders a component then unmounts and cleans up after use.

Renders a component then unmounts and cleans up after use.

Value Params
intoBody

Whether to use renderIntoBodyAsync() or renderIntoDocumentAsync().

def withRenderedFuture[M, A](u: Unmounted[M], intoBody: Boolean)(f: M => Future[A])(ec: ExecutionContext): Future[A]

Renders a component then unmounts and cleans up after use.

Renders a component then unmounts and cleans up after use.

Value Params
intoBody

Whether to use renderIntoBodyFuture() or renderIntoDocumentFuture().

def withRenderedIntoBody[M](u: Unmounted[M]): WithRenderedDsl[M, Element]

Renders a component into the document body via ReactDOM.render(), then unmounts and cleans up after use.

Renders a component into the document body via ReactDOM.render(), then unmounts and cleans up after use.

Unlike ReactTestUtils.renderIntoDocument, this allows DOM focus to work.

def withRenderedIntoBodyAsync[M](u: Unmounted[M]): WithRenderedDslF[Async, M, Element]

Renders a component into the document body via ReactDOM.render(), and asynchronously waits for the Async to complete before unmounting.

Renders a component into the document body via ReactDOM.render(), and asynchronously waits for the Async to complete before unmounting.

def withRenderedIntoBodyFuture[M, A](u: Unmounted[M])(f: M => Future[A])(ec: ExecutionContext): Future[A]

Renders a component into the document body via ReactDOM.render(), and asynchronously waits for the Future to complete before unmounting.

Renders a component into the document body via ReactDOM.render(), and asynchronously waits for the Future to complete before unmounting.

Renders a component into detached DOM via ReactTestUtils.renderIntoDocument, then unmounts and cleans up after use.

Renders a component into detached DOM via ReactTestUtils.renderIntoDocument, then unmounts and cleans up after use.

def withRenderedIntoDocumentAsync[M](u: Unmounted[M]): WithRenderedDslF[Async, M, Element]

Renders a component into the document body via ReactDOM.render(), and asynchronously waits for the Async to complete before unmounting.

Renders a component into the document body via ReactDOM.render(), and asynchronously waits for the Async to complete before unmounting.

def withRenderedIntoDocumentFuture[M, A](u: Unmounted[M])(f: M => Future[A])(ec: ExecutionContext): Future[A]

Renders a component into detached DOM via ReactTestUtils.renderIntoDocument, and asynchronously waits for the Future to complete before unmounting.

Renders a component into detached DOM via ReactTestUtils.renderIntoDocument, and asynchronously waits for the Future to complete before unmounting.

Deprecated methods

@deprecated("Use .withNewBodyElementAsync", "2.0.0")
def withNewBodyElementAsyncCallback[F[_], A](use: Element => F[A])(F: Async[F]): F[A]
Deprecated
@deprecated("Use .withNewDocumentElementAsync", "2.0.0")
def withNewDocumentElementAsyncCallback[F[_], A](use: Element => F[A])(F: Async[F]): F[A]
Deprecated
@deprecated("Use .withRenderedAsync", "2.0.0")
def withRenderedAsyncCallback[M](u: Unmounted[M], intoBody: Boolean): WithRenderedDslF[Async, M, Element]
Deprecated
@deprecated("Use .withRenderedIntoBodyAsync", "2.0.0")
Deprecated
@deprecated("Use .withRenderedIntoDocumentAsync", "2.0.0")
Deprecated

Implicits

Inherited implicits

final implicit def reactTestExtMountedImpure[A[_], P, S](m: MountedSimple[Id, A, P, S]): ReactTestExt_MountedSimple[Id, A, P, S]
final implicit def reactTestExtMountedSimple[F[_], A[_], P, S](m: MountedSimple[F, A, P, S]): ReactTestExt_MountedSimple[F, A, P, S]