1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/ui/components/app/confirm-subtitle/confirm-subtitle.test.js
Alex Donesky da06901f79
Fix #18199 : Add fallbacks for confirmation title on NFT transfers (#18269)
* add fallbacks for confirmation title on nft transfers

* Add token name and id

* fix

* fix test

---------

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
2023-03-30 14:07:29 -02:30

84 lines
2.3 KiB
JavaScript

import React from 'react';
import { hexToDecimal } from '../../../../shared/modules/conversion.utils';
import mockState from '../../../../test/data/mock-state.json';
import { renderWithProvider } from '../../../../test/lib/render-helpers';
import configureStore from '../../../store/store';
import ConfirmSubTitle from './confirm-subtitle';
describe('ConfirmSubTitle', () => {
let store;
beforeEach(() => {
mockState.metamask.preferences.showFiatInTestnets = true;
store = configureStore(mockState);
});
it('should render subtitle correctly', async () => {
const { findByText } = renderWithProvider(
<ConfirmSubTitle
txData={{
txParams: {},
}}
hexTransactionAmount="0x9184e72a000"
/>,
store,
);
expect(await findByText('$0.01')).toBeInTheDocument();
});
it('should return null if showFiatInTestnets preference if false', () => {
mockState.metamask.preferences.showFiatInTestnets = false;
store = configureStore(mockState);
const { container } = renderWithProvider(
<ConfirmSubTitle
txData={{
txParams: {},
}}
hexTransactionAmount="0x9184e72a000"
/>,
store,
);
expect(container.firstChild).toStrictEqual(null);
});
it('should not null if showFiatInTestnets preference if false but it is NFT Transfer', async () => {
mockState.metamask.preferences.showFiatInTestnets = false;
mockState.metamask.allNftContracts = {
[mockState.metamask.selectedAddress]: {
[hexToDecimal(mockState.metamask.provider.chainId)]: [
{ address: '0x9' },
],
},
};
store = configureStore(mockState);
const { findByText } = renderWithProvider(
<ConfirmSubTitle
txData={{
txParams: {
to: '0x9',
},
}}
hexTransactionAmount="0x9184e72a000"
/>,
store,
);
expect(await findByText('0.00001')).toBeInTheDocument();
});
it('should render subtitleComponent if passed', () => {
const { getByText } = renderWithProvider(
<ConfirmSubTitle
txData={{
txParams: {},
}}
hexTransactionAmount="0x9184e72a000"
subtitleComponent={<div>dummy_sub_title_passed</div>}
/>,
store,
);
expect(getByText('dummy_sub_title_passed')).toBeInTheDocument();
});
});