mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
added unit tests for metamaskcontroller
This commit is contained in:
parent
41879a9835
commit
e5512c306d
@ -561,10 +561,15 @@ module.exports = class MetamaskController extends EventEmitter {
|
||||
return accounts
|
||||
|
||||
default:
|
||||
throw new Error('MetamaskController - Unknown device')
|
||||
throw new Error('MetamaskController:connectHardware - Unknown device')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the device is unlocked
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
async checkHardwareStatus (deviceName) {
|
||||
|
||||
switch (deviceName) {
|
||||
@ -574,12 +579,19 @@ module.exports = class MetamaskController extends EventEmitter {
|
||||
'Trezor Hardware'
|
||||
)[0]
|
||||
if (!keyring) {
|
||||
return false
|
||||
throw new Error('MetamaskController:checkHardwareStatus - Trezor Hardware keyring not found')
|
||||
}
|
||||
return keyring.isUnlocked()
|
||||
default:
|
||||
throw new Error('MetamaskController:checkHardwareStatus - Unknown device')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clear
|
||||
*
|
||||
* @returns {Promise<boolean>}
|
||||
*/
|
||||
async forgetDevice (deviceName) {
|
||||
|
||||
switch (deviceName) {
|
||||
@ -589,10 +601,12 @@ module.exports = class MetamaskController extends EventEmitter {
|
||||
'Trezor Hardware'
|
||||
)[0]
|
||||
if (!keyring) {
|
||||
return false
|
||||
throw new Error('MetamaskController:forgetDevice - Trezor Hardware keyring not found')
|
||||
}
|
||||
keyring.forgetDevice()
|
||||
return true
|
||||
default:
|
||||
throw new Error('MetamaskController:forgetDevice - Unknown device')
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -222,6 +222,76 @@ describe('MetaMaskController', function () {
|
||||
})
|
||||
})
|
||||
|
||||
describe('connectHardware', function () {
|
||||
|
||||
it('should throw if it receives an unknown device name', async function () {
|
||||
try {
|
||||
await metamaskController.connectHardware('Some random device name', 0)
|
||||
} catch (e) {
|
||||
assert.equal(e, 'Error: MetamaskController:connectHardware - Unknown device')
|
||||
}
|
||||
})
|
||||
|
||||
it('should add the Trezor Hardware keyring', async function () {
|
||||
await metamaskController.connectHardware('trezor', 0).catch((e) => null)
|
||||
const keyrings = await metamaskController.keyringController.getKeyringsByType(
|
||||
'Trezor Hardware'
|
||||
)
|
||||
assert.equal(keyrings.length, 1)
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
describe('checkHardwareStatus', function () {
|
||||
it('should throw if it receives an unknown device name', async function () {
|
||||
try {
|
||||
await metamaskController.checkHardwareStatus('Some random device name')
|
||||
} catch (e) {
|
||||
assert.equal(e, 'Error: MetamaskController:checkHardwareStatus - Unknown device')
|
||||
}
|
||||
})
|
||||
|
||||
it('should be locked by default', async function () {
|
||||
await metamaskController.connectHardware('trezor', 0).catch((e) => null)
|
||||
const status = await metamaskController.checkHardwareStatus('trezor')
|
||||
assert.equal(status, false)
|
||||
})
|
||||
})
|
||||
|
||||
describe('forgetDevice', function () {
|
||||
it('should throw if it receives an unknown device name', async function () {
|
||||
try {
|
||||
await metamaskController.forgetDevice('Some random device name')
|
||||
} catch (e) {
|
||||
assert.equal(e, 'Error: MetamaskController:forgetDevice - Unknown device')
|
||||
}
|
||||
})
|
||||
|
||||
it('should wipe all the keyring info', async function () {
|
||||
await metamaskController.connectHardware('trezor', 0).catch((e) => null)
|
||||
await metamaskController.forgetDevice('trezor')
|
||||
const keyrings = await metamaskController.keyringController.getKeyringsByType(
|
||||
'Trezor Hardware'
|
||||
)
|
||||
|
||||
assert.deepEqual(keyrings[0].accounts, [])
|
||||
assert.deepEqual(keyrings[0].page, 0)
|
||||
assert.deepEqual(keyrings[0].isUnlocked(), false)
|
||||
})
|
||||
})
|
||||
|
||||
describe('unlockTrezorAccount', function () {
|
||||
it('should set accountToUnlock in the keyring', async function () {
|
||||
await metamaskController.connectHardware('trezor', 0).catch((e) => null)
|
||||
const accountToUnlock = 10
|
||||
await metamaskController.unlockTrezorAccount(accountToUnlock).catch((e) => null)
|
||||
const keyrings = await metamaskController.keyringController.getKeyringsByType(
|
||||
'Trezor Hardware'
|
||||
)
|
||||
assert.equal(keyrings[0].unlockedAccount, accountToUnlock)
|
||||
})
|
||||
})
|
||||
|
||||
describe('#setCustomRpc', function () {
|
||||
const customRPC = 'https://custom.rpc/'
|
||||
let rpcTarget
|
||||
|
Loading…
Reference in New Issue
Block a user