1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-13 05:07:12 +01:00
metamask-extension/ui/app/pages/send/send-content/send-amount-row/send-amount-row.container.test.js
2021-04-15 11:01:46 -07:00

95 lines
2.7 KiB
JavaScript

import sinon from 'sinon';
import { setMaxModeTo, updateSendAmount } from '../../../../store/actions';
import { updateSendErrors } from '../../../../ducks/send/send.duck';
let mapDispatchToProps;
jest.mock('react-redux', () => ({
connect: (_, md) => {
mapDispatchToProps = md;
return () => ({});
},
}));
jest.mock('../../../../selectors/send.js', () => ({
sendAmountIsInError: (s) => `mockInError:${s}`,
}));
jest.mock('../../send.utils', () => ({
getAmountErrorObject: (mockDataObject) => ({
...mockDataObject,
mockChange: true,
}),
getGasFeeErrorObject: (mockDataObject) => ({
...mockDataObject,
mockGasFeeErrorChange: true,
}),
}));
jest.mock('../../../../../app/store/actions', () => ({
setMaxModeTo: jest.fn(),
updateSendAmount: jest.fn(),
}));
jest.mock('../../../../../app/ducks/send/send.duck', () => ({
updateSendErrors: jest.fn(),
}));
require('./send-amount-row.container.js');
describe('send-amount-row container', () => {
describe('mapDispatchToProps()', () => {
let dispatchSpy;
let mapDispatchToPropsObject;
beforeEach(() => {
dispatchSpy = sinon.spy();
mapDispatchToPropsObject = mapDispatchToProps(dispatchSpy);
});
describe('setMaxModeTo()', () => {
it('should dispatch an action', () => {
mapDispatchToPropsObject.setMaxModeTo('mockBool');
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(setMaxModeTo).toHaveBeenCalled();
expect(setMaxModeTo).toHaveBeenCalledWith('mockBool');
});
});
describe('updateSendAmount()', () => {
it('should dispatch an action', () => {
mapDispatchToPropsObject.updateSendAmount('mockAmount');
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(updateSendAmount).toHaveBeenCalled();
expect(updateSendAmount).toHaveBeenCalledWith('mockAmount');
});
});
describe('updateGasFeeError()', () => {
it('should dispatch an action', () => {
mapDispatchToPropsObject.updateGasFeeError({ some: 'data' });
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(updateSendErrors).toHaveBeenCalled();
expect(updateSendErrors).toHaveBeenCalledWith({
some: 'data',
mockGasFeeErrorChange: true,
});
});
});
describe('updateSendAmountError()', () => {
it('should dispatch an action', () => {
mapDispatchToPropsObject.updateSendAmountError({ some: 'data' });
expect(dispatchSpy.calledOnce).toStrictEqual(true);
expect(updateSendErrors).toHaveBeenCalled();
expect(updateSendErrors).toHaveBeenCalledWith({
some: 'data',
mockChange: true,
});
});
});
});
});