SimpleToken.test.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import decodeLogs from './helpers/decodeLogs';
  2. const SimpleToken = artifacts.require('examples/SimpleToken.sol');
  3. contract('SimpleToken', accounts => {
  4. let token;
  5. const creator = accounts[0];
  6. beforeEach(async function () {
  7. token = await SimpleToken.new({ from: creator });
  8. });
  9. it('has a name', async function () {
  10. const name = await token.name();
  11. assert.equal(name, 'SimpleToken');
  12. });
  13. it('has a symbol', async function () {
  14. const symbol = await token.symbol();
  15. assert.equal(symbol, 'SIM');
  16. });
  17. it('has 18 decimals', async function () {
  18. const decimals = await token.decimals();
  19. assert(decimals.eq(18));
  20. });
  21. it('assigns the initial total supply to the creator', async function () {
  22. const totalSupply = await token.totalSupply();
  23. const creatorBalance = await token.balanceOf(creator);
  24. assert(creatorBalance.eq(totalSupply));
  25. const receipt = web3.eth.getTransactionReceipt(token.transactionHash);
  26. const logs = decodeLogs(receipt.logs, SimpleToken, token.address);
  27. assert.equal(logs.length, 1);
  28. assert.equal(logs[0].event, 'Transfer');
  29. assert.equal(logs[0].args.from.valueOf(), 0x0);
  30. assert.equal(logs[0].args.to.valueOf(), creator);
  31. assert(logs[0].args.value.eq(totalSupply));
  32. });
  33. });