mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-01 13:47:06 +01:00
103 lines
3.2 KiB
JavaScript
103 lines
3.2 KiB
JavaScript
|
import { TransactionType } from '../constants/transaction';
|
||
|
import updateTxData from './updateTxData';
|
||
|
|
||
|
describe('updateTxData', () => {
|
||
|
const mockAddToAddressBookIfNew = jest.fn();
|
||
|
|
||
|
afterEach(() => {
|
||
|
mockAddToAddressBookIfNew.mockClear();
|
||
|
});
|
||
|
|
||
|
it('should add to address book if txData type is simpleSend', () => {
|
||
|
const txData = {
|
||
|
type: TransactionType.simpleSend,
|
||
|
};
|
||
|
updateTxData({
|
||
|
txData,
|
||
|
addToAddressBookIfNew: mockAddToAddressBookIfNew,
|
||
|
toAccounts: 'mockToAccounts',
|
||
|
toAddress: 'mockToAddress',
|
||
|
});
|
||
|
expect(mockAddToAddressBookIfNew).toHaveBeenCalledWith(
|
||
|
'mockToAddress',
|
||
|
'mockToAccounts',
|
||
|
);
|
||
|
});
|
||
|
|
||
|
it('should update estimatedBaseFee if baseFeePerGas is provided', () => {
|
||
|
const txData = {};
|
||
|
const result = updateTxData({
|
||
|
txData,
|
||
|
baseFeePerGas: 'mockBaseFeePerGas',
|
||
|
});
|
||
|
expect(result.estimatedBaseFee).toBe('mockBaseFeePerGas');
|
||
|
});
|
||
|
|
||
|
it('should update contractMethodName if name is provided', () => {
|
||
|
const txData = {};
|
||
|
const result = updateTxData({
|
||
|
txData,
|
||
|
name: 'mockName',
|
||
|
});
|
||
|
expect(result.contractMethodName).toBe('mockName');
|
||
|
});
|
||
|
|
||
|
it('should update dappProposedTokenAmount and originalApprovalAmount if dappProposedTokenAmount is provided', () => {
|
||
|
const txData = {};
|
||
|
const result = updateTxData({
|
||
|
txData,
|
||
|
dappProposedTokenAmount: 'mockDappProposedTokenAmount',
|
||
|
});
|
||
|
expect(result.dappProposedTokenAmount).toBe('mockDappProposedTokenAmount');
|
||
|
expect(result.originalApprovalAmount).toBe('mockDappProposedTokenAmount');
|
||
|
});
|
||
|
|
||
|
it('should update customTokenAmount and finalApprovalAmount if customTokenAmount is provided', () => {
|
||
|
const txData = {};
|
||
|
const result = updateTxData({
|
||
|
txData,
|
||
|
customTokenAmount: 'mockCustomTokenAmount',
|
||
|
});
|
||
|
expect(result.customTokenAmount).toBe('mockCustomTokenAmount');
|
||
|
expect(result.finalApprovalAmount).toBe('mockCustomTokenAmount');
|
||
|
});
|
||
|
|
||
|
it('should update finalApprovalAmount if dappProposedTokenAmount is provided but customTokenAmount is not', () => {
|
||
|
const txData = {};
|
||
|
const result = updateTxData({
|
||
|
txData,
|
||
|
dappProposedTokenAmount: 'mockDappProposedTokenAmount',
|
||
|
});
|
||
|
expect(result.finalApprovalAmount).toBe('mockDappProposedTokenAmount');
|
||
|
});
|
||
|
|
||
|
it('should update currentTokenBalance if currentTokenBalance is provided', () => {
|
||
|
const txData = {};
|
||
|
const result = updateTxData({
|
||
|
txData,
|
||
|
currentTokenBalance: 'mockCurrentTokenBalance',
|
||
|
});
|
||
|
expect(result.currentTokenBalance).toBe('mockCurrentTokenBalance');
|
||
|
});
|
||
|
|
||
|
it('should update maxFeePerGas in txParams if maxFeePerGas is provided', () => {
|
||
|
const txData = { txParams: {} };
|
||
|
const result = updateTxData({
|
||
|
txData,
|
||
|
maxFeePerGas: 'mockMaxFeePerGas',
|
||
|
});
|
||
|
expect(result.txParams.maxFeePerGas).toBe('mockMaxFeePerGas');
|
||
|
});
|
||
|
|
||
|
it('should update maxPriorityFeePerGas in txParams if maxPriorityFeePerGas is provided', () => {
|
||
|
const txData = { txParams: {} };
|
||
|
const result = updateTxData({
|
||
|
txData,
|
||
|
maxPriorityFeePerGas: 'mockMaxPriorityFeePerGas',
|
||
|
});
|
||
|
expect(result.txParams.maxPriorityFeePerGas).toBe(
|
||
|
'mockMaxPriorityFeePerGas',
|
||
|
);
|
||
|
});
|
||
|
});
|