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