|
|
|
import React from 'react';
|
|
|
|
import sinon from 'sinon';
|
|
|
|
import { shallowWithContext } from '../../../../../../test/lib/render-helpers';
|
|
|
|
import AdvancedTabContent from './advanced-tab-content.component';
|
|
|
|
|
|
|
|
describe('AdvancedTabContent Component', () => {
|
|
|
|
let wrapper;
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
const propsMethodSpies = {
|
|
|
|
updateCustomGasPrice: sinon.spy(),
|
|
|
|
updateCustomGasLimit: sinon.spy(),
|
|
|
|
};
|
|
|
|
sinon.spy(AdvancedTabContent.prototype, 'renderDataSummary');
|
|
|
|
|
|
|
|
wrapper = shallowWithContext(
|
|
|
|
<AdvancedTabContent
|
|
|
|
updateCustomGasPrice={propsMethodSpies.updateCustomGasPrice}
|
|
|
|
updateCustomGasLimit={propsMethodSpies.updateCustomGasLimit}
|
|
|
|
customModalGasPriceInHex="11"
|
|
|
|
customModalGasLimitInHex="23456"
|
|
|
|
transactionFee="$0.25"
|
|
|
|
insufficientBalance={false}
|
|
|
|
customPriceIsSafe
|
|
|
|
isSpeedUp={false}
|
|
|
|
customPriceIsExcessive={false}
|
|
|
|
/>,
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
afterEach(() => {
|
|
|
|
sinon.restore();
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('render()', () => {
|
|
|
|
it('should render the advanced-tab root node', () => {
|
|
|
|
expect(wrapper.hasClass('advanced-tab')).toStrictEqual(true);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should render the expected child of the advanced-tab div', () => {
|
|
|
|
const advancedTabChildren = wrapper.children();
|
|
|
|
expect(advancedTabChildren).toHaveLength(2);
|
|
|
|
|
|
|
|
expect(
|
|
|
|
advancedTabChildren
|
|
|
|
.at(0)
|
|
|
|
.hasClass('advanced-tab__transaction-data-summary'),
|
|
|
|
).toStrictEqual(true);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should call renderDataSummary with the expected params', () => {
|
|
|
|
const renderDataSummaryArgs =
|
|
|
|
AdvancedTabContent.prototype.renderDataSummary.getCall(0).args;
|
|
|
|
expect(renderDataSummaryArgs).toStrictEqual(['$0.25']);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe('renderDataSummary()', () => {
|
|
|
|
let dataSummary;
|
|
|
|
|
|
|
|
beforeEach(() => {
|
|
|
|
dataSummary = shallowWithContext(
|
|
|
|
wrapper.instance().renderDataSummary('mockTotalFee'),
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should render the transaction-data-summary root node', () => {
|
|
|
|
expect(
|
|
|
|
dataSummary.hasClass('advanced-tab__transaction-data-summary'),
|
|
|
|
).toStrictEqual(true);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should render titles of the data', () => {
|
|
|
|
const titlesNode = dataSummary.children().at(0);
|
|
|
|
expect(
|
|
|
|
titlesNode.hasClass('advanced-tab__transaction-data-summary__titles'),
|
|
|
|
).toStrictEqual(true);
|
|
|
|
expect(titlesNode.children().at(0).text()).toStrictEqual(
|
|
|
|
'newTransactionFee',
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('should render the data', () => {
|
|
|
|
const dataNode = dataSummary.children().at(1);
|
|
|
|
expect(
|
|
|
|
dataNode.hasClass('advanced-tab__transaction-data-summary__container'),
|
|
|
|
).toStrictEqual(true);
|
|
|
|
expect(dataNode.children().at(0).text()).toStrictEqual('mockTotalFee');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|