pull/2035/head
filip mertens 3 years ago
parent b385f4efac
commit d23b6f9ad9
  1. 2
      apps/remix-ide-e2e/src/helpers/init.ts
  2. 2
      apps/remix-ide-e2e/src/tests/solidityUnittests.test.ts
  3. 17
      libs/remix-ui/solidity-unit-testing/src/lib/logic/testTabLogic.ts
  4. 2
      libs/remix-ui/solidity-unit-testing/src/lib/solidity-unit-testing.tsx

@ -13,7 +13,7 @@ export default function (browser: NightwatchBrowser, callback: VoidFunction, url
.fullscreenWindow(() => {
if (preloadPlugins) {
initModules(browser, () => {
browser.clickLaunchIcon('solidity')
browser.pause(2000).clickLaunchIcon('solidity')
.waitForElementVisible('[for="autoCompile"]')
.click('[for="autoCompile"]')
.verify.elementPresent('[data-id="compilerContainerAutoCompile"]:checked')

@ -47,7 +47,7 @@ module.exports = {
.click('*[data-id="verticalIconsKindsolidityUnitTesting"]')
.waitForElementPresent('*[data-id="testTabGenerateTestFile"]')
.click('*[data-id="testTabGenerateTestFile"]')
// .clickLaunchIcon('filePanel')
.clickLaunchIcon('filePanel')
.waitForElementPresent('*[title="default_workspace/tests/simple_storage_test.sol"]')
.removeFile('tests/simple_storage_test.sol', 'default_workspace')
},

@ -38,20 +38,23 @@ export class TestTabLogic {
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
generateTestFile (errorCb:any) {
async generateTestFile (errorCb:any) {
let fileName = this.fileManager.currentFile()
const hasCurrent = !!fileName && this.fileManager.currentFile().split('.').pop().toLowerCase() === 'sol'
if (!hasCurrent) fileName = this.currentPath + '/newFile.sol'
const fileProvider = this.fileManager.fileProviderOf(this.currentPath)
const fileProvider = await this.fileManager.fileProviderOf(this.currentPath)
if (!fileProvider) return
const splittedFileName = fileName.split('/')
const fileNameToImport = (!hasCurrent) ? fileName : this.currentPath + '/' + splittedFileName[splittedFileName.length - 1]
this.helper.createNonClashingNameWithPrefix(fileNameToImport, fileProvider, '_test', (error: Error, newFile: string) => {
this.helper.createNonClashingNameWithPrefix(fileNameToImport, fileProvider, '_test', async (error: Error, newFile: string) => {
if (error) return errorCb('Failed to create file. ' + newFile + ' ' + error)
const isFileCreated = fileProvider.set(newFile, this.generateTestContractSample(hasCurrent, fileName))
if (!isFileCreated) return errorCb('Failed to create test file ' + newFile)
this.fileManager.open(newFile)
this.fileManager.syncEditor(newFile)
try{
await fileProvider.set(newFile, this.generateTestContractSample(hasCurrent, fileName))
await this.fileManager.open(newFile)
await this.fileManager.syncEditor(newFile)
}catch(e){
return errorCb('Failed to create test file ' + newFile)
}
})
}

@ -680,7 +680,7 @@ export const SolidityUnitTesting = (props: Record<string, any>) => { // eslint-d
title="Generate sample test file."
disabled={disableGenerateButton}
onClick={async () => {
testTabLogic.generateTestFile((err:any) => { if (err) setToasterMsg(err)}) // eslint-disable-line @typescript-eslint/no-explicit-any
await testTabLogic.generateTestFile((err:any) => { if (err) setToasterMsg(err)}) // eslint-disable-line @typescript-eslint/no-explicit-any
await updateForNewCurrent()
}}
>

Loading…
Cancel
Save