BasicToken.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. contract('BasicToken', function(accounts) {
  2. it("should return the correct totalSupply after construction", function(done) {
  3. return BasicTokenMock.new(accounts[0], 100)
  4. .then(function(token) {
  5. return token.totalSupply();
  6. })
  7. .then(function(totalSupply) {
  8. assert.equal(totalSupply, 100);
  9. })
  10. .then(done);
  11. })
  12. it("should return correct balances after transfer", function(done) {
  13. var token;
  14. return BasicTokenMock.new(accounts[0], 100)
  15. .then(function(_token) {
  16. token = _token;
  17. return token.transfer(accounts[1], 100);
  18. })
  19. .then(function() {
  20. return token.balanceOf(accounts[0]);
  21. })
  22. .then(function(balance) {
  23. assert.equal(balance, 0);
  24. })
  25. .then(function() {
  26. return token.balanceOf(accounts[1]);
  27. })
  28. .then(function(balance) {
  29. assert.equal(balance, 100);
  30. })
  31. .then(done);
  32. });
  33. it("should throw an error when trying to transfer more than balance", function(done) {
  34. var token;
  35. return BasicTokenMock.new(accounts[0], 100)
  36. .then(function(_token) {
  37. token = _token;
  38. return token.transfer(accounts[1], 101);
  39. })
  40. .catch(function(error) {
  41. if (error.message.search('invalid JUMP') == -1) throw error
  42. })
  43. .then(done);
  44. });
  45. });