parent
0344d138c7
commit
14b91c90a3
@ -0,0 +1,20 @@ |
||||
|
||||
name: Running Solidity Unit Tests |
||||
on: [push] |
||||
|
||||
jobs: |
||||
run_sol_contracts_job: |
||||
runs-on: ubuntu-latest |
||||
name: A job to run solidity unit tests on github actions CI |
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v2 |
||||
- name: Environment Setup |
||||
uses: actions/setup-node@v3 |
||||
with: |
||||
node-version: 14.17.6 |
||||
- name: Run SUT Action |
||||
uses: EthereumRemix/sol-test@v1 |
||||
with: |
||||
test-path: 'apps/remix-ide/contracts/tests' |
||||
compiler-version: '0.8.15' |
@ -0,0 +1,28 @@ |
||||
// 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"; |
||||
import "../ballot.sol"; |
||||
|
||||
contract BallotTest { |
||||
|
||||
bytes32[] proposalNames; |
||||
|
||||
Ballot ballotToTest; |
||||
function beforeAll () public { |
||||
proposalNames.push(bytes32("candidate1")); |
||||
ballotToTest = new Ballot(proposalNames); |
||||
} |
||||
|
||||
function checkWinningProposal () public { |
||||
console.log("Running checkWinningProposal"); |
||||
ballotToTest.vote(0); |
||||
Assert.equal(ballotToTest.winningProposal(), uint(0), "proposal at index 0 should be the winning proposal"); |
||||
Assert.equal(ballotToTest.winnerName(), bytes32("candidate1"), "candidate1 should be the winner name"); |
||||
} |
||||
|
||||
function checkWinninProposalWithReturnValue () public view returns (bool) { |
||||
return ballotToTest.winningProposal() == 0; |
||||
} |
||||
} |
Loading…
Reference in new issue