Я пытаюсь проверить, происходит ли событие, но тест проходит независимо от того, что является вводом.
Я предполагаю, что я что-то делаю неправильно, ожидая результата и что он только что прошел тест и, таким образом,никогда не подтверждается в ложь.
Мой тест выглядит следующим образом (acc2 - это const, содержащий адрес):
it('Should emit an event on this call.', async () => {
const testingOraclize = await TestingOraclize.new()
let actual = await testingOraclize.myFunc({from:acc2})
await truffleAssert.eventEmitted(actual , 'ParticipateStatus', async (res) => {
return res._statusCode.toNumber() === 0;
})
});
Мой импорт в файле тестирования:
const TestingOraclize = artifacts.require('contracts/BetBank.sol');
const assert = require("chai").assert;
const truffleAssert = require('truffle-assertions');
Событие в контракте Solidity
event ParticipateStatus(uint8 _statusCode, address _owner, address _participant);
MyFunc (адреса [msg.sender] действительно разрешают в true):
function MyFunc() external payable {
if (addresses[msg.sender]) {
emit ParticipateStatus(0, allRunningBets[_betListIndex].betPlacer, msg.sender);
return;
}
}
Чего мне здесь не хватает?