1.0.0 • Published 4 years ago
@defi-wonderland/lopt v1.0.0
lopt
lopt is a utility package that can generate mock Solidity contracts in the form of fakes and mocks.
lopt is based in @eth-optimism/smock, sinon and sinon-chai.
Some benefits of using lopt:
- Test syntax is easy to understand, just like
sinon-chai - Supports both chai
expectandshouldsyntax - Fully typed objects, that will extend your contract functions when using
typechain(highly recommended) - Mock and assert contract calls, without the need of even deploying it by using
fakes - If you need your contract logic, just wrap it in a
mockand start asserting calls or changing behaviour - Fully tested library
Documentation
Documentation is available here.
Installation
You can easily install lopt via npm:
npm install --save-dev @defi-wonderland/loptOr via yarn:
yarn add --dev @defi-wonderland/loptHow to use
...
import { FakeContract, lopt } from '@defi-wonderland/lopt';
chai.should(); // if you like should syntax
chai.use(lopt.matchers);
describe('MyContract', () => {
let myContractFake: FakeContract<MyContract>;
beforeEach(async () => {
...
myContractFake = await lopt.fake<MyContract>('MyContract');
});
it('some test', () => {
...
myContractFake.bark.atCall(0).should.be.calledWith('Hello World');
});
});Why the name lopt?
Loki's alternative name is Lopt, and Loki was obviously taken.
Loki is the God of Mischief, a trickster, and the purpose of mocking libraries is basically to trick the tests.
1.0.0
4 years ago
0.0.4-rc.0
4 years ago
1.0.0-rc.0
4 years ago
0.0.3
4 years ago
0.0.2
4 years ago
0.0.1-rc.3
4 years ago
0.0.1-rc.2
4 years ago
0.0.1-rc.1
4 years ago
0.0.1
4 years ago