1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 10:30:04 +01:00
metamask-extension/test/unit/actions/tx_test.js
2020-11-02 17:41:28 -06:00

51 lines
1.3 KiB
JavaScript

import assert from 'assert'
import configureMockStore from 'redux-mock-store'
import thunk from 'redux-thunk'
import * as actions from '../../../ui/app/store/actions'
import * as actionConstants from '../../../ui/app/store/actionConstants'
const middlewares = [thunk]
const mockStore = configureMockStore(middlewares)
describe('tx confirmation screen', function () {
const txId = 1457634084250832
const initialState = {
appState: {},
metamask: {
unapprovedTxs: {
[txId]: {
id: txId,
status: 'unconfirmed',
time: 1457634084250,
},
},
},
}
const store = mockStore(initialState)
describe('cancelTx', function () {
it('creates COMPLETED_TX with the cancelled transaction ID', async function () {
actions._setBackgroundConnection({
approveTransaction(_, cb) {
cb(new Error('An error!'))
},
cancelTransaction(_, cb) {
cb()
},
getState(cb) {
cb(null, {})
},
})
await store.dispatch(actions.cancelTx({ id: txId }))
const storeActions = store.getActions()
const completedTxAction = storeActions.find(
({ type }) => type === actionConstants.COMPLETED_TX,
)
const { id } = completedTxAction.value
assert.equal(id, txId)
})
})
})