Skip to main content
Version: 5.0

mockInitialState()

function mockInitialState(results: Fixture[]): State;

mockInitialState() makes it easy to construct prefill the cache with fixtures. It's used in \

to process the results prop. However, this can also be useful to send into a normal provider when testing more complete flows that need to handle dispatches (and thus fetch).

Arguments#

results#

export interface SuccessFixture {  request: ReadShape<Schema, object>;  params: object;  result: object | string | number;  error?: false;}
export interface ErrorFixture {  request: ReadShape<Schema, object>;  params: object;  result: Error;  error: true;}
export type Fixture = SuccessFixture | ErrorFixture;

This prop specifies the fixtures to use data from. Each item represents a fetch defined by the Endpoint and params. Result contains the JSON response expected from said fetch.

Returns#

State

This can be used as the initialState prop for \

Example#

import { CacheProvider } from 'rest-hooks';import { mockInitialState } from '@rest-hooks/test';
import ArticleResource from 'resources/ArticleResource';import MyComponentToTest from 'components/MyComponentToTest';
const results = [  {    request: ArticleResource.list(),    params: { maxResults: 10 },    result: [      {        id: 5,        content: 'have a merry christmas',        author: 2,        contributors: [],      },      {        id: 532,        content: 'never again',        author: 23,        contributors: [5],      },    ],  },];
<CacheProvider initialState={mockInitialState(results)}>  <MyComponentToTest /></CacheProvider>