hardhat-scilla-plugin
Version:
Hardhat TypeScript plugin for scilla testing
31 lines • 1.56 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.scillaChaiEventMatcher = void 0;
const chai_1 = __importDefault(require("chai"));
const chai_subset_1 = __importDefault(require("chai-subset"));
const LogsSimplifier_1 = require("./LogsSimplifier");
chai_1.default.use(chai_subset_1.default);
const scillaChaiEventMatcher = function (static_chai, _utils) {
const Assertion = static_chai.Assertion;
Assertion.addMethod("eventLog", function (eventName) {
const tx = this._obj;
const receipt = tx.getReceipt();
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
new Assertion(receipt.event_logs).not.to.be.null;
const event_logs = receipt.event_logs;
new Assertion(event_logs.map(({ _eventname }) => _eventname)).to.contain(eventName);
});
Assertion.addMethod("eventLogWithParams", async function (eventName, ...params) {
const tx = this._obj;
const receipt = tx.getReceipt();
await new Assertion(this._obj).to.eventLog(eventName);
const event_logs = (0, LogsSimplifier_1.simplifyLogs)(receipt.event_logs);
const desiredLog = event_logs.filter((log) => log._eventname === eventName);
new Assertion(desiredLog[0].params).to.containSubset(params);
});
};
exports.scillaChaiEventMatcher = scillaChaiEventMatcher;
//# sourceMappingURL=ScillaChaiMatchers.js.map