SimpleToken.test.js 1.2 KB

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