Have ideas to improve npm?Join in the discussion! »

    solidity-test

    0.0.7-alpha • Public • Published

    solidity-test

    npm version

    A simple node module to aid smart contract development in testing contracts. Initially created due to the desire to modularize testing for reverts, now looking to expand into something more definite.

    Quick Example

    const solidityTest = require('solidityTest');
    const solAssert = solidityTest.solAssert;
     
    const notOwner = '0x00000000000000000000000000000000000';
     
    //Within Mocha:
     
    it('reverts transaction', async () => {
      
      await solAssert.revert(
        async () => {  
          someContract.functionOnlyOwnerCanCall().send({from: notOwner});
        }
      )
      
    })
     

    And, if perhaps testing for ownership, and wanting to be strict about the kind of error received:

    const solidityTest = require('solidityTest');
    const solAssert = solidityTest.solAssert;
    const errors = solidityTest.errors;
     
    const notOwner = '0x00000000000000000000000000000000000';
     
    //Within Mocha:
     
    it('reverts transaction', async () => {
     
      //Passing an error string to revert will only pass when the error string is matched
      await solAssert.revert(
        async () => {
          someContract.functionOnlyOwnerCanCall().send({from: notOwner});
        }, errors.openzeppelin.ownable // which is: 'Ownable: caller is not the owner'
      )
     
    })
     

    Keywords

    none

    Install

    npm i solidity-test

    DownloadsWeekly Downloads

    7

    Version

    0.0.7-alpha

    License

    MIT

    Unpacked Size

    4.53 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar