|
|
|
@ -65,91 +65,6 @@ describe('tx confirmation screen', function () { |
|
|
|
|
assert.equal(count, 0) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
describe('sendTx', function () { |
|
|
|
|
var result |
|
|
|
|
|
|
|
|
|
describe('when there is an error', function () { |
|
|
|
|
before(function (done) { |
|
|
|
|
actions._setBackgroundConnection({ |
|
|
|
|
approveTransaction (txId, cb) { cb({message: 'An error!'}) }, |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
actions.sendTx({id: firstTxId})(function (action) { |
|
|
|
|
result = reducers(initialState, action) |
|
|
|
|
done() |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
it('should stay on the page', function () { |
|
|
|
|
assert.equal(result.appState.currentView.name, 'confTx') |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
it('should set errorMessage on the currentView', function () { |
|
|
|
|
assert(result.appState.currentView.errorMessage) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
describe('when there is success', function () { |
|
|
|
|
it('should complete tx and go home', function () { |
|
|
|
|
actions._setBackgroundConnection({ |
|
|
|
|
approveTransaction (txId, cb) { cb() }, |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
var dispatchExpect = sinon.mock() |
|
|
|
|
dispatchExpect.twice() |
|
|
|
|
|
|
|
|
|
actions.sendTx({id: firstTxId})(dispatchExpect) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
describe('when there are two pending txs', function () { |
|
|
|
|
var firstTxId = 1457634084250832 |
|
|
|
|
var result, initialState |
|
|
|
|
before(function (done) { |
|
|
|
|
initialState = { |
|
|
|
|
appState: { |
|
|
|
|
currentView: { |
|
|
|
|
name: 'confTx', |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
metamask: { |
|
|
|
|
unapprovedTxs: { |
|
|
|
|
'1457634084250832': { |
|
|
|
|
id: firstTxId, |
|
|
|
|
status: 'unconfirmed', |
|
|
|
|
time: 1457634084250, |
|
|
|
|
}, |
|
|
|
|
'1457634084250833': { |
|
|
|
|
id: 1457634084250833, |
|
|
|
|
status: 'unconfirmed', |
|
|
|
|
time: 1457634084255, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
freeze(initialState) |
|
|
|
|
|
|
|
|
|
// Mocking a background connection:
|
|
|
|
|
actions._setBackgroundConnection({ |
|
|
|
|
approveTransaction (firstTxId, cb) { cb() }, |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
actions.sendTx({id: firstTxId})(function (action) { |
|
|
|
|
result = reducers(initialState, action) |
|
|
|
|
}) |
|
|
|
|
done() |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
it('should stay on the confTx view', function () { |
|
|
|
|
assert.equal(result.appState.currentView.name, 'confTx') |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
it('should transition to the first tx', function () { |
|
|
|
|
assert.equal(result.appState.currentView.context, 0) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|