Index

Ethereum

  1. Election
  2. Accounts
  3. Test
  4. Frontend
  5. Voting
  6. Validation
  7. Events

Test

Mocha Testing framework
chai assertion library


var Election = artifacts.require('./Election.sol')

contract("Election"function(accounts){

    it("initializes with two candidates"function(){
        return Election.deployed().then(function(instance){
            return instance.candidatesCount();
        }).then(function(count){
            assert.equal(count, 2)
        });
    });

});


truffle test
images/496-1.png


it("it initializes the candidates with the correct values"function(){
        return Election.deployed().then(function(instance){
            electionInstance = instance;
            return electionInstance.candidates(1);
        }).then(function(candidate){
            assert.equal(candidate[0], 1"contains the correct id");
            assert.equal(candidate[1], "Candidate 1""contains the correct name");
            assert.equal(candidate[2], 0"contains the correct votes count");
            return electionInstance.candidates(2);
        }).then(function(candidate){
            assert.equal(candidate[0], 2"contains the correct id");
            assert.equal(candidate[1], "Candidate 2""contains the correct name");
            assert.equal(candidate[2], 0"contains the correct votes count");
        });
    });


election.js
var Election = artifacts.require('./Election.sol')

contract("Election"function(accounts){
    var electionInstance;
    it("initializes with two candidates"function(){
        return Election.deployed().then(function(instance){
            return instance.candidatesCount();
        }).then(function(count){
            assert.equal(count, 2)
        });
    });

    it("it initializes the candidates with the correct values"function(){
        return Election.deployed().then(function(instance){
            electionInstance = instance;
            return electionInstance.candidates(1);
        }).then(function(candidate){
            assert.equal(candidate[0], 1"contains the correct id");
            assert.equal(candidate[1], "Candidate 1""contains the correct name");
            assert.equal(candidate[2], 0"contains the correct votes count");
            return electionInstance.candidates(2);
        }).then(function(candidate){
            assert.equal(candidate[0], 2"contains the correct id");
            assert.equal(candidate[1], "Candidate 2""contains the correct name");
            assert.equal(candidate[2], 0"contains the correct votes count");
        });
    });

});