1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-29 07:16:36 +01:00
metamask-extension/ui/app/pages/send/send-header/tests/send-header-component.test.js
Erik Marks 76a2a9bb8b
@metamask/eslint config@5.0.0 (#10358)
* @metamask/eslint-config@5.0.0
* Update eslintrc and prettierrc
* yarn lint:fix
2021-02-04 10:15:23 -08:00

76 lines
2.2 KiB
JavaScript

import assert from 'assert';
import React from 'react';
import { shallow } from 'enzyme';
import sinon from 'sinon';
import SendHeader from '../send-header.component';
import PageContainerHeader from '../../../../components/ui/page-container/page-container-header';
describe('SendHeader Component', function () {
let wrapper;
const propsMethodSpies = {
clearSend: sinon.spy(),
};
const historySpies = {
push: sinon.spy(),
};
before(function () {
sinon.spy(SendHeader.prototype, 'onClose');
});
beforeEach(function () {
wrapper = shallow(
<SendHeader
clearSend={propsMethodSpies.clearSend}
history={historySpies}
mostRecentOverviewPage="mostRecentOverviewPage"
titleKey="mockTitleKey"
/>,
{ context: { t: (str1, str2) => (str2 ? str1 + str2 : str1) } },
);
});
afterEach(function () {
propsMethodSpies.clearSend.resetHistory();
historySpies.push.resetHistory();
SendHeader.prototype.onClose.resetHistory();
});
after(function () {
sinon.restore();
});
describe('onClose', function () {
it('should call clearSend', function () {
assert.strictEqual(propsMethodSpies.clearSend.callCount, 0);
wrapper.instance().onClose();
assert.strictEqual(propsMethodSpies.clearSend.callCount, 1);
});
it('should call history.push', function () {
assert.strictEqual(historySpies.push.callCount, 0);
wrapper.instance().onClose();
assert.strictEqual(historySpies.push.callCount, 1);
assert.strictEqual(
historySpies.push.getCall(0).args[0],
'mostRecentOverviewPage',
);
});
});
describe('render', function () {
it('should render a PageContainerHeader component', function () {
assert.strictEqual(wrapper.find(PageContainerHeader).length, 1);
});
it('should pass the correct props to PageContainerHeader', function () {
const { onClose, title } = wrapper.find(PageContainerHeader).props();
assert.strictEqual(title, 'mockTitleKey');
assert.strictEqual(SendHeader.prototype.onClose.callCount, 0);
onClose();
assert.strictEqual(SendHeader.prototype.onClose.callCount, 1);
});
});
});