diff --git a/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts b/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts index 37ae60b073..bd6a4f2a7b 100644 --- a/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts +++ b/apps/remix-ide-e2e/src/tests/solidityUnittests.spec.ts @@ -186,6 +186,29 @@ module.exports = { .waitForElementContainsText('#solidityUnittestsOutput', '✓ Check winnin proposal with return value', 60000) }, + 'Solidity Unit tests with hardhat console log': function (browser: NightwatchBrowser) { + browser + .waitForElementPresent('*[data-id="verticalIconsKindfilePanel"]') + .addFile('tests/hhLogs_test.sol', sources[0]['tests/hhLogs_test.sol']) + .clickLaunchIcon('solidityUnitTesting') + .waitForElementVisible('*[id="singleTesttests/4_Ballot_test.sol"]', 60000) + .click('*[id="singleTesttests/4_Ballot_test.sol"]') + .click('#runTestsTabRunAction') + .pause(2000) + .waitForElementVisible('*[data-id="testTabSolidityUnitTestsOutputheader"]', 120000) + .waitForElementPresent('#solidityUnittestsOutput div[class^="testPass"]', 60000) + .waitForElementContainsText('#solidityUnittestsOutput', 'tests/hhLogs_test.sol', 60000) + .assert.containsText('#journal > div:nth-child(3) > span > div', 'Before all:') + .assert.containsText('#journal > div:nth-child(3) > span > div', 'Inside beforeAll') + .assert.containsText('#journal > div:nth-child(4) > span > div', 'Check sender:') + .assert.containsText('#journal > div:nth-child(4) > span > div', 'msg.sender is 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4') + .assert.containsText('#journal > div:nth-child(5) > span > div', 'Check int logs:') + .assert.containsText('#journal > div:nth-child(5) > span > div', '10 20') + .assert.containsText('#journal > div:nth-child(5) > span > div', 'Number is 25') + .openFile('tests/hhLogs_test.sol') + .removeFile('tests/hhLogs_test.sol', 'workspace_new') + }, + 'Debug failed test using debugger': function (browser: NightwatchBrowser) { browser .waitForElementPresent('*[data-id="verticalIconsKindfilePanel"]') @@ -462,6 +485,31 @@ const sources = [ return ballotToTest.winningProposal() == 0; } }` + }, + 'tests/hhLogs_test.sol': { + content: `// SPDX-License-Identifier: GPL-3.0 + + pragma solidity >=0.7.0 <0.9.0; + import "remix_tests.sol"; // this import is automatically injected by Remix. + import "hardhat/console.sol"; + + contract hhLogs { + + function beforeAll () public { + console.log('Inside beforeAll'); + } + + function checkSender () public { + console.log('msg.sender is %s', msg.sender); + Assert.ok(true, "should be true"); + } + + function checkIntLogs () public { + console.log(10,20); + console.log('Number is %d', 25); + Assert.ok(true, "should be true"); + } + }` } } ]