diff options
Diffstat (limited to 'test/unit/idStore-test.js')
-rw-r--r-- | test/unit/idStore-test.js | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/test/unit/idStore-test.js b/test/unit/idStore-test.js new file mode 100644 index 000000000..4494bf505 --- /dev/null +++ b/test/unit/idStore-test.js @@ -0,0 +1,81 @@ +var assert = require('assert') +var IdentityStore = require('../../app/scripts/lib/idStore') + +describe('IdentityStore', function() { + + describe('#createNewVault', function () { + let idStore + let password = 'password123' + let entropy = 'entripppppyy duuude' + let seedWords + let accounts = [] + let originalKeystore + + before(function(done) { + window.localStorage = {} // Hacking localStorage support into JSDom + + idStore = new IdentityStore({ + addAccount(acct) { accounts.push(acct) }, + }) + + idStore.createNewVault(password, entropy, (err, seeds) => { + seedWords = seeds + originalKeystore = idStore._idmgmt.keyStore + done() + }) + }) + + describe('#recoverFromSeed', function() { + + before(function() { + window.localStorage = {} // Hacking localStorage support into JSDom + accounts = [] + + idStore = new IdentityStore({ + addAccount(acct) { accounts.push(acct) }, + }) + }) + + it('should return the expected keystore', function (done) { + + idStore.recoverFromSeed(password, seedWords, (err) => { + assert.ifError(err) + + let newKeystore = idStore._idmgmt.keyStore + assert.equal(newKeystore, originalKeystore) + done() + }) + }) + }) + }) + + describe('#recoverFromSeed BIP44 compliance', function() { + let seedWords = 'picnic injury awful upper eagle junk alert toss flower renew silly vague' + let firstAccount = '0xaceef0221414801dde7f732196b1c9d8ea60b637' + let password = 'secret!' + let accounts = [] + let idStore + + before(function() { + window.localStorage = {} // Hacking localStorage support into JSDom + + idStore = new IdentityStore({ + addAccount(acct) { + console.log(`pushing account ${acct}`) + accounts.push(acct) + }, + }) + }) + + it('should return the expected first account', function (done) { + + idStore.recoverFromSeed(password, seedWords, (err) => { + assert.ifError(err) + + let newKeystore = idStore._idmgmt.keyStore + assert.equal(accounts[0], firstAccount) + done() + }) + }) + }) +}) |