1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-26 12:29:06 +01:00

Readable tests, and set nextUnreadNotice to null when CLEAR_NOTICES is dispatched

This commit is contained in:
Thomas 2018-10-31 07:07:25 -07:00
parent 7531de14f9
commit 7607794851
2 changed files with 96 additions and 23 deletions

View File

@ -2,22 +2,15 @@ import assert from 'assert'
import reduceMetamask from '../../../../../ui/app/reducers/metamask'
import * as actions from '../../../../../ui/app/actions'
describe('MetaMask Reducers', () => {
let initState,
noticesState,
unlockMetaMaskState,
seedWordsState,
showNewVaultSeedState,
sendState,
pendingTokensState
describe.only('MetaMask Reducers', () => {
it('init state', () => {
initState = reduceMetamask({metamask:{}}, {})
const initState = reduceMetamask({metamask:{}}, {})
assert(initState)
})
it('sets revealing seed to true and adds seed words to new state', () => {
seedWordsState = reduceMetamask({}, {
const seedWordsState = reduceMetamask({}, {
type: actions.SHOW_NEW_VAULT_SEED,
value: 'test seed words',
})
@ -27,11 +20,17 @@ describe('MetaMask Reducers', () => {
})
it('shows account page', () => {
const seedWordsState = {
metamask: {
seedwords: 'test seed words',
isRevealing: true,
},
}
const state = reduceMetamask(seedWordsState, {
type: actions.SHOW_ACCOUNTS_PAGE,
})
assert.equal(seedWordsState.seedWords, 'test seed words')
assert.equal(state.seedWords, undefined)
assert.equal(state.isRevealingSeedWords, false)
})
@ -44,35 +43,60 @@ describe('MetaMask Reducers', () => {
title: 'Title',
body: 'Body',
}
noticesState = reduceMetamask({}, {
const state = reduceMetamask({}, {
type: actions.SHOW_NOTICE,
value: notice,
})
assert.equal(noticesState.noActiveNotices, false)
assert.equal(noticesState.nextUnreadNotice, notice)
assert.equal(state.noActiveNotices, false)
assert.equal(state.nextUnreadNotice, notice)
})
it('clears notice', () => {
const notice = {
id: 0,
read: false,
date: 'Date',
title: 'Title',
body: 'Body',
}
const noticesState = {
metamask: {
noActiveNotices: false,
nextUnreadNotice: notice,
},
}
const state = reduceMetamask(noticesState, {
type: actions.CLEAR_NOTICES,
})
assert.equal(state.noActiveNotices, true)
assert.equal(state.nextUnreadNotice, null)
})
it('unlocks MetaMask', () => {
unlockMetaMaskState = reduceMetamask({}, {
const state = reduceMetamask({}, {
type: actions.UNLOCK_METAMASK,
value: 'test address',
})
assert.equal(unlockMetaMaskState.isUnlocked, true)
assert.equal(unlockMetaMaskState.isInitialized, true)
assert.equal(unlockMetaMaskState.selectedAddress, 'test address')
assert.equal(state.isUnlocked, true)
assert.equal(state.isInitialized, true)
assert.equal(state.selectedAddress, 'test address')
})
it('locks MetaMask', () => {
const unlockMetaMaskState = {
metamask: {
isUnlocked: true,
isInitialzed: false,
selectedAddress: 'test address',
},
}
const lockMetaMask = reduceMetamask(unlockMetaMaskState, {
type: actions.LOCK_METAMASK,
})
@ -172,7 +196,7 @@ describe('MetaMask Reducers', () => {
})
it('shows new vault seed words and sets isRevealingSeedWords to true', () => {
showNewVaultSeedState = reduceMetamask({}, {
const showNewVaultSeedState = reduceMetamask({}, {
type: actions.SHOW_NEW_VAULT_SEED,
value: 'test seed words',
})
@ -182,7 +206,8 @@ describe('MetaMask Reducers', () => {
})
it('shows account detail', () => {
const state = reduceMetamask(showNewVaultSeedState, {
const state = reduceMetamask({}, {
type: actions.SHOW_ACCOUNT_DETAIL,
value: 'test address',
})
@ -365,7 +390,7 @@ describe('MetaMask Reducers', () => {
forceGasMin: '0xGas',
}
sendState = reduceMetamask({}, {
const sendState = reduceMetamask({}, {
type: actions.UPDATE_SEND,
value,
})
@ -374,10 +399,47 @@ describe('MetaMask Reducers', () => {
})
it('clears send', () => {
const initStateSend = {
send:
{ gasLimit: null,
gasPrice: null,
gasTotal: null,
tokenBalance: null,
from: '',
to: '',
amount: '0x0',
memo: '',
errors: {},
maxModeOn: false,
editingTransactionId: null,
forceGasMin: null,
toNickname: '' },
}
const sendState = {
send: {
gasLimit: '0xGasLimit',
gasPrice: '0xGasPrice',
gasTotal: '0xGasTotal',
tokenBalance: '0xBalance',
from: '0xAddress',
to: '0xAddress',
toNickname: '',
maxModeOn: false,
amount: '0xAmount',
memo: '0xMemo',
errors: {},
editingTransactionId: 22,
forceGasMin: '0xGas',
},
}
const state = reduceMetamask(sendState, {
type: actions.CLEAR_SEND,
})
assert.deepEqual(state.send, initState.send)
assert.deepEqual(state.send, initStateSend.send)
})
it('updates value of tx by id', () => {
@ -486,7 +548,7 @@ describe('MetaMask Reducers', () => {
'symbol': 'META',
}
pendingTokensState = reduceMetamask({}, {
const pendingTokensState = reduceMetamask({}, {
type: actions.SET_PENDING_TOKENS,
payload,
})
@ -495,6 +557,16 @@ describe('MetaMask Reducers', () => {
})
it('clears pending tokens', () => {
const payload = {
'address': '0x617b3f8050a0bd94b6b1da02b4384ee5b4df13f4',
'decimals': 18,
'symbol': 'META',
}
const pendingTokensState = {
pendingTokens: payload,
}
const state = reduceMetamask(pendingTokensState, {
type: actions.CLEAR_PENDING_TOKENS,
})

View File

@ -74,6 +74,7 @@ function reduceMetamask (state, action) {
case actions.CLEAR_NOTICES:
return extend(metamaskState, {
noActiveNotices: true,
nextUnreadNotice: null,
})
case actions.UPDATE_METAMASK_STATE: