Skip to content

Commit b524a0e

Browse files
authored
fix/ignore type errors from graphiql-toolkit's tests (#3749)
* aa * fix type errors from graphiql-toolkit's tests
1 parent b40f77c commit b524a0e

File tree

5 files changed

+56
-19
lines changed

5 files changed

+56
-19
lines changed

packages/graphiql-toolkit/src/create-fetcher/__tests__/buildFetcher.spec.ts

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { vi } from 'vitest';
1+
import { Mock } from 'vitest';
22
import { parse, getIntrospectionQuery } from 'graphql';
33
import { createGraphiQLFetcher } from '../createFetcher';
44

@@ -11,25 +11,44 @@ vi.mock('graphql-ws');
1111
vi.mock('subscriptions-transport-ws');
1212

1313
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,
1919
} from '../lib';
20-
import { createClient } from 'graphql-ws';
20+
import { createClient as _createClient } from 'graphql-ws';
2121
import { SubscriptionClient } from 'subscriptions-transport-ws';
2222

2323
const serverURL = 'http://localhost:3000/graphql';
2424
const wssURL = 'ws://localhost:3000/graphql';
2525

2626
const exampleIntrospectionDocument = parse(getIntrospectionQuery());
2727

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+
2846
describe('createGraphiQLFetcher', () => {
2947
afterEach(() => {
3048
vi.resetAllMocks();
3149
});
3250
it('returns fetcher without websocket client by default', () => {
51+
// @ts-expect-error
3352
createWebsocketsFetcherFromUrl.mockReturnValue(true);
3453
createGraphiQLFetcher({ url: serverURL });
3554
expect(createWebsocketsFetcherFromUrl.mock.calls).toEqual([]);
@@ -39,6 +58,7 @@ describe('createGraphiQLFetcher', () => {
3958
});
4059

4160
it('returns simple fetcher for introspection', async () => {
61+
// @ts-expect-error
4262
createSimpleFetcher.mockReturnValue(async () => 'hey!');
4363
const fetcher = createGraphiQLFetcher({ url: serverURL });
4464
expect(createWebsocketsFetcherFromUrl.mock.calls).toEqual([]);
@@ -55,6 +75,7 @@ describe('createGraphiQLFetcher', () => {
5575
expect(res).toEqual('hey!');
5676
});
5777
it('returns fetcher without websocket client or multipart', () => {
78+
// @ts-expect-error
5879
createWebsocketsFetcherFromUrl.mockReturnValue(true);
5980
createGraphiQLFetcher({ url: serverURL, enableIncrementalDelivery: false });
6081
expect(createWebsocketsFetcherFromUrl.mock.calls).toEqual([]);
@@ -64,6 +85,7 @@ describe('createGraphiQLFetcher', () => {
6485
]);
6586
});
6687
it('returns fetcher with websocket client', () => {
88+
// @ts-expect-error
6789
createWebsocketsFetcherFromUrl.mockReturnValue('Client1');
6890

6991
const args = {
@@ -78,7 +100,9 @@ describe('createGraphiQLFetcher', () => {
78100
});
79101

80102
it('returns fetcher with custom wsClient', () => {
103+
// @ts-expect-error
81104
createClient.mockReturnValue('WSClient');
105+
// @ts-expect-error
82106
createWebsocketsFetcherFromUrl.mockReturnValue('CustomWSSFetcher');
83107

84108
const wsClient = createClient({ url: wssURL });
@@ -95,7 +119,9 @@ describe('createGraphiQLFetcher', () => {
95119
});
96120

97121
it('returns fetcher with custom legacyClient', () => {
122+
// @ts-expect-error
98123
createClient.mockReturnValue('WSClient');
124+
// @ts-expect-error
99125
createLegacyWebsocketsFetcher.mockReturnValue('CustomWSSFetcher');
100126

101127
const legacyClient = new SubscriptionClient(wssURL);

packages/graphiql-toolkit/src/create-fetcher/__tests__/lib.spec.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { vi } from 'vitest';
1+
import { Mock } from 'vitest';
22
import { parse } from 'graphql';
33
import {
44
isSubscriptionWithName,
@@ -12,9 +12,12 @@ vi.mock('graphql-ws');
1212

1313
vi.mock('subscriptions-transport-ws');
1414

15-
import { createClient } from 'graphql-ws';
15+
import { createClient as _createClient } from 'graphql-ws';
1616

17-
import { SubscriptionClient } from 'subscriptions-transport-ws';
17+
import { SubscriptionClient as _SubscriptionClient } from 'subscriptions-transport-ws';
18+
19+
const createClient = _createClient as Mock<typeof _createClient>;
20+
const SubscriptionClient = _SubscriptionClient as Mock;
1821

1922
const exampleWithSubscription = parse(/* GraphQL */ `
2023
subscription Example {
@@ -49,16 +52,16 @@ describe('createWebsocketsFetcherFromUrl', () => {
4952
});
5053

5154
it('creates a websockets client using provided url', async () => {
55+
// @ts-expect-error
5256
createClient.mockReturnValue(true);
5357
await createWebsocketsFetcherFromUrl('wss://example.com');
54-
// @ts-ignore
5558
expect(createClient.mock.calls[0][0]).toEqual({ url: 'wss://example.com' });
5659
});
5760

5861
it('creates a websockets client using provided url that fails', async () => {
62+
// @ts-expect-error
5963
createClient.mockReturnValue(false);
6064
expect(await createWebsocketsFetcherFromUrl('wss://example.com')).toThrow();
61-
// @ts-ignore
6265
expect(createClient.mock.calls[0][0]).toEqual({ url: 'wss://example.com' });
6366
});
6467
});
@@ -68,20 +71,22 @@ describe('getWsFetcher', () => {
6871
vi.resetAllMocks();
6972
});
7073
it('provides an observable wsClient when custom wsClient option is provided', async () => {
74+
// @ts-expect-error
7175
createClient.mockReturnValue(true);
76+
// @ts-expect-error
7277
await getWsFetcher({ url: '', wsClient: true });
73-
// @ts-ignore
7478
expect(createClient.mock.calls).toHaveLength(0);
7579
});
7680
it('creates a subscriptions-transports-ws observable when custom legacyClient option is provided', async () => {
81+
// @ts-expect-error
7782
createClient.mockReturnValue(true);
7883
await getWsFetcher({ url: '', legacyClient: true });
79-
// @ts-ignore
8084
expect(createClient.mock.calls).toHaveLength(0);
8185
expect(SubscriptionClient.mock.calls).toHaveLength(0);
8286
});
8387

8488
it('if subscriptionsUrl is provided, create a client on the fly', async () => {
89+
// @ts-expect-error
8590
createClient.mockReturnValue(true);
8691
await getWsFetcher({ url: '', subscriptionUrl: 'wss://example' });
8792
expect(createClient.mock.calls[0]).toEqual([

packages/graphiql-toolkit/src/storage/__tests__/base.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ describe('StorageAPI', () => {
7070
});
7171

7272
it('returns any error while setting a value', () => {
73-
// @ts-ignore
73+
// @ts-expect-error
7474
const throwingStorage = new StorageAPI({
7575
setItem() {
7676
throw new DOMException('Terrible Error');
@@ -84,7 +84,7 @@ describe('StorageAPI', () => {
8484
});
8585

8686
it('returns isQuotaError to true if isQuotaError is thrown', () => {
87-
// @ts-ignore
87+
// @ts-expect-error
8888
const throwingStorage = new StorageAPI({
8989
setItem() {
9090
throw new DOMException('Terrible Error', 'QuotaExceededError');

packages/graphiql-toolkit/src/storage/__tests__/query.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@ import { QueryStore } from '../query';
33

44
class StorageMock {
55
shouldThrow: () => boolean;
6+
// @ts-expect-error
67
count: number;
78
map = {};
9+
// @ts-expect-error
810
storage: Storage;
11+
912
constructor(shouldThrow: () => boolean) {
1013
this.shouldThrow = shouldThrow;
1114
}
@@ -19,7 +22,7 @@ class StorageMock {
1922
isQuotaError: true,
2023
};
2124
}
22-
25+
// @ts-expect-error
2326
this.map[key] = value;
2427

2528
return {
@@ -29,6 +32,7 @@ class StorageMock {
2932
}
3033

3134
get(key: string) {
35+
// @ts-expect-error
3236
return this.map[key] || null;
3337
}
3438
}
@@ -47,6 +51,7 @@ describe('QueryStore', () => {
4751

4852
it('will fail silently on quota error', () => {
4953
let i = 0;
54+
// @ts-expect-error
5055
const store = new QueryStore('normal', new StorageMock(() => i > 4));
5156

5257
for (; i < 10; i++) {
@@ -78,6 +83,7 @@ describe('QueryStore', () => {
7883
let retryCounter = 0;
7984
const store = new QueryStore(
8085
'normal',
86+
// @ts-expect-error
8187
new StorageMock(() => {
8288
retryCounter++;
8389
return shouldThrow();
@@ -110,6 +116,7 @@ describe('QueryStore', () => {
110116
let retryCounter = 0;
111117
const store = new QueryStore(
112118
'normal',
119+
// @ts-expect-error
113120
new StorageMock(() => {
114121
retryCounter++;
115122
return shouldThrow();

packages/graphiql-toolkit/tsconfig.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,5 @@
1212
"moduleResolution": "node",
1313
"types": ["vitest/globals"]
1414
},
15-
"include": ["src", "tsup.config.ts"],
16-
"exclude": ["**/*.spec.ts"]
15+
"include": ["src", "tsup.config.ts", "vitest.config.mts"]
1716
}

0 commit comments

Comments
 (0)