| 知乎專欄 | 多維度架構 | | | 微信號 netkiller-ebook | | | QQ群:128659835 請註明“讀者” |
it("should return the balance of token owner", function() {
var token;
return Token.deployed().then(function(instance){
token = instance;
return token.balanceOf.call(accounts[0]);
}).then(function(result){
assert.equal(result.toNumber(), 1000000, 'balance is wrong');
})
});
it("should transfer right token", function() {
var token;
return Token.deployed().then(function(instance){
token = instance;
return token.transfer(accounts[1], 500000);
}).then(function(){
return token.balanceOf.call(accounts[0]);
}).then(function(result){
assert.equal(result.toNumber(), 500000, 'accounts[0] balance is wrong');
return token.balanceOf.call(accounts[1]);
}).then(function(result){
assert.equal(result.toNumber(), 500000, 'accounts[1] balance is wrong');
})
});
transferFrom
it("should give accounts[1] authority to spend account[0]'s token", function() {
var token;
return Token.deployed().then(function(instance){
token = instance;
return token.approve(accounts[1], 200000);
}).then(function(){
return token.allowance.call(accounts[0], accounts[1]);
}).then(function(result){
assert.equal(result.toNumber(), 200000, 'allowance is wrong');
return token.transferFrom(accounts[0], accounts[2], 200000, {from: accounts[1]});
}).then(function(){
return token.balanceOf.call(accounts[0]);
}).then(function(result){
assert.equal(result.toNumber(), 300000, 'accounts[0] balance is wrong');
return token.balanceOf.call(accounts[1]);
}).then(function(result){
assert.equal(result.toNumber(), 500000, 'accounts[1] balance is wrong');
return token.balanceOf.call(accounts[2]);
}).then(function(result){
assert.equal(result.toNumber(), 200000, 'accounts[2] balance is wrong');
})
});
Transfer Event
it("should show the transfer event", function() {
var token;
return Token.deployed().then(function(instance){
token = instance;
return token.transfer(accounts[1], 100000);
}).then(function(result){
console.log(result.logs[0].event)
})
});