From d19c473b811c876981b2f10bbb2fed4da0baeac9 Mon Sep 17 00:00:00 2001 From: Jonathan Rainville Date: Tue, 12 Jun 2018 11:38:25 -0400 Subject: [PATCH] add a test to test events --- test_apps/test_app/app/contracts/simple_storage.sol | 2 ++ test_apps/test_app/test/simple_storage_spec.js | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/test_apps/test_app/app/contracts/simple_storage.sol b/test_apps/test_app/app/contracts/simple_storage.sol index e6e89cd2..05808ddb 100644 --- a/test_apps/test_app/app/contracts/simple_storage.sol +++ b/test_apps/test_app/app/contracts/simple_storage.sol @@ -13,6 +13,7 @@ library Assert { contract SimpleStorage is Ownable { uint public storedData; address public registar; + event EventOnSet2(bool passed, string message); function() public payable { } @@ -30,6 +31,7 @@ contract SimpleStorage is Ownable { function set2(uint x, uint unusedGiveWarning) public onlyOwner { storedData = x; + emit EventOnSet2(true, "hi"); } function get() public view returns (uint retVal) { diff --git a/test_apps/test_app/test/simple_storage_spec.js b/test_apps/test_app/test/simple_storage_spec.js index 2a503aa3..230c39d9 100644 --- a/test_apps/test_app/test/simple_storage_spec.js +++ b/test_apps/test_app/test/simple_storage_spec.js @@ -37,4 +37,15 @@ contract("SimpleStorage", function () { assert.strictEqual(SimpleStorage.options.address, SimpleStorage.address); }); + it('listens to events', function (done) { + SimpleStorage.once('EventOnSet2', async function(error, _result){ + assert.strictEqual(error, null); + let result = await SimpleStorage.methods.get().call(); + assert.strictEqual(parseInt(result, 10), 150); + done(); + }); + + SimpleStorage.methods.set2(150, 100).send(); + }); + });