1.0.2 • Published 6 years ago

nebtest v1.0.2

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

Nebtest

NebTest will let you to test your nebulas smart contracts just like you write unit test for any javascript applications.

Features

  • You can configure for testing in your testnet / mainnet.
  • Run test case with multiple test data at a time using json.
  • Will deploy a smart contract before each test case to run your test case in clean state.

Pre-requisites

Methods

NameParametersReturnDescription
createNewAccount-AccountCreates a new account from wallet
transferTokento, token-Send token to the given address from wallet
deployContractfileName-Deploy the contract file
callContractvalue, calltransactionCall the specified methods with arguments
transactvalue, callreceiptReturns the transaction receipt

Getting Started

  1. Install
    npm install --save nebtest
    npm install --save mocha chai

  2. Include nebtest to your test case
    const Nebtest = require('nebtest');

  3. Export variables

    Download and follow the instructions to create a web-wallet https://github.com/nebulasio/web-wallet

    Create a wallet

    From the wallet info, you will get the wallet details

    export ENVIRONMENT='testnet'
    export SOURCEACCOUNT='wallet private key'
    export COINBASE='wallet address'

  4. Mock Contract
    Place your contract files in test directory

        test/contracts/contractFile.js
  5. Test data
    Place your test data in test directory

        test/testCases.json
  6. Test data - sample format

    const testData = [
      {
        name: 'Test Case Description',
        data: [
          {
            name: 'Test data name',
            testInput: {
              ...test inputs
            },
            testExpect: {
              ...test result expect
            }
          }
        ]
      }
  7. Test Cases
    Write your test cases in

        test/test.js
  8. Run test

    Add following command to scripts. The timeout is based on the mining time of the contract you are running. Increase the timeout if you are getting the timeout error.

    "scripts": {
      ...
      "test": "mocha --timeout 600000"
    }

    Run the test as,

      npm run test

Example

Check here for a complete example

Resources

Steps for creating nebulas web wallet

To claim free nebulas tokens