aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit
diff options
context:
space:
mode:
authorDan Finlay <somniac@me.com>2016-03-26 09:57:40 +0800
committerDan Finlay <somniac@me.com>2016-03-26 09:57:40 +0800
commit9fbf40e7028a92fe582a8c554bdbea1dbbfe143b (patch)
tree63c5fd2a4e874a2928546630cb8f8d92e3236535 /test/unit
parent1ff518a94e966f5851efb5d60c4277d79f17d744 (diff)
parent742fd7caa8599f4044d9eccc941dbfd47af81c82 (diff)
downloadtangerine-wallet-browser-9fbf40e7028a92fe582a8c554bdbea1dbbfe143b.tar
tangerine-wallet-browser-9fbf40e7028a92fe582a8c554bdbea1dbbfe143b.tar.gz
tangerine-wallet-browser-9fbf40e7028a92fe582a8c554bdbea1dbbfe143b.tar.bz2
tangerine-wallet-browser-9fbf40e7028a92fe582a8c554bdbea1dbbfe143b.tar.lz
tangerine-wallet-browser-9fbf40e7028a92fe582a8c554bdbea1dbbfe143b.tar.xz
tangerine-wallet-browser-9fbf40e7028a92fe582a8c554bdbea1dbbfe143b.tar.zst
tangerine-wallet-browser-9fbf40e7028a92fe582a8c554bdbea1dbbfe143b.zip
Merge pull request #73 from MetaMask/Bip44
Bip44-compliant HD Tree Generation
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/idStore-test.js81
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..d3fabfe9d
--- /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() {
+ let newAccounts = []
+
+ before(function() {
+ window.localStorage = {} // Hacking localStorage support into JSDom
+
+ idStore = new IdentityStore({
+ addAccount(acct) { newAccounts.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(newAccounts[0], accounts[0])
+ done()
+ })
+ })
+ })
+ })
+
+ describe('#recoverFromSeed BIP44 compliance', function() {
+ let seedWords = 'picnic injury awful upper eagle junk alert toss flower renew silly vague'
+ let firstAccount = '0x5d8de92c205279c10e5669f797b853ccef4f739a'
+
+ let password = 'secret!'
+ let accounts = []
+ let idStore
+
+ before(function() {
+ window.localStorage = {} // Hacking localStorage support into JSDom
+
+ idStore = new IdentityStore({
+ addAccount(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()
+ })
+ })
+ })
+})