qtest-js
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Welcome to Qtest

Qtest is an open-source Javascript-based Antelope smart-contract testing framework, created by GenerEOS with funding from the EOS Network Foundation.

Qtest gives you the ability to dockerize a Leap node. This allows a developer to host it on any system that supports Docker. Using Qtest, developers can simplify testing of smart contracts and automate things like table seeding, account creation, and other initialisation tasks that are required before running complex test scenarios. Qtest already can be used to streamline testing for multiple Antelope based chains including EOS, WAX, and TELOS, with the ability to add additional chain support easily.

Noteworthy Features

  • Ability to run tests in parallel
  • Supports the snapshot for EOS/WAX/TLOS with lastest system contracts out of the box
  • Supports testing on ARM/AMD architectures
  • Ability to insert/modify/erase data for each table
  • Update the chain time to fast-forward the chain and allow testing future states

Note: Testing on ARM architecture is unsupported in Qtest-v0.6.0 and later versions, as leap-v3.1.4 lacks binary build files for ARM architecture. If you intend to test on an ARM computer, kindly utilize Qtest-v0.5.0 instead.

Quick start

Installation

Refer to an example project

npm install --save-dev qtest-js

Jest

Install jest

npm install --save-dev jest@^28.1.3

Config jest: Create jest.config.js and add the following:

module.exports = {
  // transform: { "^.+\\.(ts|tsx)$": "ts-jest" },
  testEnvironment: "node",
  testTimeout: 120 * 1e3,
};

Docker

To install docker please refer here

Run

Update test command in package.json

"test": "jest"

Run

npm run test

Usage

const { Chain } = require("qtest-js");
const { expectAction } = require("qtest-js");

Api and JsonRpc from eosjs are available through the Chain class

Qtest API

Classes

Public

Internal

Functions

Public

Support

For issues not covered in the documentation, please jump into our channel and we will do our best to help you out GenerEOS channel on Telegram.

Licence

This code is provided as is, under MIT Licence.

Todo

  • Support ARM binaries for leap version

Package Sidebar

Install

npm i qtest-js

Weekly Downloads

52

Version

1.0.0

License

MIT

Unpacked Size

88.7 kB

Total Files

48

Last publish

Collaborators

  • genereos-account