commit
c94af821ae
@ -0,0 +1,30 @@ |
|||||||
|
const EventEmitter = require('events') |
||||||
|
|
||||||
|
/* |
||||||
|
Checks if any child elements of journal (console) contains a matching value. |
||||||
|
*/ |
||||||
|
class JournalChildIncludes extends EventEmitter { |
||||||
|
command (val) { |
||||||
|
let isTextFound = false |
||||||
|
const browser = this.api |
||||||
|
|
||||||
|
this.api.elements('css selector', '*[data-id="terminalJournal"]', (res) => { |
||||||
|
res.value.forEach(function (jsonWebElement) { |
||||||
|
const jsonWebElementId = jsonWebElement.ELEMENT |
||||||
|
|
||||||
|
browser.elementIdText(jsonWebElementId, (jsonElement) => { |
||||||
|
const text = jsonElement.value |
||||||
|
|
||||||
|
if (text.indexOf(val) !== -1) isTextFound = true |
||||||
|
}) |
||||||
|
}) |
||||||
|
}) |
||||||
|
browser.perform(() => { |
||||||
|
browser.assert.ok(isTextFound, isTextFound ? `<*[data-id="terminalJournal"]> contains ${val}.` : `${val} not found in <*[data-id="terminalJournal"]> div:last-child>`) |
||||||
|
this.emit('complete') |
||||||
|
}) |
||||||
|
return this |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
module.exports = JournalChildIncludes |
@ -1,17 +0,0 @@ |
|||||||
'use strict' |
|
||||||
var init = require('../helpers/init') |
|
||||||
var sauce = require('./sauce') |
|
||||||
|
|
||||||
module.exports = { |
|
||||||
before: function (browser, done) { |
|
||||||
init(browser, done) |
|
||||||
}, |
|
||||||
'SimpleExecutionConsole': function (browser) { |
|
||||||
browser |
|
||||||
.waitForElementVisible('#terminalCli', 10000) |
|
||||||
.executeScript('1+1') |
|
||||||
.journalLastChild('2') |
|
||||||
.end() |
|
||||||
}, |
|
||||||
tearDown: sauce |
|
||||||
} |
|
@ -0,0 +1,59 @@ |
|||||||
|
'use strict' |
||||||
|
var init = require('../helpers/init') |
||||||
|
var sauce = require('./sauce') |
||||||
|
|
||||||
|
module.exports = { |
||||||
|
before: function (browser, done) { |
||||||
|
init(browser, done, 'http://127.0.0.1:8080?plugins=solidity,udapp', false) |
||||||
|
}, |
||||||
|
|
||||||
|
'Should execution a simple console command': function (browser) { |
||||||
|
browser |
||||||
|
.waitForElementVisible('*[data-id="terminalCli"]', 10000) |
||||||
|
.executeScript('1+1') |
||||||
|
.journalLastChild('2') |
||||||
|
}, |
||||||
|
|
||||||
|
'Should clear console': function (browser) { |
||||||
|
browser |
||||||
|
.waitForElementVisible('*[data-id="terminalCli"]') |
||||||
|
.journalChildIncludes('Welcome to Remix') |
||||||
|
.click('#clearConsole') |
||||||
|
.assert.containsText('*[data-id="terminalJournal"]', '') |
||||||
|
}, |
||||||
|
|
||||||
|
'Should display auto-complete menu': function (browser) { |
||||||
|
browser |
||||||
|
.waitForElementVisible('*[data-id="terminalCli"]') |
||||||
|
.click('*[data-id="terminalCli"]') |
||||||
|
.keys('remix.') |
||||||
|
.assert.visible('*[data-id="autoCompletePopUpAutoCompleteItem"]') |
||||||
|
}, |
||||||
|
|
||||||
|
'Should execute remix.help() command': function (browser) { |
||||||
|
browser |
||||||
|
.waitForElementVisible('*[data-id="terminalCli"]') |
||||||
|
.executeScript('remix.help()') |
||||||
|
.journalChildIncludes('remix.call(message: {name, key, payload})') |
||||||
|
.journalChildIncludes('remix.getFile(path)') |
||||||
|
.journalChildIncludes('remix.debug(hash)') |
||||||
|
.journalChildIncludes('remix.loadgist(id)') |
||||||
|
.journalChildIncludes('remix.loadurl(url)') |
||||||
|
.journalChildIncludes('remix.setproviderurl(url)') |
||||||
|
.journalChildIncludes('remix.execute(filepath)') |
||||||
|
.journalChildIncludes('remix.exeCurrent()') |
||||||
|
.journalChildIncludes('remix.help()') |
||||||
|
.journalChildIncludes('remix.debugHelp()') |
||||||
|
}, |
||||||
|
|
||||||
|
'Should execute remix.debugHelp() command': function (browser) { |
||||||
|
browser |
||||||
|
.waitForElementVisible('*[data-id="terminalCli"]') |
||||||
|
.executeScript('remix.debugHelp()') |
||||||
|
.journalChildIncludes('Here are some examples of scripts that can be run (using remix.exeCurrent() or directly from the console)') |
||||||
|
.journalChildIncludes('Please see https://www.npmjs.com/package/remix-debug for more informations') |
||||||
|
.end() |
||||||
|
}, |
||||||
|
|
||||||
|
tearDown: sauce |
||||||
|
} |
Loading…
Reference in new issue