An open API service indexing awesome lists of open source software.

https://github.com/log101/redux-rtk-mock-adapter


https://github.com/log101/redux-rtk-mock-adapter

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# Redux Toolkit Mock Adapter

A mock adapter for Redux Toolkit Query that allows you to simulate API responses for testing purposes.

## Installation

```
npm install redux-toolkit-mock-adapter
```

## Usage

First, define your API using Redux Toolkit Query:

```typescript
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';

const api = createApi({
reducerPath: 'api',
baseQuery: fetchBaseQuery({ baseUrl: '/api' }),
endpoints: (builder) => ({
getUser: builder.query({
query: (id) => `user/${id}`,
}),
}),
});
```

Then, create a mock adapter for your API:

```typescript
import createMockAdapter from 'redux-toolkit-mock-adapter';

const mockApi = createMockAdapter(api);
```

You can add handlers for specific endpoints and arguments:

```typescript
mockApi.onEndpoint('getUser', 1, { id: 1, name: 'John Doe' });
```

Finally, apply the mock adapter to your API:

```typescript
const { reducer, middleware, endpoints } = mockApi.apply();
```

You can now use the resulting endpoints in your components. For example, in a React component:

```typescript
const MyComponent = () => {
const { data, error, isLoading } = endpoints.getUser.useQuery(1);

if (isLoading) {
return

Loading...
;
}

if (error) {
return

Error: {error.message}
;
}

return

User: {data?.name}
;
};
```

This code is llm-generated, please create an issue if you enocounter any issues.