Skip to content

Commit 307181f

Browse files
committed
wizard: add unittests for passphrase flow
1 parent 1bb8e2d commit 307181f

File tree

1 file changed

+66
-1
lines changed

1 file changed

+66
-1
lines changed

tests/test_wizard.py

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,41 @@ async def test_create_standard_wallet_newseed(self):
160160

161161
self.assertTrue(os.path.exists(wallet_path))
162162

163+
async def test_create_standard_wallet_newseed_passphrase(self):
164+
w = self.wizard_for(name='test_standard_wallet', wallet_type='standard')
165+
v = w._current
166+
d = v.wizard_data
167+
self.assertEqual('keystore_type', v.view)
168+
169+
d.update({'keystore_type': 'createseed'})
170+
v = w.resolve_next(v.view, d)
171+
self.assertEqual('create_seed', v.view)
172+
173+
d.update({'seed': '9dk', 'seed_type': 'segwit', 'seed_extend': True,
174+
'seed_variant': 'electrum',
175+
'seed_extra_words': False})
176+
177+
v = w.resolve_next(v.view, d)
178+
self.assertEqual('create_ext', v.view)
179+
180+
v = w.resolve_next(v.view, d)
181+
self.assertEqual('confirm_seed', v.view)
182+
183+
v = w.resolve_next(v.view, d)
184+
self.assertEqual('confirm_ext', v.view)
185+
186+
v = w.resolve_next(v.view, d)
187+
self.assertEqual('wallet_password', v.view)
188+
189+
d.update({'password': None, 'encrypt': False})
190+
self.assertTrue(w.is_last_view(v.view, d))
191+
v = w.resolve_next(v.view, d)
192+
193+
wallet_path = os.path.join(w._daemon.config.get_datadir_wallet_path(), d['wallet_name'])
194+
w.create_storage(wallet_path, d)
195+
196+
self.assertTrue(os.path.exists(wallet_path))
197+
163198
async def test_create_standard_wallet_haveseed_electrum(self):
164199
w = self.wizard_for(name='test_standard_wallet', wallet_type='standard')
165200
v = w._current
@@ -184,6 +219,34 @@ async def test_create_standard_wallet_haveseed_electrum(self):
184219

185220
self.assertTrue(os.path.exists(wallet_path))
186221

222+
async def test_create_standard_wallet_haveseed_electrum_passphrase(self):
223+
w = self.wizard_for(name='test_standard_wallet', wallet_type='standard')
224+
v = w._current
225+
d = v.wizard_data
226+
self.assertEqual('keystore_type', v.view)
227+
228+
d.update({'keystore_type': 'haveseed'})
229+
v = w.resolve_next(v.view, d)
230+
self.assertEqual('have_seed', v.view)
231+
232+
d.update({'seed': '9dk', 'seed_type': 'segwit', 'seed_extend': True, 'seed_variant': 'electrum',
233+
'seed_extra_words': False})
234+
235+
v = w.resolve_next(v.view, d)
236+
self.assertEqual('have_ext', v.view)
237+
238+
v = w.resolve_next(v.view, d)
239+
self.assertEqual('wallet_password', v.view)
240+
241+
d.update({'password': None, 'encrypt': False})
242+
self.assertTrue(w.is_last_view(v.view, d))
243+
v = w.resolve_next(v.view, d)
244+
245+
wallet_path = os.path.join(w._daemon.config.get_datadir_wallet_path(), d['wallet_name'])
246+
w.create_storage(wallet_path, d)
247+
248+
self.assertTrue(os.path.exists(wallet_path))
249+
187250
async def test_create_standard_wallet_haveseed_bip39(self):
188251
w = self.wizard_for(name='test_standard_wallet', wallet_type='standard')
189252
v = w._current
@@ -226,10 +289,12 @@ async def test_2fa(self):
226289
self.assertEqual('trustedcoin_have_seed', v.view)
227290
d.update({
228291
'seed': 'oblige basket safe educate whale bacon celery demand novel slice various awkward',
229-
'seed_type': '2fa', 'seed_extend': False, 'seed_variant': 'electrum',
292+
'seed_type': '2fa', 'seed_extend': True, 'seed_variant': 'electrum',
230293
'seed_extra_words': False
231294
})
232295
v = w.resolve_next(v.view, d)
296+
self.assertEqual('trustedcoin_have_ext', v.view)
297+
v = w.resolve_next(v.view, d)
233298
self.assertEqual('trustedcoin_keep_disable', v.view)
234299
d.update({'trustedcoin_keepordisable': 'keep'})
235300
v = w.resolve_next(v.view, d)

0 commit comments

Comments
 (0)