Skip to content

Commit 754efbd

Browse files
committed
Fix tests
1 parent 97ce626 commit 754efbd

File tree

1 file changed

+55
-21
lines changed

1 file changed

+55
-21
lines changed

packages/x-provider/src/l1-providers/metaMaskWrapper.test.ts

Lines changed: 55 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,13 @@ describe('metaMetaWrapper', () => {
4242

4343
describe('connect', () => {
4444
it('should create a metamask imx provider with a eth signer and imx signer when calling connect', async () => {
45-
const ethSigner = {};
46-
const imxSigner = {};
45+
const ethSigner = {
46+
getAddress: jest.fn().mockResolvedValue('0x123'),
47+
};
48+
const imxSigner = {
49+
getAddress: jest.fn().mockResolvedValue('0x456'),
50+
signMessage: jest.fn().mockResolvedValue('signed-message'),
51+
};
4752

4853
const getSignerMock = jest.fn().mockReturnValue(ethSigner);
4954
(connect as jest.Mock).mockResolvedValue({
@@ -95,40 +100,51 @@ describe('metaMetaWrapper', () => {
95100

96101
describe('signMessage', () => {
97102
it('should call sign message on imx signer and return a string', async () => {
98-
const getSignerMock = jest.fn().mockReturnValue({});
103+
const ethSigner = {
104+
getAddress: jest.fn().mockResolvedValue('0x123'),
105+
};
106+
const imxSigner = {
107+
getAddress: jest.fn().mockResolvedValue('0x456'),
108+
signMessage: jest.fn().mockResolvedValue('signed-message'),
109+
};
110+
111+
const getSignerMock = jest.fn().mockReturnValue(ethSigner);
99112
(connect as jest.Mock).mockResolvedValue({
100113
getSigner: getSignerMock,
101114
});
102-
const signMessageMock = jest.fn().mockReturnValue('Signed message');
103-
(buildImxSigner as jest.Mock).mockResolvedValue({
104-
signMessage: signMessageMock,
105-
});
115+
(buildImxSigner as jest.Mock).mockResolvedValue(imxSigner);
106116

107117
await MetaMaskIMXProvider.connect(config);
108118
const signedMessage = await MetaMaskIMXProvider.signMessage(
109119
'Message to sign',
110120
);
111121

112-
expect(signMessageMock).toBeCalledTimes(1);
113-
expect(signMessageMock).toBeCalledWith('Message to sign');
114-
expect(signedMessage).toEqual('Signed message');
122+
expect(imxSigner.signMessage).toBeCalledTimes(1);
123+
expect(imxSigner.signMessage).toBeCalledWith('Message to sign');
124+
expect(signedMessage).toEqual('signed-message');
115125
});
116126

117127
it('should throw provider error when error calling sign message', async () => {
128+
const ethSigner = {
129+
getAddress: jest.fn().mockResolvedValue('0x123'),
130+
};
131+
const imxSigner = {
132+
getAddress: jest.fn().mockResolvedValue('0x456'),
133+
signMessage: jest.fn().mockRejectedValue(new Error('Sign message failed')),
134+
};
135+
136+
const getSignerMock = jest.fn().mockReturnValue(ethSigner);
118137
(connect as jest.Mock).mockResolvedValue({
119-
getSigner: jest.fn().mockReturnValue({}),
120-
});
121-
(buildImxSigner as jest.Mock).mockResolvedValue({
122-
signMessage: jest
123-
.fn()
124-
.mockRejectedValue(new Error('Error signing the message')),
138+
getSigner: getSignerMock,
125139
});
140+
(buildImxSigner as jest.Mock).mockResolvedValue(imxSigner);
141+
126142
await MetaMaskIMXProvider.connect(config);
127143
await expect(
128144
MetaMaskIMXProvider.signMessage('Message to sign'),
129145
).rejects.toThrow(
130146
new ProviderError(
131-
'Error signing the message',
147+
'Sign message failed',
132148
ProviderErrorType.PROVIDER_CONNECTION_ERROR,
133149
),
134150
);
@@ -137,21 +153,39 @@ describe('metaMetaWrapper', () => {
137153

138154
describe('disconnect', () => {
139155
it('should call disconnect with the imx signer', async () => {
156+
const ethSigner = {
157+
getAddress: jest.fn().mockResolvedValue('0x123'),
158+
};
159+
const imxSigner = {
160+
getAddress: jest.fn().mockResolvedValue('0x456'),
161+
signMessage: jest.fn().mockResolvedValue('signed-message'),
162+
};
163+
164+
const getSignerMock = jest.fn().mockReturnValue(ethSigner);
140165
(connect as jest.Mock).mockResolvedValue({
141-
getSigner: jest.fn(),
166+
getSigner: getSignerMock,
142167
});
143-
(buildImxSigner as jest.Mock).mockResolvedValue({});
168+
(buildImxSigner as jest.Mock).mockResolvedValue(imxSigner);
144169
(disconnectImxSigner as jest.Mock).mockResolvedValue({});
145170
await MetaMaskIMXProvider.connect(config);
146171
await MetaMaskIMXProvider.disconnect();
147172
expect(disconnectImxSigner).toBeCalledTimes(1);
148173
});
149174

150175
it('should throw provider error when error calling disconnect', async () => {
176+
const ethSigner = {
177+
getAddress: jest.fn().mockResolvedValue('0x123'),
178+
};
179+
const imxSigner = {
180+
getAddress: jest.fn().mockResolvedValue('0x456'),
181+
signMessage: jest.fn().mockResolvedValue('signed-message'),
182+
};
183+
184+
const getSignerMock = jest.fn().mockReturnValue(ethSigner);
151185
(connect as jest.Mock).mockResolvedValue({
152-
getSigner: jest.fn().mockReturnValue({}),
186+
getSigner: getSignerMock,
153187
});
154-
(buildImxSigner as jest.Mock).mockResolvedValue({});
188+
(buildImxSigner as jest.Mock).mockResolvedValue(imxSigner);
155189
(disconnectImxSigner as jest.Mock).mockRejectedValue(
156190
new Error('Error disconnecting'),
157191
);

0 commit comments

Comments
 (0)