Failing regression test for #1297

pull/1302/head
Luke Imhoff 6 years ago
parent 2d0f11296f
commit d25ffd2fcd
  1. 49
      apps/indexer/test/indexer/block/uncataloged_rewards/importer_test.exs

@ -3,10 +3,9 @@ defmodule Indexer.Block.UncatalogedRewards.ImporterTest do
use Explorer.DataCase use Explorer.DataCase
import Mox import Mox
import EthereumJSONRPC, only: [integer_to_quantity: 1]
import EthereumJSONRPC.Case
alias Explorer.Chain alias Explorer.Chain.Wei
alias Explorer.Chain.Block.Reward
alias Indexer.Block.UncatalogedRewards.Importer alias Indexer.Block.UncatalogedRewards.Importer
describe "fetch_and_import_rewards/1" do describe "fetch_and_import_rewards/1" do
@ -49,7 +48,7 @@ defmodule Indexer.Block.UncatalogedRewards.ImporterTest do
{:ok, {:ok,
[ [
ok: %{ ok: %{
"insert_0" => %Explorer.Chain.Block.Reward{ "insert_0" => %Reward{
address_hash: address.hash, address_hash: address.hash,
block_hash: block.hash, block_hash: block.hash,
address_type: :validator address_type: :validator
@ -60,5 +59,47 @@ defmodule Indexer.Block.UncatalogedRewards.ImporterTest do
result = Importer.fetch_and_import_rewards([block]) result = Importer.fetch_and_import_rewards([block])
assert result = expected assert result = expected
end end
@tag :no_geth
test "replaces reward on conflict" do
miner = insert(:address)
block = insert(:block, miner: miner)
block_hash = block.hash
address_type = :validator
insert(:reward, block_hash: block_hash, address_hash: miner.hash, address_type: address_type, reward: 1)
value = "0x2"
expect(EthereumJSONRPC.Mox, :json_rpc, fn [%{id: id, method: "trace_block"}], _options ->
{:ok,
[
%{
id: id,
result: [
%{
"action" => %{
"author" => to_string(miner),
"rewardType" => "external",
"value" => value
},
"blockHash" => to_string(block_hash),
"blockNumber" => block.number,
"result" => nil,
"subtraces" => 0,
"traceAddress" => [],
"transactionHash" => nil,
"transactionPosition" => nil,
"type" => "reward"
}
]
}
]}
end)
{:ok, reward} = Wei.cast(value)
assert {:ok,
[ok: %{"insert_0" => %Reward{block_hash: ^block_hash, address_type: ^address_type, reward: ^reward}}]} =
Importer.fetch_and_import_rewards([block])
end
end end
end end

Loading…
Cancel
Save