select a test file done

pull/1862/head
Aniket-Engg 3 years ago committed by Aniket
parent cdab7c36cb
commit 6d0498decc
  1. 49
      libs/remix-ui/solidity-unit-testing/src/lib/solidity-unit-testing.tsx

@ -27,16 +27,14 @@ export const SolidityUnitTesting = (props: any) => {
const [runButtonTitle, setRunButtonTitle] = useState('Run tests')
const [stopButtonLabel, setStopButtonLabel] = useState('Stop')
const [checkSelectAll, setCheckSelectAll] = useState(true)
const [checkSingleTest, setCheckSingleTest] = useState(true)
const [testsExecutionStoppedHidden, setTestsExecutionStoppedHidden] = useState(true)
const [testsExecutionStoppedErrorHidden, setTestsExecutionStoppedErrorHidden] = useState(true)
// const [testsMessage, setTestsMessage] = useState('No test file available')
var [testFiles, setTestFiles] = useState<TestObject[]>([])
let [testFiles, setTestFiles] = useState<TestObject[]>([])
const [pathOptions, setPathOptions] = useState([''])
let [allTests, setAllTests] = useState([])
let [selectedTests, setSelectedTests] = useState([])
let [selectedTests, setSelectedTests] = useState<string[]>([])
const [inputPathValue, setInputPathValue] = useState('tests')
@ -78,7 +76,7 @@ export const SolidityUnitTesting = (props: any) => {
allTests = []
updateTestFileList()
clearResults()
if (!areTestsRunning) updateRunAction(file)
// if (!areTestsRunning) updateRunAction(file)
try {
testTabLogic.getTests((error: any, tests: any) => {
// if (error) return tooltip(error)
@ -201,7 +199,7 @@ export const SolidityUnitTesting = (props: any) => {
const updateRunAction = (currentFile : any = null) => {
console.log('updateRunAction --currentFile-->', currentFile)
const isSolidityActive = testTab.appManager.isActive('solidity')
if (!isSolidityActive || !testFiles?.length) {
if (!isSolidityActive || !selectedTests?.length) {
setDisableRunButton(true)
if (!currentFile || (currentFile && currentFile.split('.').pop().toLowerCase() !== 'sol')) {
setRunButtonTitle('No solidity file selected')
@ -219,22 +217,17 @@ export const SolidityUnitTesting = (props: any) => {
setDisableRunButton(true)
}
const toggleCheckbox = (eChecked: any, test:any) => {
console.log('toggleCheckbox--->', test, eChecked)
console.log('toggleCheckbox--selectedTests1->', selectedTests)
if (!selectedTests) {
// this.data.selectedTests = this._view.el.querySelectorAll('.singleTest:checked')
}
let selectedTestsList: any = selectedTests
selectedTests = eChecked ? [...selectedTestsList, test] : selectedTestsList.filter((el:any) => el !== test)
setSelectedTests(selectedTests)
// console.log('toggleCheckbox--selectedTests2->', selectedTests)
const getCurrentSelectedTests = () => {
let selectedTestsList: TestObject[] = testFiles.filter(testFileObj => testFileObj.checked)
return selectedTestsList.map(testFileObj => testFileObj.fileName)
}
// const clickElem = document.getElementById(`singleTest${test}`)
// console.log('toggleCheckbox--clickElem->', clickElem, `singleTest${test}`)
// if(eChecked) clickElem?.setAttribute('checked', 'checked')
// else clickElem?.removeAttribute('checked')
const toggleCheckbox = (eChecked: any, index:any) => {
testFiles[index].checked = eChecked
setTestFiles(testFiles)
selectedTests = getCurrentSelectedTests()
console.log('selectedTests----->', selectedTests)
setSelectedTests(selectedTests)
if (eChecked) {
setCheckSelectAll(true)
if ((readyTestsNumber === runningTestsNumber || hasBeenStopped) && stopButtonLabel.trim() === 'Stop') {
@ -245,13 +238,21 @@ export const SolidityUnitTesting = (props: any) => {
setCheckSelectAll(false)
setDisableRunButton(true)
setRunButtonTitle('No test file selected')
}
} else setCheckSelectAll(false)
}
const checkAll = (event: any) => {
testFiles.forEach((testFileObj) => testFileObj.checked = event.target.checked)
setTestFiles(testFiles)
setCheckSelectAll(event.target.checked)
if(event.target.checked) {
selectedTests = getCurrentSelectedTests()
setSelectedTests(selectedTests)
setDisableRunButton(false)
} else {
setSelectedTests([])
setDisableRunButton(true)
}
}
const updateTestFileList = () => {
@ -351,12 +352,12 @@ export const SolidityUnitTesting = (props: any) => {
/>
<label className="text-nowrap pl-2 mb-0" htmlFor="checkAllTests"> Select all </label>
</div>
<div className="testList py-2 mt-0 border-bottom">{testFiles?.length ? testFiles.map((testFileObj: any) => {
<div className="testList py-2 mt-0 border-bottom">{testFiles?.length ? testFiles.map((testFileObj: any, index) => {
console.log('testFileObj----->', testFileObj)
const elemId = `singleTest${testFileObj.fileName}`
return (
<div className="d-flex align-items-center py-1">
<input className="singleTest" id={elemId} onChange={(e) => toggleCheckbox(e.target.checked, testFileObj.fileName)} type="checkbox" checked={testFileObj.checked}/>
<input className="singleTest" id={elemId} onChange={(e) => toggleCheckbox(e.target.checked, index)} type="checkbox" checked={testFileObj.checked}/>
<label className="singleTestLabel text-nowrap pl-2 mb-0" htmlFor={elemId}>{testFileObj.fileName}</label>
</div>
)

Loading…
Cancel
Save