@mimicprotocol/test-ts
v0.0.1-rc.28
Published
<h1 align="center"> <a href="https://mimic.fi"><img src="https://www.mimic.fi/logo.png" alt="Mimic Protocol" width="200"></a> </h1>
Downloads
500
Readme
Content
This package provides tooling and helpers to write and run tests for Mimic Protocol tasks using TypeScript. It includes:
- Mocking of inputs, balances, prices, contract calls responses, and context variables
- Simulated task execution with mocked environment
- Structured task outputs to assert emitted intents using frameworks like Mocha and Chai
Setup
To set up this project you'll need git and yarn installed.
Install the library from the root of the monorepo:
# Clone this repository
$ git clone https://github.com/mimic-protocol/tooling
# Go into the repository
$ cd tooling
# Install dependencies
$ yarnUsage
Here’s an example of how to test a Mimic task:
import { runTask } from "@mimicprotocol/test-ts";
import { expect } from "chai";
const taskDir = "./my-task";
const context = { user: "0x...", settler: "0x...", timestamp: Date.now() };
const inputs = { token: "0x...", amount: "10000000" };
const intents = await runTask(taskDir, context, { inputs });
expect(intents).to.be.an("array").that.is.not.empty;
expect(intents).to.have.lengthOf(1);
expect(intents[0].type).to.be.equal("transfer");
expect(intents[0].settler).to.be.equal(context.settler);
expect(intents[0].transfers).to.have.lengthOf(1);
expect(intents[0].transfers[0].token).to.be.equal(inputs.token);
expect(intents[0].transfers[0].amount).to.be.equal(inputs.amount);For full task testing guide and examples please visit docs.mimic.fi
Security
To read more about our auditing and related security processes please refer to the security section of our docs site.
However, if you found any potential issue in any of our smart contracts or in any piece of code you consider critical for the safety of the protocol, please contact us through [email protected].
License
This project is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.
Website mimic.fi · Docs docs.mimic.fi · GitHub @mimic-fi · Twitter @mimicfi · Discord mimic
