-
Notifications
You must be signed in to change notification settings - Fork 47
/
SetupWalletProvider.test.tsx
181 lines (138 loc) · 4.93 KB
/
SetupWalletProvider.test.tsx
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
import {act, renderHook} from '@testing-library/react-hooks'
import * as React from 'react'
import {useSetupWallet} from '../hooks/useSetupWallet'
import {HWDeviceInfo, setupWalletDefaultState} from '../state/state'
import {SetupWalletProvider} from './SetupWalletProvider'
const wrapper: React.FC<React.PropsWithChildren> = ({children}) => (
<SetupWalletProvider>{children}</SetupWalletProvider>
)
describe('SetupWalletContext :: hooks', () => {
test('mnemonicChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.mnemonicChanged('fake-mnemonic')
})
expect(result.current.mnemonic).toBe('fake-mnemonic')
})
test('walletNameChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.walletNameChanged('fake-walletName')
})
expect(result.current.walletName).toBe('fake-walletName')
})
test('walletPasswordChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.walletPasswordChanged('fake-walletPassword')
})
expect(result.current.walletPassword).toBe('fake-walletPassword')
})
test('networkIdChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.networkIdChanged(1)
})
expect(result.current.networkId).toBe(1)
})
test('walletImplementationIdChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.walletImplementationIdChanged(
'fake-walletImplementationId',
)
})
expect(result.current.walletImplementationId).toBe(
'fake-walletImplementationId',
)
})
test('publicKeyHexChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.publicKeyHexChanged('fake-fake-key')
})
expect(result.current.publicKeyHex).toBe('fake-fake-key')
})
test('pathChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.pathChanged([3838388338])
})
expect(result.current.path).toEqual([3838388338])
})
test('setUpTypeChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.setUpTypeChanged('create')
})
expect(result.current.setUpType).toBe('create')
})
test('mnemonicTypeChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.mnemonicTypeChanged(15)
})
expect(result.current.mnemonicType).toBe(15)
})
test('useUSBChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.useUSBChanged(true)
})
expect(result.current.useUSB).toBe(true)
})
test('showRestoreWalletInfoModalChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.showRestoreWalletInfoModalChanged(true)
})
expect(result.current.showRestoreWalletInfoModal).toBe(true)
})
test('showCreateWalletInfoModalChanged', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.showCreateWalletInfoModalChanged(true)
})
expect(result.current.showCreateWalletInfoModal).toBe(true)
})
test('reset', () => {
const {result} = renderHook(() => useSetupWallet(), {wrapper})
act(() => {
result.current.mnemonicChanged('fake-mnemonic')
result.current.walletNameChanged('fake-walletName')
result.current.walletPasswordChanged('fake-walletPassword')
result.current.networkIdChanged(1)
result.current.walletImplementationIdChanged(
'fake-walletImplementationId',
)
result.current.hwDeviceInfoChanged({
foo: 'bar',
} as unknown as HWDeviceInfo)
})
expect(result.current.mnemonic).toBe('fake-mnemonic')
expect(result.current.walletName).toBe('fake-walletName')
expect(result.current.walletPassword).toBe('fake-walletPassword')
expect(result.current.networkId).toBe(1)
expect(result.current.walletImplementationId).toBe(
'fake-walletImplementationId',
)
expect(result.current.hwDeviceInfo).toEqual({
foo: 'bar',
})
act(() => {
result.current.reset()
})
expect(result.current.mnemonic).toBe(setupWalletDefaultState.mnemonic)
expect(result.current.walletName).toBe(setupWalletDefaultState.walletName)
expect(result.current.walletPassword).toBe(
setupWalletDefaultState.walletPassword,
)
expect(result.current.networkId).toBe(setupWalletDefaultState.networkId)
expect(result.current.walletImplementationId).toBe(
setupWalletDefaultState.walletImplementationId,
)
expect(result.current.hwDeviceInfo).toBe(
setupWalletDefaultState.hwDeviceInfo,
)
})
})