You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
7.0 KiB
150 lines
7.0 KiB
'use strict'
|
|
const init = require('../helpers/init')
|
|
const sauce = require('./sauce')
|
|
const testData = {
|
|
pluginName: 'remixIde',
|
|
pluginDisplayName: 'Remix IDE',
|
|
pluginUrl: 'https://remix-project.org/'
|
|
}
|
|
|
|
module.exports = {
|
|
before: function (browser, done) {
|
|
init(browser, done, 'http://127.0.0.1:8080', false)
|
|
},
|
|
|
|
'Should Load Plugin Manager': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="remixIdeSidePanel"]')
|
|
.pause(3000)
|
|
.click('*[plugin="pluginManager"]')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.assert.containsText('*[data-id="sidePanelSwapitTitle"]', 'PLUGIN MANAGER')
|
|
},
|
|
|
|
'Should Search for plugins': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.click('*[data-id="pluginManagerComponentSearchInput"]')
|
|
.keys('debugger')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentActivateButtondebugger"]')
|
|
.clearValue('*[data-id="pluginManagerComponentSearchInput"]')
|
|
.click('*[data-id="pluginManagerComponentSearchInput"]')
|
|
.keys('Deploy & run transactions')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentActivateButtonudapp"]')
|
|
.clearValue('*[data-id="pluginManagerComponentSearchInput"]')
|
|
.click('*[data-id="pluginManagerComponentSearchInput"]')
|
|
.keys('ZoKrates')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentActivateButtonZoKrates"]')
|
|
.clearValue('*[data-id="pluginManagerComponentSearchInput"]')
|
|
.click('*[data-id="pluginManagerComponentSearchInput"]')
|
|
.keys(browser.Keys.ENTER)
|
|
},
|
|
|
|
'Should activate plugins': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.click('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.scrollAndClick('*[data-id="pluginManagerComponentActivateButtondebugger"]')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentDeactivateButtondebugger"]')
|
|
.scrollAndClick('*[data-id="pluginManagerComponentActivateButtonudapp"]')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentDeactivateButtonudapp"]')
|
|
.scrollAndClick('*[data-id="pluginManagerComponentActivateButtonZoKrates"]')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentDeactivateButtonZoKrates"]')
|
|
},
|
|
|
|
'Should deactivate plugins': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.click('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.scrollAndClick('*[data-id="pluginManagerComponentDeactivateButtondebugger"]')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentActivateButtondebugger"]')
|
|
.scrollAndClick('*[data-id="pluginManagerComponentDeactivateButtonudapp"]')
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentActivateButtonudapp"]')
|
|
},
|
|
|
|
/*
|
|
'Should grant plugin permission (ZOKRATES)': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.click('*[data-id="pluginManagerPermissionsButton"]')
|
|
.waitForElementVisible('*[data-id="pluginManagerSettingsPermissionForm"]')
|
|
.assert.containsText('*[data-id="pluginManagerSettingsPermissionForm"]', 'No Permission requested yet')
|
|
.modalFooterOKClick()
|
|
.click('*[data-id="verticalIconsFileExplorerIcons"]')
|
|
.switchFile('browser/3_Ballot.sol')
|
|
.click('*[plugin="ZoKrates"]')
|
|
.pause(5000)
|
|
.frame(0)
|
|
.useXpath().click("//span[text()='Compile']")
|
|
.pause(2000)
|
|
.frameParent()
|
|
.useCss().waitForElementVisible('*[data-id="modalDialogContainer"]')
|
|
.assert.containsText('*[data-id="permissionHandlerMessage"]', 'ZOKRATES" WOULD LIKE TO ACCESS "FILE MANAGER" :')
|
|
.pause(2000)
|
|
.click('*[data-id="permissionHandlerRememberChoice"]')
|
|
.pause(2000)
|
|
.modalFooterOKClick()
|
|
},
|
|
|
|
'Should revert plugin permission (ZOKRATES)': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="verticalIconsSettingsIcons"]')
|
|
.click('*[data-id="verticalIconsSettingsIcons"]')
|
|
.waitForElementVisible('*[data-id="pluginManagerPermissionsButton"]')
|
|
.click('*[data-id="pluginManagerPermissionsButton"]')
|
|
.waitForElementVisible('*[data-id="modalDialogContainer"]')
|
|
.click('*[data-id="pluginManagerSettingsPermissionForm"]')
|
|
.pause(2000)
|
|
.click('*[data-id="pluginManagerSettingsClearAllPermission"]')
|
|
.pause(2000)
|
|
.assert.containsText('*[data-id="pluginManagerSettingsPermissionForm"]', 'No Permission requested yet')
|
|
.modalFooterOKClick()
|
|
},
|
|
*/
|
|
|
|
'Should connect a local plugin': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.click('*[data-id="pluginManagerComponentPluginSearchButton"]')
|
|
.waitForElementVisible('*[data-id="modalDialogContainer"]')
|
|
.click('*[data-id="modalDialogModalBody"]')
|
|
.setValue('*[data-id="localPluginName"]', testData.pluginName)
|
|
.setValue('*[data-id="localPluginDisplayName"]', testData.pluginDisplayName)
|
|
.setValue('*[data-id="localPluginUrl"]', testData.pluginUrl)
|
|
.click('*[data-id="localPluginRadioButtoniframe"]')
|
|
.click('*[data-id="localPluginRadioButtonsidePanel"]')
|
|
.click('*[data-id="modalDialogModalFooter"]')
|
|
.modalFooterOKClick()
|
|
.waitForElementVisible('*[data-id="pluginManagerComponentDeactivateButtonremixIde"]')
|
|
},
|
|
|
|
'Should display error message for creating already existing plugin': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.click('*[data-id="pluginManagerComponentPluginSearchButton"]')
|
|
.waitForElementVisible('*[data-id="modalDialogContainer"]')
|
|
.click('*[data-id="modalDialogModalBody"]')
|
|
.clearValue('*[data-id="localPluginName"]').setValue('*[data-id="localPluginName"]', testData.pluginName)
|
|
.clearValue('*[data-id="localPluginDisplayName"]').setValue('*[data-id="localPluginDisplayName"]', testData.pluginDisplayName)
|
|
.clearValue('*[data-id="localPluginUrl"]').setValue('*[data-id="localPluginUrl"]', testData.pluginUrl)
|
|
.click('*[data-id="localPluginRadioButtoniframe"]')
|
|
.click('*[data-id="localPluginRadioButtonsidePanel"]')
|
|
.click('*[data-id="modalDialogModalFooter"]')
|
|
.modalFooterOKClick()
|
|
.pause(5000)
|
|
.waitForElementVisible('*[data-shared="tooltipPopup"]:nth-last-of-type(1)')
|
|
.pause(2000)
|
|
.assert.containsText('*[data-shared="tooltipPopup"]:nth-last-of-type(1)', 'Cannot create Plugin : This name has already been used')
|
|
},
|
|
|
|
'Should load back installed plugins after reload': function (browser) {
|
|
browser.waitForElementVisible('*[data-id="pluginManagerComponentPluginManager"]')
|
|
.getInstalledPlugins((plugins) => {
|
|
browser.refresh()
|
|
.waitForElementVisible('*[data-id="remixIdeSidePanel"]')
|
|
.pause(3000)
|
|
.perform((done) => {
|
|
plugins.forEach(plugin => {
|
|
if (plugin !== testData.pluginName) {
|
|
browser.waitForElementVisible(`[plugin="${plugin}"`)
|
|
}
|
|
})
|
|
done()
|
|
})
|
|
})
|
|
.end()
|
|
},
|
|
tearDown: sauce
|
|
}
|
|
|