From 797a3ee686bd3ed87ea0669a1a21da45f02d7e81 Mon Sep 17 00:00:00 2001 From: Dan Date: Mon, 11 Jun 2018 10:38:24 -0230 Subject: e2e beta tests for contract deployment and calling a contract method. --- test/e2e/beta/helpers.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'test/e2e/beta/helpers.js') diff --git a/test/e2e/beta/helpers.js b/test/e2e/beta/helpers.js index 31c41d8b7..949fece96 100644 --- a/test/e2e/beta/helpers.js +++ b/test/e2e/beta/helpers.js @@ -3,12 +3,41 @@ const mkdirp = require('mkdirp') const pify = require('pify') const {until} = require('selenium-webdriver') +const testContract = ` + pragma solidity ^0.4.0; + contract PiggyBank { + + uint private balance; + address public owner; + + function PiggyBank() public { + owner = msg.sender; + balance = 0; + } + + function deposit() public payable returns (uint) { + balance += msg.value; + return balance; + } + + function withdraw(uint withdrawAmount) public returns (uint remainingBal) { + require(msg.sender == owner); + balance -= withdrawAmount; + + msg.sender.transfer(withdrawAmount); + + return balance; + } + } +` + module.exports = { checkBrowserForConsoleErrors, loadExtension, verboseReportOnFailure, findElement, findElements, + testContract, } async function loadExtension (driver, extensionId) { -- cgit From bdf9cd8e3ad0ba126f452f0ff2d7f52f25eb249e Mon Sep 17 00:00:00 2001 From: Dan Date: Thu, 21 Jun 2018 09:49:27 -0230 Subject: Speed up page opening and fix timeout errors on remix page opening in beta e2e tests. --- test/e2e/beta/helpers.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/e2e/beta/helpers.js') diff --git a/test/e2e/beta/helpers.js b/test/e2e/beta/helpers.js index 949fece96..c1080e8db 100644 --- a/test/e2e/beta/helpers.js +++ b/test/e2e/beta/helpers.js @@ -2,6 +2,7 @@ const fs = require('fs') const mkdirp = require('mkdirp') const pify = require('pify') const {until} = require('selenium-webdriver') +const { delay } = require('../func') const testContract = ` pragma solidity ^0.4.0; @@ -37,6 +38,7 @@ module.exports = { verboseReportOnFailure, findElement, findElements, + openNewPage, testContract, } @@ -93,3 +95,15 @@ async function findElement (driver, by, timeout = 10000) { async function findElements (driver, by, timeout = 10000) { return driver.wait(until.elementsLocated(by), timeout) } + +async function openNewPage (driver, url) { + await driver.executeScript('window.open()') + await delay(1000) + + const handles = await driver.getAllWindowHandles() + const lastHandle = handles.pop() + await driver.switchTo().window(lastHandle) + + await driver.get(url) + await delay(1000) +} -- cgit From c343a1254383dbc55c557f1facedbdfe0784e3e4 Mon Sep 17 00:00:00 2001 From: Dan Date: Fri, 22 Jun 2018 09:43:01 -0230 Subject: Use locally served dapp to test contract calls in e2e beta tests --- test/e2e/beta/helpers.js | 33 ++------------------------------- 1 file changed, 2 insertions(+), 31 deletions(-) (limited to 'test/e2e/beta/helpers.js') diff --git a/test/e2e/beta/helpers.js b/test/e2e/beta/helpers.js index c1080e8db..fcc3e96d6 100644 --- a/test/e2e/beta/helpers.js +++ b/test/e2e/beta/helpers.js @@ -4,34 +4,6 @@ const pify = require('pify') const {until} = require('selenium-webdriver') const { delay } = require('../func') -const testContract = ` - pragma solidity ^0.4.0; - contract PiggyBank { - - uint private balance; - address public owner; - - function PiggyBank() public { - owner = msg.sender; - balance = 0; - } - - function deposit() public payable returns (uint) { - balance += msg.value; - return balance; - } - - function withdraw(uint withdrawAmount) public returns (uint remainingBal) { - require(msg.sender == owner); - balance -= withdrawAmount; - - msg.sender.transfer(withdrawAmount); - - return balance; - } - } -` - module.exports = { checkBrowserForConsoleErrors, loadExtension, @@ -39,7 +11,6 @@ module.exports = { findElement, findElements, openNewPage, - testContract, } async function loadExtension (driver, extensionId) { @@ -101,8 +72,8 @@ async function openNewPage (driver, url) { await delay(1000) const handles = await driver.getAllWindowHandles() - const lastHandle = handles.pop() - await driver.switchTo().window(lastHandle) + const secondHandle = handles[1] + await driver.switchTo().window(secondHandle) await driver.get(url) await delay(1000) -- cgit