UNPKG

gittoken-contracts

Version:

GitToken Solidity Smart Contracts

59 lines (49 loc) 1.98 kB
var GitToken = artifacts.require("./GitToken.sol"); var Promise = require("bluebird") const { contributorAddress, username, name, organization, symbol, decimals } = require('../gittoken.config') function initContract() { return new Promise((resolve, reject) => { GitToken.new( contributorAddress, username, name, organization, symbol, decimals ).then(function(gittoken) { resolve(gittoken) }).catch(function(error) { reject(error) }) }) } function toBigNumber(value, decimals) { return value * Math.pow(10, decimals) } contract('GitToken', function(accounts) { describe('GitToken::transfer', function() { it("Should reward a contributor and allow that contributor to transfer one unit of the token", function() { var gittoken; return initContract().then((contract) => { gittoken = contract return gittoken.verifyContributor(accounts[0], username) }).then(function(event) { const { logs } = event assert.equal(logs.length, 1, "Expect a logged event") assert.equal(logs[0]['event'], "ContributorVerified", "Expected a `ContributorVerified` event") return gittoken.rewardContributor(username, "organization_member_added", toBigNumber(2500, decimals), toBigNumber(2500, decimals), "00000000-0000-0000-0000-000000000000") }).then(function(event){ const { logs } = event assert.equal(logs.length, 1, "Expect a logged event") assert.equal(logs[0]['event'], "Contribution", "Expected a `Contribution` event") return gittoken.transfer("0x8CB2CeBB0070b231d4BA4D3b747acAebDFbbD142", 1e8) }).then(function(event) { const { logs } = event assert.equal(logs.length, 1, "Expect a logged event") assert.equal(logs[0]['event'], "Transfer", "Expected a `Transfer` event") }).catch(function(error) { assert.equal(error, null, error.message) }) }) }) })