4
0
Fork 0

Setup test for properly decoding filter data

indexed
hswick 7 years ago
parent 0a5b2cd2b4
commit 5b6895c661
  1. 56
      test/exw3_test.exs

@ -235,35 +235,35 @@ defmodule EXW3Test do
# # Test indexed events
# {:ok, agent2} = Agent.start_link(fn -> [] end)
# indexed_filter_id = ExW3.Contract.filter(:EventTester, "SimpleIndex", self())
# {:ok, _tx_hash} =
# ExW3.Contract.send(
# :EventTester,
# :simpleIndex,
# ["Hello, World!"],
# %{from: Enum.at(context[:accounts], 0), gas: 30_000}
# )
# receive do
# {:event, {_filter_id, data}} ->
# Agent.update(agent2, fn list -> [data | list] end)
# after 3_000 ->
# raise "Never received event"
# end
# state = Agent.get(agent, fn list -> list end)
# event_log = Enum.at(state, 0)
# assert event_log |> is_map
{:ok, agent} = Agent.start_link(fn -> [] end)
indexed_filter_id = ExW3.Contract.filter(:EventTester, "SimpleIndex", self())
{:ok, _tx_hash} =
ExW3.Contract.send(
:EventTester,
:simpleIndex,
["Hello, World!"],
%{from: Enum.at(context[:accounts], 0), gas: 30_000}
)
receive do
{:event, {_filter_id, data}} ->
Agent.update(agent, fn list -> [data | list] end)
after 3_000 ->
raise "Never received event"
end
state = Agent.get(agent, fn list -> list end)
event_log = Enum.at(state, 0)
assert event_log |> is_map
# log_data = Map.get(event_log, "data")
# assert log_data |> is_map
# assert Map.get(log_data, "num") == 46
# assert ExW3.bytes_to_string(Map.get(log_data, "data")) == "Hello, World!"
# assert Map.get(log_data, "otherNum") == 42
# ExW3.uninstall_filter(indexed_filter_id)
log_data = Map.get(event_log, "data")
assert log_data |> is_map
assert Map.get(log_data, "num") == 46
assert ExW3.bytes_to_string(Map.get(log_data, "data")) == "Hello, World!"
assert Map.get(log_data, "otherNum") == 42
ExW3.uninstall_filter(indexed_filter_id)
end
test "starts a Contract GenServer for Complex contract", context do

Loading…
Cancel
Save