1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-26 12:29:06 +01:00
metamask-extension/ui/components/app/transaction-breakdown/transaction-breakdown.test.js
Mark Stacey d1cea85f33
Rename provider to providerConfig (#18907)
* Rename `provider` to `providerConfig`

The network controller `provider` state has been renamed to
 `providerConfig`. This better reflects what this state is, and makes
this controller more closely aligned with the core network controller.

All references to the provider configuration have been updated to
prefer `providerConfig` over `provider`, to make the distinction clear
between a provider and provider config.

Closes #18902

* Add migration
2023-05-02 13:23:20 -02:30

98 lines
2.9 KiB
JavaScript

import React from 'react';
import configureMockStore from 'redux-mock-store';
import { within } from '@testing-library/react';
import { renderWithProvider } from '../../../../test/jest/rendering';
import TransactionBreakdown from '.';
function getActualDataFrom(transactionBreakdownRows) {
return transactionBreakdownRows.map((transactionBreakdownRow) => {
const title = within(transactionBreakdownRow).getByTestId(
'transaction-breakdown-row-title',
);
const value = within(transactionBreakdownRow).getByTestId(
'transaction-breakdown-row-value',
);
return [title.textContent, value.textContent];
});
}
describe('TransactionBreakdown', () => {
const store = configureMockStore()({
metamask: {
nativeCurrency: null,
preferences: {},
providerConfig: {
chainId: null,
},
},
});
describe('with a typical non-EIP-1559 transaction', () => {
it('renders properly', () => {
const { getAllByTestId } = renderWithProvider(
<TransactionBreakdown
nonce="0x1d" // 29
transaction={{
txParams: {
gas: '0xb72a', // 46,890
gasPrice: '0x930c19db', // 2,467,043,803
value: '0x2386f26fc10000', // 10,000,000,000,000,000
},
}}
primaryCurrency="-0.01 ETH"
/>,
store,
);
expect(
getActualDataFrom(getAllByTestId('transaction-breakdown-row')),
).toStrictEqual([
['Nonce', '29'],
['Amount', '-0.01 ETH'],
['Gas limit (units)', '46890'],
['Gas price', '2.467043803'],
['Total', '0.01011568ETH'],
]);
});
});
describe('with a typical EIP-1559 transaction', () => {
it('renders properly', () => {
const { getAllByTestId } = renderWithProvider(
<TransactionBreakdown
nonce="0x1d" // 29
transaction={{
txParams: {
gas: '0xb72a', // 46,890
maxFeePerGas: '0xb2d05e00', // 3,000,000,000
maxPriorityFeePerGas: '0x930c19d4', // 2,467,043,796
value: '0x2386f26fc10000', // 10,000,000,000,000,000
},
txReceipt: {
gasUsed: '7a1c', // 31,260
effectiveGasPrice: '0x930c19db', // 2,467,043,803
},
baseFeePerGas: '0x7', // 7
}}
primaryCurrency="-0.01 ETH"
/>,
store,
);
expect(
getActualDataFrom(getAllByTestId('transaction-breakdown-row')),
).toStrictEqual([
['Nonce', '29'],
['Amount', '-0.01 ETH'],
['Gas limit (units)', '46890'],
['Gas used (units)', '31260'],
['Base fee (GWEI)', '0.000000007'],
['Priority fee (GWEI)', '2.467043796'],
['Total gas fee', '0.000077ETH'],
['Max fee per gas', '0.000000003ETH'],
['Total', '0.01007712ETH'],
]);
});
});
});