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.
86 lines
4.7 KiB
86 lines
4.7 KiB
import { NightwatchBrowser } from "nightwatch"
|
|
|
|
|
|
const tests = {
|
|
before: function (browser: NightwatchBrowser, done: VoidFunction) {
|
|
browser.hideToolTips()
|
|
done()
|
|
},
|
|
'Should create semaphore workspace': function (browser: NightwatchBrowser) {
|
|
browser
|
|
.waitForElementVisible('*[data-id="homeTabGetStartedsemaphore"]', 20000)
|
|
.click('*[data-id="homeTabGetStartedsemaphore"]')
|
|
.pause(3000)
|
|
.windowHandles(function (result) {
|
|
console.log(result.value)
|
|
browser.switchWindow(result.value[1])
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemcircuits"]')
|
|
.click('*[data-id="treeViewLitreeViewItemcircuits"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemcircuits/semaphore.circom"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemscripts"]')
|
|
.click('*[data-id="treeViewLitreeViewItemscripts"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemscripts/groth16"]')
|
|
.click('*[data-id="treeViewLitreeViewItemscripts/groth16"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemscripts/groth16/groth16_trusted_setup.ts"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemscripts/groth16/groth16_zkproof.ts"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemscripts/plonk"]')
|
|
.click('*[data-id="treeViewLitreeViewItemscripts/plonk"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemscripts/plonk/plonk_trusted_setup.ts"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemscripts/plonk/plonk_zkproof.ts"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemtemplates"]')
|
|
.click('*[data-id="treeViewLitreeViewItemtemplates"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemtemplates/groth16_verifier.sol.ejs"]')
|
|
.waitForElementVisible('*[data-id="treeViewLitreeViewItemtemplates/plonk_verifier.sol.ejs"]')
|
|
})
|
|
},
|
|
'Should compile a simple circuit using editor play button': function (browser: NightwatchBrowser) {
|
|
browser
|
|
.click('[data-id="treeViewLitreeViewItemcircuits/simple.circom"]')
|
|
.waitForElementVisible('[data-id="play-editor"]')
|
|
.click('[data-id="play-editor"]')
|
|
.pause(3000)
|
|
.click('[data-id="play-editor"]')
|
|
.waitForElementVisible('[data-id="verticalIconsKindcircuit-compiler"]')
|
|
.waitForElementVisible('[data-id="treeViewLitreeViewItemcircuits/.bin"]')
|
|
.click('[data-id="treeViewLitreeViewItemcircuits/.bin"]')
|
|
.waitForElementVisible('[data-id="treeViewLitreeViewItemcircuits/.bin/simple_js"]')
|
|
.click('[data-id="treeViewLitreeViewItemcircuits/.bin/simple_js"]')
|
|
.waitForElementVisible('[data-id="treeViewLitreeViewItemcircuits/.bin/simple_js/simple.wasm"]')
|
|
},
|
|
'Should run setup script for simple circuit': function (browser: NightwatchBrowser) {
|
|
browser
|
|
.clickLaunchIcon('circuit-compiler')
|
|
.frame(0)
|
|
.waitForElementVisible('[data-id="runSetupBtn"]')
|
|
.click('[data-id="runSetupBtn"]')
|
|
},
|
|
'Should compute a witness for a simple circuit': function (browser: NightwatchBrowser) {
|
|
browser
|
|
.waitForElementVisible('[data-id="compute_witness_btn"]', 60000)
|
|
.waitForElementVisible('[data-id="circuit_input_a"]')
|
|
.waitForElementVisible('[data-id="circuit_input_b"]')
|
|
.setValue('[data-id="circuit_input_a"]', '1')
|
|
.setValue('[data-id="circuit_input_b"]', '2')
|
|
.click('[data-id="compute_witness_btn"]')
|
|
.frameParent()
|
|
.clickLaunchIcon('filePanel')
|
|
.waitForElementPresent('[data-id="treeViewLitreeViewItemcircuits/.bin/simple_js/simple.wtn"]')
|
|
.waitForElementVisible('[data-id="treeViewLitreeViewItemcircuits/.bin/simple_js/simple.wtn"]')
|
|
},
|
|
'Should generate proof for a simple circuit': function (browser: NightwatchBrowser) {
|
|
browser
|
|
.clickLaunchIcon('circuit-compiler')
|
|
.frame(0)
|
|
.waitForElementVisible('[data-id="generateProofBtn"]')
|
|
.click('[data-id="generateProofBtn"]')
|
|
.frameParent()
|
|
.waitForElementVisible({
|
|
locateStrategy: 'xpath',
|
|
selector: "//span[@class='text-log' and contains(., 'zk proof validity true')]",
|
|
timeout: 60000
|
|
})
|
|
|
|
}
|
|
}
|
|
|
|
module.exports = tests
|
|
|