Skip to content

Ideas2IT/nebtest

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

Nebtest

NebTest will automate unit testing of nebulas smart contracts.

Features

  • With NebTest, we can automate smart contract testing on both testnet and mainnet.
  • Run test case with multiple test data sets at a time.
  • Run test cases in clean state, by deploying a smart contract before each test case.

Pre-requisites

Methods

Name Parameters Return Description
createNewAccount - Account Creates a new account from wallet
transferToken to, token - Send token to the given address from wallet
deployContract fileName - Deploy the contract file
callContract value, call transaction Call the specified methods with arguments
transact value, call receipt Returns 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

Test Result

Resources

Steps for creating nebulas web wallet

To claim free nebulas tokens

About

NebTest will automate unit testing of nebulas smart contracts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published