Browse Source

Merge pull request #477 from facuspagnuolo/feaure/create_detailed_erc20_interface

Create detailed ERC20 interface
Francisco Giordano 8 years ago
parent
commit
84bffb854a
3 changed files with 58 additions and 0 deletions
  1. 15 0
      contracts/token/DetailedERC20.sol
  2. 35 0
      test/DetailedERC20.js
  3. 8 0
      test/helpers/DetailedERC20Mock.sol

+ 15 - 0
contracts/token/DetailedERC20.sol

@@ -0,0 +1,15 @@
+pragma solidity ^0.4.11;
+
+import './ERC20.sol';
+
+contract DetailedERC20 is ERC20 {
+  string public name;
+  string public symbol;
+  uint8 public decimals;
+
+  function DetailedERC20(string _name, string _symbol, uint8 _decimals) {
+    name = _name;
+    symbol = _symbol;
+    decimals = _decimals;
+  }
+}

+ 35 - 0
test/DetailedERC20.js

@@ -0,0 +1,35 @@
+const BigNumber = web3.BigNumber;
+
+require('chai')
+  .use(require('chai-as-promised'))
+  .use(require('chai-bignumber')(BigNumber))
+  .should();
+
+const DetailedERC20Mock = artifacts.require('./helpers/DetailedERC20Mock.sol');
+
+contract('DetailedERC20', accounts => {
+  let detailedERC20 = null;
+
+  const _name = "My Detailed ERC20";
+  const _symbol = "MDT";
+  const _decimals = 18;
+
+  beforeEach(async function() {
+    detailedERC20 = await DetailedERC20Mock.new(_name, _symbol, _decimals);
+  });
+
+  it('has a name', async function () {
+    const name = await detailedERC20.name();
+    name.should.be.equal(_name);
+  });
+
+  it('has a symbol', async function () {
+    const symbol = await detailedERC20.symbol();
+    symbol.should.be.equal(_symbol);
+  });
+
+  it('has an amount of decimals', async function () {
+    const decimals = await detailedERC20.decimals();
+    decimals.should.be.bignumber.equal(_decimals)
+  });
+});

+ 8 - 0
test/helpers/DetailedERC20Mock.sol

@@ -0,0 +1,8 @@
+pragma solidity ^0.4.11;
+
+import '../../contracts/token/StandardToken.sol';
+import '../../contracts/token/DetailedERC20.sol';
+
+contract DetailedERC20Mock is StandardToken, DetailedERC20 {
+  function DetailedERC20Mock(string _name, string _symbol, uint8 _decimals) DetailedERC20(_name, _symbol, _decimals) {}
+}