parent
696e5d0f4d
commit
2c8e441690
@ -0,0 +1,20 @@ |
||||
<?xml version="1.0" encoding="UTF-8" ?> |
||||
<testsuites errors="0" |
||||
failures="0" |
||||
tests="1"> |
||||
|
||||
<testsuite name="sample.test" |
||||
errors="0" failures="0" hostname="" id="" package="sample.test" skipped="0" |
||||
tests="1" time="3.065" timestamp=""> |
||||
|
||||
<testcase name="Test Computation" classname="sample.test" time="3.065" assertions="0"> |
||||
</testcase> |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</testsuite> |
||||
</testsuites> |
@ -0,0 +1,316 @@ |
||||
'use strict' |
||||
var examples = require('../../src/app/editor/example-contracts') |
||||
var init = require('../helpers/init') |
||||
var sauce = require('./sauce') |
||||
|
||||
var sources = [ |
||||
{'browser/Untitled.sol': {content: examples.ballot.content}} |
||||
] |
||||
|
||||
module.exports = { |
||||
before: function (browser, done) { |
||||
init(browser, done) |
||||
}, |
||||
'@sources': function () { |
||||
return sources |
||||
}, |
||||
'Deploy Ballot': function (browser) { |
||||
browser |
||||
.waitForElementVisible('*[data-id="remixIdeIconPanel"]', 10000) |
||||
.clickLaunchIcon('solidity') |
||||
.testContracts('Untitled.sol', sources[0]['browser/Untitled.sol'], ['Ballot']) |
||||
.clickLaunchIcon('udapp') |
||||
.selectAccount('0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c') |
||||
.setValue('input[placeholder="bytes32[] proposalNames"]', '["0x48656c6c6f20576f726c64210000000000000000000000000000000000000000"]') |
||||
.click('*[data-id="Deploy - transact (not payable)"]') |
||||
.waitForElementPresent('*[data-id="universalDappUiContractActionWrapper"]') |
||||
.click('*[data-id="universalDappUiTitleExpander"]') |
||||
.clickFunction('delegate - transact (not payable)', {types: 'address to', values: '"0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db"'}) |
||||
.testFunction('0x41fab8ea5b1d9fba5e0a6545ca1a2d62fff518578802c033c2b9a031a01c31b3', |
||||
{ |
||||
status: '0x1 Transaction mined and execution succeed', |
||||
'transaction hash': '0x41fab8ea5b1d9fba5e0a6545ca1a2d62fff518578802c033c2b9a031a01c31b3', |
||||
'decoded input': { 'address to': '0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB' } |
||||
}) |
||||
}, |
||||
|
||||
'Debug Ballot / delegate': function (browser) { |
||||
browser.pause(500) |
||||
.click('*[data-id="txLoggerDebugButton0x41fab8ea5b1d9fba5e0a6545ca1a2d62fff518578802c033c2b9a031a01c31b3"]') |
||||
.pause(2000) |
||||
// .clickLaunchIcon('debugger')
|
||||
.click('*[data-id="buttonNavigatorJumpPreviousBreakpoint"]') |
||||
.pause(2000) |
||||
.goToVMTraceStep(79) |
||||
.pause(1000) |
||||
.checkVariableDebug('soliditystate', stateCheck) |
||||
.checkVariableDebug('soliditylocals', localsCheck) |
||||
}, |
||||
|
||||
'Access Ballot via at address': function (browser) { |
||||
browser.clickLaunchIcon('udapp') |
||||
.click('*[data-id="universalDappUiUdappClose"]') |
||||
.addFile('ballot.abi', { content: ballotABI }) |
||||
.addAtAddressInstance('0x692a70D2e424a56D2C6C27aA97D1a86395877b3B', true, false) |
||||
.clickLaunchIcon('fileExplorers') |
||||
.addAtAddressInstance('0x692a70D2e424a56D2C6C27aA97D1a86395877b3A', true, true) |
||||
.pause(500) |
||||
.waitForElementPresent('*[data-id="universalDappUiContractActionWrapper"]') |
||||
.click('*[data-id="universalDappUiTitleExpander"]') |
||||
.clickFunction('delegate - transact (not payable)', {types: 'address to', values: '"0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db"'}) |
||||
.testFunction('0xca58080c8099429caeeffe43b8104df919c2c543dceb9edf9242fa55f045c803', |
||||
{ |
||||
status: '0x0 Transaction mined but execution failed', |
||||
'transaction hash': '0xca58080c8099429caeeffe43b8104df919c2c543dceb9edf9242fa55f045c803', |
||||
'decoded input': { 'address to': '0x4B0897b0513fdC7C541B6d9D7E929C4e5364D2dB' } |
||||
}) |
||||
}, |
||||
|
||||
'Deploy and use Ballot using external web3': function (browser) { |
||||
browser |
||||
.click('*[data-id="settingsWeb3Mode"]') |
||||
.modalFooterOKClick() |
||||
.clickLaunchIcon('solidity') |
||||
.testContracts('Untitled.sol', sources[0]['browser/Untitled.sol'], ['Ballot']) |
||||
.clickLaunchIcon('udapp') |
||||
.setValue('input[placeholder="bytes32[] proposalNames"]', '["0x48656c6c6f20576f726c64210000000000000000000000000000000000000000"]') |
||||
.click('*[data-id="Deploy - transact (not payable)"]') |
||||
.clickInstance(0) |
||||
.click('*[data-id="terminalClearConsole"]') |
||||
.clickFunction('delegate - transact (not payable)', {types: 'address to', values: '0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c'}) |
||||
.journalLastChildIncludes('Ballot.delegate(address)') |
||||
.journalLastChildIncludes('data: 0x5c1...a733c') |
||||
.end() |
||||
}, |
||||
|
||||
tearDown: sauce |
||||
} |
||||
|
||||
var localsCheck = { |
||||
'to': { |
||||
'value': '0x4B0897B0513FDC7C541B6D9D7E929C4E5364D2DB', |
||||
'type': 'address' |
||||
} |
||||
} |
||||
|
||||
var stateCheck = { |
||||
'chairperson': { |
||||
'value': '0xCA35B7D915458EF540ADE6068DFE2F44E8FA733C', |
||||
'type': 'address', |
||||
'constant': false |
||||
}, |
||||
'voters': { |
||||
'value': { |
||||
'000000000000000000000000ca35b7d915458ef540ade6068dfe2f44e8fa733c': { |
||||
'value': { |
||||
'weight': { |
||||
'value': '1', |
||||
'type': 'uint256' |
||||
}, |
||||
'voted': { |
||||
'value': false, |
||||
'type': 'bool' |
||||
}, |
||||
'delegate': { |
||||
'value': '0x0000000000000000000000000000000000000000', |
||||
'type': 'address' |
||||
}, |
||||
'vote': { |
||||
'value': '0', |
||||
'type': 'uint256' |
||||
} |
||||
}, |
||||
'type': 'struct Ballot.Voter' |
||||
} |
||||
}, |
||||
'type': 'mapping(address => struct Ballot.Voter)', |
||||
'constant': false |
||||
}, |
||||
'proposals': { |
||||
'value': [ |
||||
{ |
||||
'value': { |
||||
'name': { |
||||
'value': '0x48656C6C6F20576F726C64210000000000000000000000000000000000000000', |
||||
'type': 'bytes32' |
||||
}, |
||||
'voteCount': { |
||||
'value': '0', |
||||
'type': 'uint256' |
||||
} |
||||
}, |
||||
'type': 'struct Ballot.Proposal' |
||||
} |
||||
], |
||||
'length': '0x1', |
||||
'type': 'struct Ballot.Proposal[]', |
||||
'constant': false |
||||
} |
||||
} |
||||
|
||||
var ballotABI = `[
|
||||
{ |
||||
"inputs": [ |
||||
{ |
||||
"internalType": "bytes32[]", |
||||
"name": "proposalNames", |
||||
"type": "bytes32[]" |
||||
} |
||||
], |
||||
"payable": false, |
||||
"stateMutability": "nonpayable", |
||||
"type": "constructor" |
||||
}, |
||||
{ |
||||
"constant": true, |
||||
"inputs": [], |
||||
"name": "chairperson", |
||||
"outputs": [ |
||||
{ |
||||
"internalType": "address", |
||||
"name": "", |
||||
"type": "address" |
||||
} |
||||
], |
||||
"payable": false, |
||||
"stateMutability": "view", |
||||
"type": "function" |
||||
}, |
||||
{ |
||||
"constant": false, |
||||
"inputs": [ |
||||
{ |
||||
"internalType": "address", |
||||
"name": "to", |
||||
"type": "address" |
||||
} |
||||
], |
||||
"name": "delegate", |
||||
"outputs": [], |
||||
"payable": false, |
||||
"stateMutability": "nonpayable", |
||||
"type": "function" |
||||
}, |
||||
{ |
||||
"constant": false, |
||||
"inputs": [ |
||||
{ |
||||
"internalType": "address", |
||||
"name": "voter", |
||||
"type": "address" |
||||
} |
||||
], |
||||
"name": "giveRightToVote", |
||||
"outputs": [], |
||||
"payable": false, |
||||
"stateMutability": "nonpayable", |
||||
"type": "function" |
||||
}, |
||||
{ |
||||
"constant": true, |
||||
"inputs": [ |
||||
{ |
||||
"internalType": "uint256", |
||||
"name": "", |
||||
"type": "uint256" |
||||
} |
||||
], |
||||
"name": "proposals", |
||||
"outputs": [ |
||||
{ |
||||
"internalType": "bytes32", |
||||
"name": "name", |
||||
"type": "bytes32" |
||||
}, |
||||
{ |
||||
"internalType": "uint256", |
||||
"name": "voteCount", |
||||
"type": "uint256" |
||||
} |
||||
], |
||||
"payable": false, |
||||
"stateMutability": "view", |
||||
"type": "function" |
||||
}, |
||||
{ |
||||
"constant": false, |
||||
"inputs": [ |
||||
{ |
||||
"internalType": "uint256", |
||||
"name": "proposal", |
||||
"type": "uint256" |
||||
} |
||||
], |
||||
"name": "vote", |
||||
"outputs": [], |
||||
"payable": false, |
||||
"stateMutability": "nonpayable", |
||||
"type": "function" |
||||
}, |
||||
{ |
||||
"constant": true, |
||||
"inputs": [ |
||||
{ |
||||
"internalType": "address", |
||||
"name": "", |
||||
"type": "address" |
||||
} |
||||
], |
||||
"name": "voters", |
||||
"outputs": [ |
||||
{ |
||||
"internalType": "uint256", |
||||
"name": "weight", |
||||
"type": "uint256" |
||||
}, |
||||
{ |
||||
"internalType": "bool", |
||||
"name": "voted", |
||||
"type": "bool" |
||||
}, |
||||
{ |
||||
"internalType": "address", |
||||
"name": "delegate", |
||||
"type": "address" |
||||
}, |
||||
{ |
||||
"internalType": "uint256", |
||||
"name": "vote", |
||||
"type": "uint256" |
||||
} |
||||
], |
||||
"payable": false, |
||||
"stateMutability": "view", |
||||
"type": "function" |
||||
}, |
||||
{ |
||||
"constant": true, |
||||
"inputs": [], |
||||
"name": "winnerName", |
||||
"outputs": [ |
||||
{ |
||||
"internalType": "bytes32", |
||||
"name": "winnerName_", |
||||
"type": "bytes32" |
||||
} |
||||
], |
||||
"payable": false, |
||||
"stateMutability": "view", |
||||
"type": "function" |
||||
}, |
||||
{ |
||||
"constant": true, |
||||
"inputs": [], |
||||
"name": "winningProposal", |
||||
"outputs": [ |
||||
{ |
||||
"internalType": "uint256", |
||||
"name": "winningProposal_", |
||||
"type": "uint256" |
||||
} |
||||
], |
||||
"payable": false, |
||||
"stateMutability": "view", |
||||
"type": "function" |
||||
} |
||||
]` |
@ -0,0 +1,9 @@ |
||||
module.exports = { |
||||
before: function (browser, done) { |
||||
done() |
||||
}, |
||||
'Test Computation': function (browser) { |
||||
browser |
||||
.url('https://google.com') |
||||
} |
||||
} |
Loading…
Reference in new issue