diff --git a/test/jest/index.js b/test/jest/index.js
index 098877489..9e6510ca8 100644
--- a/test/jest/index.js
+++ b/test/jest/index.js
@@ -1,3 +1,4 @@
+export { screen, fireEvent } from '@testing-library/react';
export { createSwapsMockStore } from './mock-store';
export { renderWithProvider } from './rendering';
export { setBackgroundConnection } from './background';
diff --git a/ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-input-component.test.js b/ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-input-component.test.js
deleted file mode 100644
index 29b0e6702..000000000
--- a/ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-input-component.test.js
+++ /dev/null
@@ -1,122 +0,0 @@
-import React from 'react';
-import sinon from 'sinon';
-import { mount } from 'enzyme';
-import AdvancedTabContent from './advanced-gas-inputs.container';
-
-describe('Advanced Gas Inputs', () => {
- let wrapper, clock;
-
- const props = {
- updateCustomGasPrice: sinon.spy(),
- updateCustomGasLimit: sinon.spy(),
- showGasPriceInfoModal: sinon.spy(),
- showGasLimitInfoModal: sinon.spy(),
- customGasPrice: 0,
- customGasLimit: 0,
- insufficientBalance: false,
- customPriceIsSafe: true,
- isSpeedUp: false,
- minimumGasLimit: 21000,
- };
-
- beforeEach(() => {
- clock = sinon.useFakeTimers();
-
- wrapper = mount(, {
- context: {
- t: (str) => str,
- },
- });
- });
-
- afterEach(() => {
- clock.restore();
- });
-
- it('wont update gasPrice in props before debounce', () => {
- const event = { target: { value: 1 } };
-
- wrapper.find('input').at(0).simulate('change', event);
- clock.tick(499);
-
- expect(props.updateCustomGasPrice.callCount).toStrictEqual(0);
- });
-
- it('simulates onChange on gas price after debounce', () => {
- const event = { target: { value: 1 } };
-
- wrapper.find('input').at(0).simulate('change', event);
- clock.tick(500);
-
- expect(props.updateCustomGasPrice.calledOnce).toStrictEqual(true);
- expect(props.updateCustomGasPrice.calledWith(1)).toStrictEqual(true);
- });
-
- it('wont update gasLimit in props before debounce', () => {
- const event = { target: { value: 21000 } };
-
- wrapper.find('input').at(1).simulate('change', event);
- clock.tick(499);
-
- expect(props.updateCustomGasLimit.callCount).toStrictEqual(0);
- });
-
- it('simulates onChange on gas limit after debounce', () => {
- const event = { target: { value: 21000 } };
-
- wrapper.find('input').at(1).simulate('change', event);
- clock.tick(500);
-
- expect(props.updateCustomGasLimit.calledOnce).toStrictEqual(true);
- expect(props.updateCustomGasLimit.calledWith(21000)).toStrictEqual(true);
- });
-
- it('errors when insufficientBalance under gas price and gas limit', () => {
- wrapper.setProps({ insufficientBalance: true });
- const renderError = wrapper.find(
- '.advanced-gas-inputs__gas-edit-row__error-text',
- );
- expect(renderError).toHaveLength(2);
-
- expect(renderError.at(0).text()).toStrictEqual('insufficientBalance');
- expect(renderError.at(1).text()).toStrictEqual('insufficientBalance');
- });
-
- it('errors zero gas price / speed up', () => {
- wrapper.setProps({ isSpeedUp: true });
-
- const renderError = wrapper.find(
- '.advanced-gas-inputs__gas-edit-row__error-text',
- );
- expect(renderError).toHaveLength(2);
-
- expect(renderError.at(0).text()).toStrictEqual(
- 'zeroGasPriceOnSpeedUpError',
- );
- expect(renderError.at(1).text()).toStrictEqual(
- 'gasLimitTooLowWithDynamicFee',
- );
- });
-
- it('warns when custom gas price is too low', () => {
- wrapper.setProps({ customPriceIsSafe: false });
-
- const renderWarning = wrapper.find(
- '.advanced-gas-inputs__gas-edit-row__warning-text',
- );
- expect(renderWarning).toHaveLength(1);
-
- expect(renderWarning.text()).toStrictEqual('gasPriceExtremelyLow');
- });
-
- it('errors when custom gas price is too excessive', () => {
- wrapper.setProps({ customPriceIsExcessive: true });
-
- const renderError = wrapper.find(
- '.advanced-gas-inputs__gas-edit-row__error-text',
- );
-
- expect(renderError).toHaveLength(2);
- expect(renderError.at(0).text()).toStrictEqual('gasPriceExcessiveInput');
- });
-});
diff --git a/ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-inputs.component.js b/ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-inputs.component.js
index 21e15f395..128b8361f 100644
--- a/ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-inputs.component.js
+++ b/ui/components/app/gas-customization/advanced-gas-inputs/advanced-gas-inputs.component.js
@@ -130,6 +130,7 @@ export default class AdvancedGasInputs extends Component {
errorComponent,
errorType,
label,
+ testId,
customMessageComponent,
tooltipTitle,
disabled,
@@ -155,6 +156,7 @@ export default class AdvancedGasInputs extends Component {
value={value}
onChange={onChange}
disabled={disabled}
+ data-testid={testId}
/>
{this.renderGasInput({
label: this.context.t('gasPrice'),
+ testId: 'gas-price',
tooltipTitle: this.context.t('gasPriceInfoTooltipContent'),
value: this.state.gasPrice,
onChange: this.onChangeGasPrice,
@@ -253,6 +256,7 @@ export default class AdvancedGasInputs extends Component {
})}
{this.renderGasInput({
label: this.context.t('gasLimit'),
+ testId: 'gas-limit',
tooltipTitle: this.context.t('gasLimitInfoTooltipContent'),
value: this.state.gasLimit,
onChange: this.onChangeGasLimit,