-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Expand file tree
/
Copy pathsignMessage.test.ts
More file actions
67 lines (59 loc) · 1.87 KB
/
Copy pathsignMessage.test.ts
File metadata and controls
67 lines (59 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import { accounts, config, privateKey } from '@wagmi/test'
import { recoverMessageAddress } from 'viem'
import { privateKeyToAccount } from 'viem/accounts'
import { expect, test } from 'vitest'
import { mock } from '../connectors/mock.js'
import { connect } from './connect.js'
import { disconnect } from './disconnect.js'
import { getConnection } from './getConnection.js'
import { signMessage } from './signMessage.js'
const connector = config.connectors[0]!
test('default', async () => {
await connect(config, { connector })
const signature = await signMessage(config, { message: 'foo bar baz' })
await expect(
recoverMessageAddress({
message: 'foo bar baz',
signature,
}),
).resolves.toEqual(getConnection(config).address)
await disconnect(config, { connector })
})
test('behavior: local account', async () => {
const account = privateKeyToAccount(privateKey)
const signature = await signMessage(config, {
account,
message: 'foo bar baz',
})
await expect(
recoverMessageAddress({
message: 'foo bar baz',
signature,
}),
).resolves.toEqual(account.address)
})
test('behavior: user rejected request', async () => {
const connector_ = config._internal.connectors.setup(
mock({
accounts,
features: { signMessageError: true },
}),
)
await connect(config, { connector: connector_ })
await expect(
signMessage(config, { message: 'foo bar baz' }),
).rejects.toMatchInlineSnapshot(`
[UserRejectedRequestError: User rejected the request.
Details: Failed to sign message.
Version: viem@2.43.3]
`)
await disconnect(config, { connector: connector_ })
})
test('behavior: not connected', async () => {
await expect(
signMessage(config, { message: 'foo bar baz' }),
).rejects.toMatchInlineSnapshot(`
[ConnectorNotConnectedError: Connector not connected.
Version: @wagmi/core@x.y.z]
`)
})