pull/5370/head
filip mertens 2 years ago
parent 14f9c4ad82
commit 2c507a9708
  1. 49
      apps/remix-ide-e2e/src/tests/ballot.test.ts

@ -9,13 +9,18 @@ const sources = [
] ]
module.exports = { module.exports = {
"@disabled": true,
before: function (browser: NightwatchBrowser, done: VoidFunction) { before: function (browser: NightwatchBrowser, done: VoidFunction) {
init(browser, done) init(browser, done)
}, },
'@sources': function () { '@sources': function () {
return sources return sources
}, },
'Deploy Ballot': function (browser: NightwatchBrowser) { 'Add Ballot #group2': function (browser: NightwatchBrowser) {
browser
.addFile('Untitled.sol', sources[0]['Untitled.sol'])
},
'Deploy Ballot #group1': function (browser: NightwatchBrowser) {
browser browser
.waitForElementVisible('*[data-id="remixIdeIconPanel"]', 10000) .waitForElementVisible('*[data-id="remixIdeIconPanel"]', 10000)
.clickLaunchIcon('solidity') .clickLaunchIcon('solidity')
@ -34,7 +39,7 @@ module.exports = {
}) })
}, },
'Call method from Ballot to check return value': function (browser: NightwatchBrowser) { 'Call method from Ballot to check return value #group1': function (browser: NightwatchBrowser) {
browser browser
.clickFunction('winnerName - call') .clickFunction('winnerName - call')
// Test in terminal // Test in terminal
@ -47,7 +52,7 @@ module.exports = {
.assert.containsText('*[data-id="treeViewDiv0"]', 'bytes32: winnerName_ 0x48656c6c6f20576f726c64210000000000000000000000000000000000000000') .assert.containsText('*[data-id="treeViewDiv0"]', 'bytes32: winnerName_ 0x48656c6c6f20576f726c64210000000000000000000000000000000000000000')
}, },
'Debug Ballot / delegate': function (browser: NightwatchBrowser) { 'Debug Ballot / delegate #group1': function (browser: NightwatchBrowser) {
browser.pause(500) browser.pause(500)
.debugTransaction(1) .debugTransaction(1)
.waitForElementVisible('*[data-id="buttonNavigatorJumpPreviousBreakpoint"]') .waitForElementVisible('*[data-id="buttonNavigatorJumpPreviousBreakpoint"]')
@ -60,16 +65,24 @@ module.exports = {
.checkVariableDebug('soliditylocals', localsCheck) .checkVariableDebug('soliditylocals', localsCheck)
}, },
'Access Ballot via at address': function (browser: NightwatchBrowser) { 'Access Ballot via at address #group1': function (browser: NightwatchBrowser) {
browser.clickLaunchIcon('udapp') browser.clickLaunchIcon('udapp')
.click('*[data-id="universalDappUiUdappClose"]') .click('*[data-id="universalDappUiUdappClose"]')
.addFile('ballot.abi', { content: ballotABI }) .addFile('ballot.abi', { content: ballotABI })
.clickLaunchIcon('udapp')
.click({
selector: '*[data-id="deployAndRunClearInstances"]',
abortOnFailure: false,
suppressNotFoundErrors: true,
})
// we are not changing the visibility for not checksumed contracts // we are not changing the visibility for not checksumed contracts
// .addAtAddressInstance('0x692a70D2e424a56D2C6C27aA97D1a86395877b3B', true, false) // .addAtAddressInstance('0x692a70D2e424a56D2C6C27aA97D1a86395877b3B', true, false)
.clickLaunchIcon('filePanel') .clickLaunchIcon('filePanel')
.addAtAddressInstance('0x692a70D2e424a56D2C6C27aA97D1a86395877b3A', true, true) .addAtAddressInstance('0x692a70D2e424a56D2C6C27aA97D1a86395877b3A', true, true)
.pause(500) .waitForElementVisible({
.waitForElementPresent('*[data-id="universalDappUiContractActionWrapper"]', 60000) locateStrategy: 'xpath',
selector: "//*[@id='instance0x692a70D2e424a56D2C6C27aA97D1a86395877b3A']"
})
.clickInstance(0) .clickInstance(0)
.clickFunction('delegate - transact (not payable)', { types: 'address to', values: '"0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db"' }) .clickFunction('delegate - transact (not payable)', { types: 'address to', values: '"0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db"' })
.testFunction('last', .testFunction('last',
@ -79,19 +92,11 @@ module.exports = {
}) })
}, },
'Deploy and use Ballot using external web3': function (browser: NightwatchBrowser) { 'Deploy and use Ballot using external web3 #group2': function (browser: NightwatchBrowser) {
browser browser
.openFile('Untitled.sol') .openFile('Untitled.sol')
.clickLaunchIcon('udapp') .clickLaunchIcon('udapp')
.switchEnvironment('External Http Provider') .connectToExternalHttpProvider('http://localhost:8545', 'Custom')
.waitForElementPresent('[data-id="basic-http-provider-modal-footer-ok-react"]')
.execute(function () {
const modal = document.querySelector('[data-id="basic-http-provider-modal-footer-ok-react"]') as any
modal.click()
})
.pause(5000)
.waitForElementContainsText('#selectExEnvOptions button', 'External Http Provider')
.clickLaunchIcon('solidity') .clickLaunchIcon('solidity')
.clickLaunchIcon('udapp') .clickLaunchIcon('udapp')
.pause(2000) .pause(2000)
@ -105,7 +110,7 @@ module.exports = {
.journalLastChildIncludes('data: 0x5c1...a733c') .journalLastChildIncludes('data: 0x5c1...a733c')
}, },
'Call method from Ballot to check return value using external web3': function (browser: NightwatchBrowser) { 'Call method from Ballot to check return value using external web3 #group2': function (browser: NightwatchBrowser) {
browser browser
.clickFunction('winnerName - call') .clickFunction('winnerName - call')
// Test in terminal // Test in terminal
@ -118,9 +123,9 @@ module.exports = {
.assert.containsText('*[data-id="treeViewDiv0"]', 'bytes32: winnerName_ 0x48656c6c6f20576f726c64210000000000000000000000000000000000000000') .assert.containsText('*[data-id="treeViewDiv0"]', 'bytes32: winnerName_ 0x48656c6c6f20576f726c64210000000000000000000000000000000000000000')
}, },
'Compile Ballot using config file': function (browser: NightwatchBrowser) { 'Compile Ballot using config file #group2': function (browser: NightwatchBrowser) {
browser browser
.addFile('cf.json', {content: configFile}) .addFile('cf.json', { content: configFile })
.clickLaunchIcon('solidity') .clickLaunchIcon('solidity')
.waitForElementVisible('*[data-id="scConfigExpander"]') .waitForElementVisible('*[data-id="scConfigExpander"]')
.click('*[data-id="scConfigExpander"]') .click('*[data-id="scConfigExpander"]')
@ -133,12 +138,12 @@ module.exports = {
.setValue('*[data-id="scConfigFilePathInput"]', 'cf.json') .setValue('*[data-id="scConfigFilePathInput"]', 'cf.json')
.sendKeys('*[data-id$="scConfigFilePathInput"]', browser.Keys.ENTER) .sendKeys('*[data-id$="scConfigFilePathInput"]', browser.Keys.ENTER)
.openFile('Untitled.sol') .openFile('Untitled.sol')
.verifyContracts(['Ballot'], {wait: 2000, runs: '300'}) .verifyContracts(['Ballot'], { wait: 2000, runs: '300' })
}, },
'Compile and deploy sample yul file': function (browser: NightwatchBrowser) { 'Compile and deploy sample yul file #group2': function (browser: NightwatchBrowser) {
browser browser
.addFile('sample.yul', {content: yulSample}) .addFile('sample.yul', { content: yulSample })
.clickLaunchIcon('solidity') .clickLaunchIcon('solidity')
.waitForElementVisible('*[data-id="scConfigExpander"]') .waitForElementVisible('*[data-id="scConfigExpander"]')
.click('*[data-id="scManualConfiguration"]') .click('*[data-id="scManualConfiguration"]')

Loading…
Cancel
Save