aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDan <danjm.com@gmail.com>2018-06-08 00:53:54 +0800
committerDan <danjm.com@gmail.com>2018-06-27 21:15:54 +0800
commitf82e4439d0e6e17d87525e01de4f0a6a175a84e5 (patch)
tree84bcc51d57cd675b4c6ce1ff6b4a6224b95fd07c /test
parent73894fb5bde4548395e584bbab199c3b6dc86cc1 (diff)
downloadtangerine-wallet-browser-f82e4439d0e6e17d87525e01de4f0a6a175a84e5.tar.gz
tangerine-wallet-browser-f82e4439d0e6e17d87525e01de4f0a6a175a84e5.tar.zst
tangerine-wallet-browser-f82e4439d0e6e17d87525e01de4f0a6a175a84e5.zip
Adds e2e tests for sending tokens from token factory.
Diffstat (limited to 'test')
-rw-r--r--test/e2e/beta/metamask-beta-ui.spec.js64
1 files changed, 61 insertions, 3 deletions
diff --git a/test/e2e/beta/metamask-beta-ui.spec.js b/test/e2e/beta/metamask-beta-ui.spec.js
index 58979ce7e..68cc17bc2 100644
--- a/test/e2e/beta/metamask-beta-ui.spec.js
+++ b/test/e2e/beta/metamask-beta-ui.spec.js
@@ -514,6 +514,7 @@ describe('MetaMask', function () {
})
describe('Send token from inside MetaMask', () => {
+ let gasModal
it('starts to send a transaction', async function () {
const sendButton = await findElement(driver, By.xpath(`//button[contains(text(), 'Send')]`))
await sendButton.click()
@@ -529,11 +530,23 @@ describe('MetaMask', function () {
await configureGas.click()
await delay(regularDelayMs)
- const gasModal = await driver.findElement(By.css('span .modal'))
+ gasModal = await driver.findElement(By.css('span .modal'))
+ })
+
+ it('customizes gas', async () => {
+ const [gasPriceInput, gasLimitInput] = await findElements(driver, By.css('.customize-gas-input'))
+ await gasPriceInput.clear()
+ await gasPriceInput.sendKeys('12.5')
+ await gasLimitInput.clear()
+ await gasLimitInput.sendKeys('56789')
+
const save = await findElement(driver, By.xpath(`//button[contains(text(), 'Save')]`))
await save.click()
- await driver.wait(until.stalenessOf(gasModal))
await delay(regularDelayMs)
+ })
+
+ it('transitions to the confirm screen', async () => {
+ await driver.wait(until.stalenessOf(gasModal))
// Continue to next screen
const nextScreen = await findElement(driver, By.xpath(`//button[contains(text(), 'Next')]`))
@@ -541,7 +554,7 @@ describe('MetaMask', function () {
await delay(regularDelayMs)
})
- it('confirms the transaction', async function () {
+ it('submits the transaction', async function () {
const confirmButton = await findElement(driver, By.xpath(`//button[contains(text(), 'Confirm')]`))
await confirmButton.click()
await delay(regularDelayMs)
@@ -554,6 +567,51 @@ describe('MetaMask', function () {
const txValues = await findElements(driver, By.css('.tx-list-value'))
assert.equal(txValues.length, 1)
assert.equal(await txValues[0].getText(), '50 TST')
+ const txStatuses = await findElements(driver, By.css('.tx-list-status'))
+ await driver.wait(until.elementTextMatches(txStatuses[0], /Confirmed/))
+ })
+ })
+
+ describe('Send a custom token from TokenFactory', () => {
+ it('sends an already created token', async () => {
+ await driver.executeScript(`window.open("https://tokenfactory.surge.sh/#/token/${tokenAddress}")`)
+ await delay(waitingNewPageDelayMs)
+
+ const [extension, tokenFactory] = await driver.getAllWindowHandles()
+ await driver.switchTo().window(tokenFactory)
+ const [
+ transferToAddress,
+ transferToAmount,
+ ] = await findElements(driver, By.css('.form-control'))
+
+ await transferToAddress.sendKeys('0x2f318C334780961FB129D2a6c30D0763d9a5C970')
+ await transferToAmount.sendKeys('26')
+
+ const transferAmountButton = await findElement(driver, By.xpath(`//button[contains(text(), 'Transfer Amount')]`))
+ await transferAmountButton.click()
+ await delay(regularDelayMs)
+
+ await driver.switchTo().window(extension)
+ await loadExtension(driver, extensionId)
+ await delay(regularDelayMs)
+
+ const confirmButton = await findElement(driver, By.xpath(`//button[contains(text(), 'Confirm')]`))
+ await confirmButton.click()
+ await delay(regularDelayMs)
+ })
+
+ it('finds the transaction in the transactions list', async function () {
+ const transactions = await findElements(driver, By.css('.tx-list-item'))
+ assert.equal(transactions.length, 5)
+
+ const txValues = await findElements(driver, By.css('.tx-list-value'))
+ assert.equal(txValues.length, 5)
+ assert.equal(await txValues[0].getText(), '26 TST')
+ const txStatuses = await findElements(driver, By.css('.tx-list-status'))
+ await driver.wait(until.elementTextMatches(txStatuses[1], /Confirmed/))
+
+ const tokenBalanceAmount = await findElement(driver, By.css('.token-balance__amount'))
+ assert.equal(tokenBalanceAmount.getText(), '24 TST')
})
})
})