|
|
|
import assert from 'assert'
|
|
|
|
import proxyquire from 'proxyquire'
|
|
|
|
import sinon from 'sinon'
|
|
|
|
|
|
|
|
let mapStateToProps
|
|
|
|
let mapDispatchToProps
|
|
|
|
|
|
|
|
const actionSpies = {
|
|
|
|
hideModal: sinon.spy(),
|
|
|
|
}
|
|
|
|
|
|
|
|
const customGasActionSpies = {
|
|
|
|
setCustomGasPrice: sinon.spy(),
|
|
|
|
setCustomGasLimit: sinon.spy(),
|
|
|
|
}
|
|
|
|
|
|
|
|
proxyquire('../gas-modal-page-container.container.js', {
|
|
|
|
'react-redux': {
|
|
|
|
connect: (ms, md) => {
|
|
|
|
mapStateToProps = ms
|
|
|
|
mapDispatchToProps = md
|
|
|
|
return () => ({})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'../../../selectors/custom-gas': {
|
|
|
|
getCustomGasPrice: (s) => `mockGasPrice:${s}`,
|
|
|
|
getCustomGasLimit: (s) => `mockGasLimit:${s}`,
|
|
|
|
getBasicGasEstimateLoadingStatus: (s) => `mockBasicGasEstimateLoadingStatus:${s}`,
|
|
|
|
getRenderableBasicEstimateData: (s) => `mockRenderableBasicEstimateData:${s}`,
|
|
|
|
},
|
|
|
|
'../../../actions': actionSpies,
|
|
|
|
'../../../ducks/gas.duck': customGasActionSpies,
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('gas-modal-page-container container', () => {
|
|
|
|
|
|
|
|
describe('mapStateToProps()', () => {
|
|
|
|
|
|
|
|
it('should map the correct properties to props', () => {
|
|
|
|
assert.equal(mapStateToProps('mockState').customGasPrice, 'mockGasPrice:mockState')
|
|
|
|
assert.equal(mapStateToProps('mockState').customGasLimit, 'mockGasLimit:mockState')
|
|
|
|
assert.equal(mapStateToProps('mockState').gasPriceButtonGroupProps.buttonDataLoading, 'mockBasicGasEstimateLoadingStatus:mockState')
|
|
|
|
assert.equal(mapStateToProps('mockState').gasPriceButtonGroupProps.gasButtonInfo, 'mockRenderableBasicEstimateData:mockState')
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('mapDispatchToProps()', () => {
|
|
|
|
let dispatchSpy
|
|
|
|
let mapDispatchToPropsObject
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
dispatchSpy = sinon.spy()
|
|
|
|
mapDispatchToPropsObject = mapDispatchToProps(dispatchSpy)
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('hideModal()', () => {
|
|
|
|
it('should dispatch a hideModal action', () => {
|
|
|
|
mapDispatchToPropsObject.hideModal()
|
|
|
|
assert(dispatchSpy.calledOnce)
|
|
|
|
assert(actionSpies.hideModal.calledOnce)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('updateCustomGasPrice()', () => {
|
|
|
|
it('should dispatch a setCustomGasPrice action', () => {
|
|
|
|
mapDispatchToPropsObject.updateCustomGasPrice()
|
|
|
|
assert(dispatchSpy.calledOnce)
|
|
|
|
assert(customGasActionSpies.setCustomGasPrice.calledOnce)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
describe('updateCustomGasLimit()', () => {
|
|
|
|
it('should dispatch a setCustomGasLimit action', () => {
|
|
|
|
mapDispatchToPropsObject.updateCustomGasLimit()
|
|
|
|
assert(dispatchSpy.calledOnce)
|
|
|
|
assert(customGasActionSpies.setCustomGasLimit.calledOnce)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|