import React from 'react' import assert from 'assert' import { shallow } from 'enzyme' import sinon from 'sinon' import CancelTransaction from '../cancel-transaction.component' import CancelTransactionGasFee from '../cancel-transaction-gas-fee' import Modal from '../../../modal' describe('CancelTransaction Component', () => { const t = key => key it('should render a CancelTransaction modal', () => { const wrapper = shallow( , { context: { t }} ) assert.ok(wrapper) assert.equal(wrapper.find(Modal).length, 1) assert.equal(wrapper.find(CancelTransactionGasFee).length, 1) assert.equal(wrapper.find(CancelTransactionGasFee).props().value, '0x1319718a5000') assert.equal(wrapper.find('.cancel-transaction__title').text(), 'cancellationGasFee') assert.equal(wrapper.find('.cancel-transaction__description').text(), 'attemptToCancelDescription') }) it('should pass the correct props to the Modal component', async () => { const createCancelTransactionSpy = sinon.stub().callsFake(() => Promise.resolve()) const hideModalSpy = sinon.spy() const wrapper = shallow( , { context: { t }} ) assert.equal(wrapper.find(Modal).length, 1) const modalProps = wrapper.find(Modal).props() assert.equal(modalProps.headerText, 'attemptToCancel') assert.equal(modalProps.submitText, 'yesLetsTry') assert.equal(modalProps.cancelText, 'nevermind') assert.equal(createCancelTransactionSpy.callCount, 0) assert.equal(hideModalSpy.callCount, 0) await modalProps.onSubmit() assert.equal(createCancelTransactionSpy.callCount, 1) assert.equal(hideModalSpy.callCount, 1) modalProps.onCancel() assert.equal(hideModalSpy.callCount, 2) }) })