diff --git a/tests/e2e/specs/swap-tokens.spec.js b/tests/e2e/specs/swap-tokens.spec.js index bd5f075..d223f97 100644 --- a/tests/e2e/specs/swap-tokens.spec.js +++ b/tests/e2e/specs/swap-tokens.spec.js @@ -25,26 +25,10 @@ describe('Swap Tokens Tests', () => { selectedChains: ['Agoric'], }); - cy.getWalletAddress('Agoric').then( - address => (walletAddress.value = address) - ); - - // Provision IST for wallet - cy.origin( - 'https://emerynet.faucet.agoric.net', - { args: { walletAddress, DEFAULT_TIMEOUT } }, - ({ walletAddress, DEFAULT_TIMEOUT }) => { - cy.visit('/'); - cy.get('[id="address"]').first().type(walletAddress.value); - cy.get('[type="radio"][value="client"]').click(); - cy.get('[name="clientType"]').select('REMOTE_WALLET'); - - cy.get('[type="submit"]').first().click(); - cy.get('body') - .contains('success', { timeout: DEFAULT_TIMEOUT }) - .should('exist'); - } - ); + cy.getWalletAddress('Agoric').then(address => { + // provision IST + cy.provisionFromFaucet(address, 'client', 'REMOTE_WALLET'); + }); } }); diff --git a/tests/e2e/support.js b/tests/e2e/support.js index 73d2d1f..d9eb65e 100644 --- a/tests/e2e/support.js +++ b/tests/e2e/support.js @@ -1 +1,22 @@ import '@agoric/synpress/support/index'; +import { FACUET_HEADERS, FACUET_URL, DEFAULT_TIMEOUT } from './utils'; + +Cypress.Commands.add( + 'provisionFromFaucet', + (walletAddress, command, clientType) => { + cy.request({ + method: 'POST', + url: FACUET_URL, + body: { + address: walletAddress, + command, + clientType, + }, + headers: FACUET_HEADERS, + timeout: 4 * DEFAULT_TIMEOUT, + retryOnStatusCodeFailure: true, + }).then(resp => { + expect(resp.body).to.eq('success'); + }); + } +); diff --git a/tests/e2e/utils.js b/tests/e2e/utils.js index a269518..02ed5c1 100644 --- a/tests/e2e/utils.js +++ b/tests/e2e/utils.js @@ -14,3 +14,11 @@ export const phrasesList = { isLocal: true, }, }; + +export const FACUET_URL = 'https://emerynet.faucet.agoric.net/go'; + +export const FACUET_HEADERS = { + Accept: + 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7', + 'Content-Type': 'application/x-www-form-urlencoded', +};