1
- import { vi } from 'vitest' ;
1
+ import { Mock } from 'vitest' ;
2
2
import { parse , getIntrospectionQuery } from 'graphql' ;
3
3
import { createGraphiQLFetcher } from '../createFetcher' ;
4
4
@@ -11,25 +11,44 @@ vi.mock('graphql-ws');
11
11
vi . mock ( 'subscriptions-transport-ws' ) ;
12
12
13
13
import {
14
- createWebsocketsFetcherFromUrl ,
15
- createMultipartFetcher ,
16
- createSimpleFetcher ,
17
- createWebsocketsFetcherFromClient ,
18
- createLegacyWebsocketsFetcher ,
14
+ createWebsocketsFetcherFromUrl as _createWebsocketsFetcherFromUrl ,
15
+ createMultipartFetcher as _createMultipartFetcher ,
16
+ createSimpleFetcher as _createSimpleFetcher ,
17
+ createWebsocketsFetcherFromClient as _createWebsocketsFetcherFromClient ,
18
+ createLegacyWebsocketsFetcher as _createLegacyWebsocketsFetcher ,
19
19
} from '../lib' ;
20
- import { createClient } from 'graphql-ws' ;
20
+ import { createClient as _createClient } from 'graphql-ws' ;
21
21
import { SubscriptionClient } from 'subscriptions-transport-ws' ;
22
22
23
23
const serverURL = 'http://localhost:3000/graphql' ;
24
24
const wssURL = 'ws://localhost:3000/graphql' ;
25
25
26
26
const exampleIntrospectionDocument = parse ( getIntrospectionQuery ( ) ) ;
27
27
28
+ const createWebsocketsFetcherFromUrl = _createWebsocketsFetcherFromUrl as Mock <
29
+ typeof _createWebsocketsFetcherFromUrl
30
+ > ;
31
+ const createMultipartFetcher = _createMultipartFetcher as Mock <
32
+ typeof _createMultipartFetcher
33
+ > ;
34
+ const createSimpleFetcher = _createSimpleFetcher as Mock <
35
+ typeof _createSimpleFetcher
36
+ > ;
37
+ const createClient = _createClient as Mock < typeof _createClient > ;
38
+ const createWebsocketsFetcherFromClient =
39
+ _createWebsocketsFetcherFromClient as Mock <
40
+ typeof _createWebsocketsFetcherFromClient
41
+ > ;
42
+ const createLegacyWebsocketsFetcher = _createLegacyWebsocketsFetcher as Mock <
43
+ typeof _createLegacyWebsocketsFetcher
44
+ > ;
45
+
28
46
describe ( 'createGraphiQLFetcher' , ( ) => {
29
47
afterEach ( ( ) => {
30
48
vi . resetAllMocks ( ) ;
31
49
} ) ;
32
50
it ( 'returns fetcher without websocket client by default' , ( ) => {
51
+ // @ts -expect-error
33
52
createWebsocketsFetcherFromUrl . mockReturnValue ( true ) ;
34
53
createGraphiQLFetcher ( { url : serverURL } ) ;
35
54
expect ( createWebsocketsFetcherFromUrl . mock . calls ) . toEqual ( [ ] ) ;
@@ -39,6 +58,7 @@ describe('createGraphiQLFetcher', () => {
39
58
} ) ;
40
59
41
60
it ( 'returns simple fetcher for introspection' , async ( ) => {
61
+ // @ts -expect-error
42
62
createSimpleFetcher . mockReturnValue ( async ( ) => 'hey!' ) ;
43
63
const fetcher = createGraphiQLFetcher ( { url : serverURL } ) ;
44
64
expect ( createWebsocketsFetcherFromUrl . mock . calls ) . toEqual ( [ ] ) ;
@@ -55,6 +75,7 @@ describe('createGraphiQLFetcher', () => {
55
75
expect ( res ) . toEqual ( 'hey!' ) ;
56
76
} ) ;
57
77
it ( 'returns fetcher without websocket client or multipart' , ( ) => {
78
+ // @ts -expect-error
58
79
createWebsocketsFetcherFromUrl . mockReturnValue ( true ) ;
59
80
createGraphiQLFetcher ( { url : serverURL , enableIncrementalDelivery : false } ) ;
60
81
expect ( createWebsocketsFetcherFromUrl . mock . calls ) . toEqual ( [ ] ) ;
@@ -64,6 +85,7 @@ describe('createGraphiQLFetcher', () => {
64
85
] ) ;
65
86
} ) ;
66
87
it ( 'returns fetcher with websocket client' , ( ) => {
88
+ // @ts -expect-error
67
89
createWebsocketsFetcherFromUrl . mockReturnValue ( 'Client1' ) ;
68
90
69
91
const args = {
@@ -78,7 +100,9 @@ describe('createGraphiQLFetcher', () => {
78
100
} ) ;
79
101
80
102
it ( 'returns fetcher with custom wsClient' , ( ) => {
103
+ // @ts -expect-error
81
104
createClient . mockReturnValue ( 'WSClient' ) ;
105
+ // @ts -expect-error
82
106
createWebsocketsFetcherFromUrl . mockReturnValue ( 'CustomWSSFetcher' ) ;
83
107
84
108
const wsClient = createClient ( { url : wssURL } ) ;
@@ -95,7 +119,9 @@ describe('createGraphiQLFetcher', () => {
95
119
} ) ;
96
120
97
121
it ( 'returns fetcher with custom legacyClient' , ( ) => {
122
+ // @ts -expect-error
98
123
createClient . mockReturnValue ( 'WSClient' ) ;
124
+ // @ts -expect-error
99
125
createLegacyWebsocketsFetcher . mockReturnValue ( 'CustomWSSFetcher' ) ;
100
126
101
127
const legacyClient = new SubscriptionClient ( wssURL ) ;
0 commit comments