source: node_modules/@reduxjs/toolkit/src/query/tests/matchers.test-d.tsx@ ba17441

Last change on this file since ba17441 was a762898, checked in by istevanoska <ilinastevanoska@…>, 5 months ago

Added visualizations

  • Property mode set to 100644
File size: 2.2 KB
Line 
1import type { SerializedError } from '@reduxjs/toolkit'
2import { createSlice } from '@reduxjs/toolkit'
3import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'
4
5interface ResultType {
6 result: 'complex'
7}
8
9interface ArgType {
10 foo: 'bar'
11 count: 3
12}
13
14const baseQuery = fetchBaseQuery({ baseUrl: 'https://example.com' })
15const api = createApi({
16 baseQuery,
17 endpoints(build) {
18 return {
19 querySuccess: build.query<ResultType, ArgType>({
20 query: () => '/success',
21 }),
22 querySuccess2: build.query({ query: () => '/success' }),
23 queryFail: build.query({ query: () => '/error' }),
24 mutationSuccess: build.mutation({
25 query: () => ({ url: '/success', method: 'POST' }),
26 }),
27 mutationSuccess2: build.mutation({
28 query: () => ({ url: '/success', method: 'POST' }),
29 }),
30 mutationFail: build.mutation({
31 query: () => ({ url: '/error', method: 'POST' }),
32 }),
33 }
34 },
35})
36
37describe('type tests', () => {
38 test('inferred types', () => {
39 createSlice({
40 name: 'auth',
41 initialState: {},
42 reducers: {},
43 extraReducers: (builder) => {
44 builder
45 .addMatcher(
46 api.endpoints.querySuccess.matchPending,
47 (state, action) => {
48 expectTypeOf(action.payload).toBeUndefined()
49
50 expectTypeOf(
51 action.meta.arg.originalArgs,
52 ).toEqualTypeOf<ArgType>()
53 },
54 )
55 .addMatcher(
56 api.endpoints.querySuccess.matchFulfilled,
57 (state, action) => {
58 expectTypeOf(action.payload).toEqualTypeOf<ResultType>()
59
60 expectTypeOf(action.meta.fulfilledTimeStamp).toBeNumber()
61
62 expectTypeOf(
63 action.meta.arg.originalArgs,
64 ).toEqualTypeOf<ArgType>()
65 },
66 )
67 .addMatcher(
68 api.endpoints.querySuccess.matchRejected,
69 (state, action) => {
70 expectTypeOf(action.error).toEqualTypeOf<SerializedError>()
71
72 expectTypeOf(
73 action.meta.arg.originalArgs,
74 ).toEqualTypeOf<ArgType>()
75 },
76 )
77 },
78 })
79 })
80})
Note: See TracBrowser for help on using the repository browser.