@saasquatch/universal-hooks-testing-library
v1.0.1
Published
A testing library for universal-hooks
Downloads
72
Maintainers
Keywords
Readme
Universal Hooks Testing Library
This library provides an interface to test hooks written with Universal Hooks. You simply plug an implementation in and continue testing as usual. The API is based off of React Hooks Testing Library.
Usage
First, you plug in an implementation. Here's an example with React:
import * as React from "react";
import * as ReactTestLib from "@testing-library/react-hooks";
setImplementation(React);
setTestImplementation(ReactTestLib);
Or with haunted:
import * as haunted from "haunted";
import * as hauntedTestingLib from "@saasquatch/haunted-hooks-testing-library";
setImplementation(haunted);
setTestImplementation(hauntedTestingLib);
Then, use it like usual.
import { useState } from "@saasquatch/universal-hooks";
import { act, renderHook, setTestImplementation } from "@saasquatch/universal-hooks-testing-library";
test("example", () => {
function useHook() {
const [counter, setCounter] = useState(0);
const inc = setCounter((c) => c + 1);
return { counter, inc };
}
let result;
act(() => {
({ result } = renderHook(useHook));
});
expect(result.current.counter).toBe(0);
act(() => {
result.current.inc();
});
expect(result.current.counter).toBe(1);
});