mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
create tokens storage when setadresses
This commit is contained in:
parent
31286673c3
commit
fbcba8f019
@ -87,8 +87,10 @@ class PreferencesController {
|
|||||||
ids[address] = {name: `Account ${index + 1}`, address, ...oldId}
|
ids[address] = {name: `Account ${index + 1}`, address, ...oldId}
|
||||||
return ids
|
return ids
|
||||||
}, {})
|
}, {})
|
||||||
const accountTokens = addresses.reduce((address) => {
|
const accountTokens = addresses.reduce((tokens, address) => {
|
||||||
return oldAccountTokens[address] || {}
|
const oldTokens = oldAccountTokens[address] || {}
|
||||||
|
tokens[address] = oldTokens
|
||||||
|
return tokens
|
||||||
}, {})
|
}, {})
|
||||||
this.store.updateState({ identities, accountTokens })
|
this.store.updateState({ identities, accountTokens })
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,20 @@ describe('preferences controller', function () {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should create account tokens for each account in the store', function () {
|
||||||
|
preferencesController.setAddresses([
|
||||||
|
'0xda22le',
|
||||||
|
'0x7e57e2',
|
||||||
|
])
|
||||||
|
|
||||||
|
const accountTokens = preferencesController.store.getState().accountTokens
|
||||||
|
|
||||||
|
assert.deepEqual(accountTokens, {
|
||||||
|
'0xda22le': {},
|
||||||
|
'0x7e57e2': {},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
it('should replace its list of addresses', function () {
|
it('should replace its list of addresses', function () {
|
||||||
preferencesController.setAddresses([
|
preferencesController.setAddresses([
|
||||||
'0xda22le',
|
'0xda22le',
|
||||||
@ -67,6 +81,17 @@ describe('preferences controller', function () {
|
|||||||
assert.equal(preferencesController.store.getState().identities['0xda22le'], undefined)
|
assert.equal(preferencesController.store.getState().identities['0xda22le'], undefined)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should remove an address from state and respective tokens', function () {
|
||||||
|
preferencesController.setAddresses([
|
||||||
|
'0xda22le',
|
||||||
|
'0x7e57e2',
|
||||||
|
])
|
||||||
|
|
||||||
|
preferencesController.removeAddress('0xda22le')
|
||||||
|
|
||||||
|
assert.equal(preferencesController.store.getState().accountTokens['0xda22le'], undefined)
|
||||||
|
})
|
||||||
|
|
||||||
it('should switch accounts if the selected address is removed', function () {
|
it('should switch accounts if the selected address is removed', function () {
|
||||||
preferencesController.setAddresses([
|
preferencesController.setAddresses([
|
||||||
'0xda22le',
|
'0xda22le',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user