7cf25ac7c8
* more list stuff Use the selected list instead of the default list, but also use the default list start list selection code * move token warning to a modal, fix the install issue * add/remove/enter key * handle enter on currency select for ETHER * change slippage tolerance to be a slider * make ui closer to the mocks * commit slider changes * back to tabs * copy changes * bump list version * some styling for the list select * bump uniswap default list version * use contract calls to get ens names and addresses * show list logo * fix failing integration test * .eth.link * list introduction screen * remove showSendWithSwap * fix integration and unit tests * resolve ENS names * logos from ens * fix the lint errors * some refactoring to better support using a the library provider from the user for resolving ENS names * load list info from the list url for the introduction page * make it slightly harder to remove a list * minor clean up, some help text and links * remove icon from list update popup * show added/removed tokens * add GA everywhere, don't debounce contenthash lookups * show tags * fix tag key * tag display, list rendering, needs optimization * fix list fetching in firefox, style issue in safari * sort the lists, clean up styling * use client provider when possible * show token warning for url loaded tokens * improve the warning modal * some refactoring to fix the list fetching on networks other than mainnet * fix tests * some minor improvements * increase timeout to maybe fix integration tests which pass locally * build for tests using the dev network url * reset the lists if we deleted the other two copies * improve how we handle updating the default list of lists * fix integration test * Update token list selection styles * fix external links, reuse the on click outside code, show add errors * show the list origin instead of the full url * fix update list link * show host instead of hostname do not automatically dismiss major version upgrades for lists * fix link to tokenlists.org * add uma * clean up styling in list rows * bump token list version * bump token list version again * hover symbol to see currency name * bump version * add cmc lists, dharma list Co-authored-by: Callil Capuozzo <callil.capuozzo@gmail.com>
77 lines
2.5 KiB
TypeScript
77 lines
2.5 KiB
TypeScript
describe('Swap', () => {
|
|
beforeEach(() => {
|
|
cy.clearLocalStorage()
|
|
cy.visit('/swap')
|
|
})
|
|
it('can enter an amount into input', () => {
|
|
cy.get('#swap-currency-input .token-amount-input')
|
|
.type('0.001', { delay: 200 })
|
|
.should('have.value', '0.001')
|
|
})
|
|
|
|
it('zero swap amount', () => {
|
|
cy.get('#swap-currency-input .token-amount-input')
|
|
.type('0.0', { delay: 200 })
|
|
.should('have.value', '0.0')
|
|
})
|
|
|
|
it('invalid swap amount', () => {
|
|
cy.get('#swap-currency-input .token-amount-input')
|
|
.type('\\', { delay: 200 })
|
|
.should('have.value', '')
|
|
})
|
|
|
|
it('can enter an amount into output', () => {
|
|
cy.get('#swap-currency-output .token-amount-input')
|
|
.type('0.001', { delay: 200 })
|
|
.should('have.value', '0.001')
|
|
})
|
|
|
|
it('zero output amount', () => {
|
|
cy.get('#swap-currency-output .token-amount-input')
|
|
.type('0.0', { delay: 200 })
|
|
.should('have.value', '0.0')
|
|
})
|
|
|
|
it('can swap ETH for DAI', () => {
|
|
cy.get('#swap-currency-output .open-currency-select-button').click()
|
|
cy.get('#select-default-uniswap-list .select-button').click()
|
|
cy.get('.token-item-0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735').should('be.visible')
|
|
cy.get('.token-item-0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735').click({ force: true })
|
|
cy.get('#swap-currency-input .token-amount-input').should('be.visible')
|
|
cy.get('#swap-currency-input .token-amount-input').type('0.001', { force: true, delay: 200 })
|
|
cy.get('#swap-currency-output .token-amount-input').should('not.equal', '')
|
|
cy.get('#swap-button').click()
|
|
cy.get('#confirm-swap-or-send').should('contain', 'Confirm Swap')
|
|
})
|
|
|
|
it('add a recipient does not exist unless in expert mode', () => {
|
|
cy.get('#add-recipient-button').should('not.exist')
|
|
})
|
|
|
|
describe('expert mode', () => {
|
|
beforeEach(() => {
|
|
cy.window().then(win => {
|
|
cy.stub(win, 'prompt').returns('confirm')
|
|
})
|
|
cy.get('#open-settings-dialog-button').click()
|
|
cy.get('#toggle-expert-mode-button').click()
|
|
cy.get('#confirm-expert-mode').click()
|
|
})
|
|
it('add a recipient is visible', () => {
|
|
cy.get('#add-recipient-button').should('be.visible')
|
|
})
|
|
|
|
it('add a recipient', () => {
|
|
cy.get('#add-recipient-button').click()
|
|
cy.get('#recipient').should('exist')
|
|
})
|
|
|
|
it('remove recipient', () => {
|
|
cy.get('#add-recipient-button').click()
|
|
cy.get('#remove-recipient-button').click()
|
|
cy.get('#recipient').should('not.exist')
|
|
})
|
|
})
|
|
})
|