Skip to content
This repository was archived by the owner on Mar 5, 2025. It is now read-only.

Commit 79a25f2

Browse files
author
Alex Luu
committed
update tests
1 parent 97255b3 commit 79a25f2

File tree

5 files changed

+25
-111
lines changed

5 files changed

+25
-111
lines changed

packages/web3-core/test/unit/__snapshots__/web3_context.test.ts.snap

-83
This file was deleted.

packages/web3-providers-ws/test/integration/web_socket_provider_integration.test.ts

+15
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,21 @@ describeIf(isWs)('WebSocketProvider - implemented methods', () => {
137137
webSocketProvider.disconnect(code);
138138
await closePromise;
139139
});
140+
141+
it('should error when no connection is established', async () => {
142+
const wsProvider = new WebSocketProvider("ws://localhost:999",{}, { autoReconnect: false });
143+
let errored = false;
144+
try{
145+
await wsProvider.request(jsonRpcPayload);
146+
// should not be able to reach here
147+
148+
}catch(e){
149+
// eslint-disable-next-line jest/no-conditional-expect
150+
expect((e as any).message).toBe('Connection not open')
151+
errored = true;
152+
}
153+
expect(errored).toBe(true);
154+
});
140155
});
141156

142157
describe('disconnect and reset test', () => {

packages/web3-providers-ws/test/unit/__mocks__/isomorphic-ws.ts

+7-9
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ export default class WebSocket extends EventEmitter {
2323
public CONNECTING = 0;
2424
public OPEN = 1;
2525

26-
public constructor(...args: any[]) {
26+
public constructor() {
27+
super()
2728
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
28-
super(...args);
29-
3029
// Connected state
3130
this.readyState = 1;
3231
}
@@ -43,13 +42,12 @@ export default class WebSocket extends EventEmitter {
4342
}, 100);
4443
}
4544

46-
public addEventListener(event: any, cb: () => void) {
47-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
48-
this.prependListener(event, cb);
45+
public addEventListener(_event: any, _cb: () => void) {
46+
this.on(_event, _cb)
47+
4948
}
5049

51-
public removeEventListener(event: any, cb: () => void) {
52-
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
53-
this.removeListener(event, cb);
50+
public removeEventListener(_event: any, _cb: () => void) {
51+
this.off(_event, _cb)
5452
}
5553
}

packages/web3-providers-ws/test/unit/check_implementation.test.ts

+3-17
Original file line numberDiff line numberDiff line change
@@ -85,28 +85,14 @@ describe('WebSocketProvider', () => {
8585
ws.disconnect(code, data);
8686
expect(close).toHaveBeenCalledWith(code, data);
8787
});
88-
it('connection error', async () => {
89-
const ws = new WebSocketProvider('ws://localhost:8545');
90-
// @ts-expect-error mock method
91-
ws._socketConnection.readyState = 2;
92-
ws.connect = jest.fn();
93-
94-
await expect(
95-
ws.request({
96-
jsonrpc: '2.0',
97-
id: 42,
98-
method: 'eth_getBalance',
99-
params: ['0x407d73d8a49eeb85d32cf465507dd71d507100c1', 'latest'],
100-
}),
101-
).rejects.toThrow('Connection not open');
102-
});
10388
it('onCloseEvent autoReconnect=false', () => {
10489
const ws = new WebSocketProvider('ws://localhost:8545', {}, { autoReconnect: false });
10590
const _clearQueues = jest.fn();
10691
const _removeSocketListeners = jest.fn();
10792
const _onDisconnect = jest.fn();
10893
// @ts-expect-error mock method
10994
ws._socketConnection.close = jest.fn();
95+
11096
// @ts-expect-error mock method
11197
ws._clearQueues = _clearQueues;
11298
// @ts-expect-error mock method
@@ -140,7 +126,7 @@ describe('WebSocketProvider', () => {
140126
const ws = new WebSocketProvider('ws://localhost:8545');
141127
// @ts-expect-error mock method
142128
ws._socketConnection.listeners = () => {
143-
throw new Error('error');
129+
throw new Error('error');
144130
};
145131
const addEventListener = jest.fn();
146132
// @ts-expect-error mock method
@@ -161,6 +147,6 @@ describe('WebSocketProvider', () => {
161147
expect(removeEventListener).toHaveBeenCalledWith('open', ws._onOpenHandler);
162148
// @ts-expect-error mock method
163149
expect(removeEventListener).toHaveBeenCalledWith('close', ws._onCloseHandler);
164-
});
150+
});
165151
});
166152
});

packages/web3-utils/src/socket_provider.ts

-2
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ export abstract class SocketProvider<
118118

119119
this._socketPath = socketPath;
120120
this._socketOptions = socketOptions;
121-
122121
this._reconnectOptions = {
123122
...DEFAULT_RECONNECTION_OPTIONS,
124123
...(reconnectOptions ?? {}),
@@ -465,7 +464,6 @@ export abstract class SocketProvider<
465464
if (this._sentRequestsQueue.has(requestId)) {
466465
throw new RequestAlreadySentError(requestId);
467466
}
468-
469467
const deferredPromise = new Web3DeferredPromise<JsonRpcResponseWithResult<ResultType>>();
470468
deferredPromise.catch(error => {
471469
this._eventEmitter.emit('error', error);

0 commit comments

Comments
 (0)