mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-10-25 12:52:33 +02:00
5f254f7325
* Add UseNonce toggle * Get the toggle actually working and dispatching * Display nonce field on confirmation page * Remove console.log * Add placeholder * Set customNonceValue * Add nonce key/value to txParams * remove customNonceValue from component state * Use translation file and existing CSS class * Use existing TextField component * Remove console.log * Fix lint nits * Okay this sorta works? * Move nonce toggle to advanced tab * Set min to 0 * Wrap value in Number() * Add customNonceMap * Update custom nonce translation * Update styles * Reset CustomNonce * Fix lint * Get tests passing * Add customNonceValue to defaults * Fix test * Fix comments * Update tests * Use camel case * Ensure custom nonce can only be whole number * Correct font size for custom nonce input * UX improvements for custom nonce feature * Fix advanced-tab-component tests for custom nonce changes * Update title of nonce toggle in settings * Remove unused locale message * Cast custom nonce to string in confirm-transaction-base.component * Handle string conversion and invalid values for custom nonces in handler * Don't call getNonceLock in tx controller if there is a custom nonce * Set nonce details for cases where nonce is customized * Fix incorrectly use value for deciding whether to getnoncelock in approveTransaction * Default nonceLock to empty object in approveTransaction * Reapply use on nonceLock in cases where customNonceValue in approveTransaction. * Show warning message if custom nonce is higher than MetaMask's next nonce * Fix e2e test failure caused by custom nonce and 3box toggle conflict * Update nonce warning message to include the suggested nonce * Handle nextNonce comparison and update logic in lifecycle * Default nonce field to suggested nonce * Clear custom nonce on reject or confirm * Fix bug where nonces are not shown in tx list on self sent transactions * Ensure custom nonce is reset after tx is created in background * Convert customNonceValue to number in approve tranasction controller * Lint fix * Call getNextNonce after updating custom nonce
45 lines
1.2 KiB
JavaScript
45 lines
1.2 KiB
JavaScript
import React from 'react'
|
|
import assert from 'assert'
|
|
import sinon from 'sinon'
|
|
import { shallow } from 'enzyme'
|
|
import AdvancedTab from '../advanced-tab.component'
|
|
import TextField from '../../../../components/ui/text-field'
|
|
|
|
describe('AdvancedTab Component', () => {
|
|
it('should render correctly when threeBoxFeatureFlag', () => {
|
|
const root = shallow(
|
|
<AdvancedTab />,
|
|
{
|
|
context: {
|
|
t: s => `_${s}`,
|
|
},
|
|
}
|
|
)
|
|
|
|
assert.equal(root.find('.settings-page__content-row').length, 9)
|
|
})
|
|
|
|
it('should update autoLogoutTimeLimit', () => {
|
|
const setAutoLogoutTimeLimitSpy = sinon.spy()
|
|
const root = shallow(
|
|
<AdvancedTab
|
|
setAutoLogoutTimeLimit={setAutoLogoutTimeLimitSpy}
|
|
/>,
|
|
{
|
|
context: {
|
|
t: s => `_${s}`,
|
|
},
|
|
}
|
|
)
|
|
|
|
const autoTimeout = root.find('.settings-page__content-row').at(7)
|
|
const textField = autoTimeout.find(TextField)
|
|
|
|
textField.props().onChange({ target: { value: 1440 } })
|
|
assert.equal(root.state().autoLogoutTimeLimit, 1440)
|
|
|
|
autoTimeout.find('button').simulate('click')
|
|
assert.equal(setAutoLogoutTimeLimitSpy.args[0][0], 1440)
|
|
})
|
|
})
|