Guest User

Untitled

a guest
Dec 16th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. const expectRevert = require("./helpers/expectRevert");
  2. const SushiToken = artifacts.require('SushiToken');
  3.  
  4. contract('SushiToken', accounts => {
  5. let token;
  6.  
  7. const tokenOwner = accounts[0];
  8. const notTokenOwner = accounts[1];
  9. const mintReciever = accounts[2];
  10.  
  11. before(async function () {
  12. token = await SushiToken.new({ from: tokenOwner });
  13. });
  14.  
  15. it('has a name', async function () {
  16. const name = await token.name();
  17. assert.equal(name, 'SushiToken');
  18. });
  19.  
  20. it('has a symbol', async function () {
  21. const symbol = await token.symbol();
  22. assert.equal(symbol, 'SUSHTO');
  23. });
  24.  
  25. it('has 18 decimals', async function () {
  26. const decimals = await token.decimals();
  27. assert.strictEqual(decimals.toNumber(), 18);
  28. });
  29.  
  30. it('assigns the initial total supply to the creator', async function () {
  31. const initialSupply = await token.initialSupply();
  32. const totalSupply = await token.totalSupply();
  33. const creatorBalance = await token.balanceOf(tokenOwner);
  34.  
  35. assert.strictEqual(creatorBalance.toString(), initialSupply.toString());
  36. assert.strictEqual(totalSupply.toString(), initialSupply.toString());
  37. });
  38.  
  39. it('can transfer 10 token from token owner to not owner', async function () {
  40. const transferReciept = await token.transfer(notTokenOwner, 10, {from:tokenOwner});
  41. var notOwnerBalance = await token.balanceOf(notTokenOwner);
  42.  
  43. assert.strictEqual(notOwnerBalance.toString(), "10");
  44. });
  45.  
  46. describe('contract burnable', async function (){
  47.  
  48. it('burn 10 token', async function () {
  49. const userTokenBefore = await token.balanceOf(tokenOwner);
  50. const burnReciept = await token.burn(web3.utils.toWei("10"), {from: tokenOwner});
  51. const userTokenAfter = await token.balanceOf(tokenOwner);
  52. var difference = (userTokenBefore/(10**18)) - (userTokenAfter/(10**18));
  53. assert.strictEqual(difference.toString(), "10");
  54.  
  55. const burnLogs = burnReciept.logs;
  56. assert.strictEqual(burnLogs.length, 2);
  57. assert.strictEqual(burnLogs[0].event, "Transfer");
  58. assert.strictEqual(burnLogs[1].event, "BurnLog");
  59. assert.strictEqual(burnLogs[1].args.by, tokenOwner);
  60. assert.strictEqual(burnLogs[1].args.value.toString(), web3.utils.toWei("10").toString());
  61. });
  62.  
  63. it('can not burn if burner doesn\'t have token', async function () {
  64. await expectRevert(token.burn(web3.utils.toWei("10"), {from: notTokenOwner}))
  65. });
  66. });
  67.  
  68. describe('contract mintable', async function (){
  69.  
  70. it('mint 10 token by owner', async function () {
  71.  
  72. });
  73.  
  74. it('can not mint by not owner', async function () {
  75.  
  76. });
  77. });
  78.  
  79. describe('total sushi eaten', async function (){
  80.  
  81. it('can add total sushi eaten value by sushi type', async function () {
  82.  
  83. });
  84. });
  85. });
Add Comment
Please, Sign In to add comment