Add test coverage for RefreshBalance.perform/1

pull/42/head
Doc Ritezel 7 years ago
parent 668098821a
commit f80d9c1f57
  1. 4
      lib/explorer/workers/refresh_balance.ex
  2. 24
      test/explorer/workers/refresh_balance_test.exs

@ -12,8 +12,8 @@ defmodule Explorer.Workers.RefreshBalance do
def perform("debit"), do: unless refreshing("debits"), do: Debit.refresh() def perform("debit"), do: unless refreshing("debits"), do: Debit.refresh()
def perform do def perform do
perform_later("credit") perform_later(["credit"])
perform_later("debit") perform_later(["debit"])
end end
def perform_later(args \\ []) do def perform_later(args \\ []) do

@ -7,9 +7,9 @@ defmodule Explorer.Workers.RefreshBalanceTest do
alias Explorer.Debit alias Explorer.Debit
alias Explorer.Workers.RefreshBalance alias Explorer.Workers.RefreshBalance
describe "perform/1" do describe "perform/0" do
test "refreshes credit balances" do test "refreshes credit balances" do
with_mock Exq, [enqueue: fn (_, _, _, _) -> Credit.refresh() end] do with_mock Exq, [enqueue: fn (_, _, _, [type]) -> RefreshBalance.perform(type) end] do
address = insert(:address) address = insert(:address)
transaction = insert(:transaction, value: 20) transaction = insert(:transaction, value: 20)
insert(:to_address, address: address, transaction: transaction) insert(:to_address, address: address, transaction: transaction)
@ -19,7 +19,7 @@ defmodule Explorer.Workers.RefreshBalanceTest do
end end
test "refreshes debit balances" do test "refreshes debit balances" do
with_mock Exq, [enqueue: fn (_, _, _, _) -> Debit.refresh() end] do with_mock Exq, [enqueue: fn (_, _, _, [type]) -> RefreshBalance.perform(type) end] do
address = insert(:address) address = insert(:address)
transaction = insert(:transaction, value: 20) transaction = insert(:transaction, value: 20)
insert(:from_address, address: address, transaction: transaction) insert(:from_address, address: address, transaction: transaction)
@ -28,4 +28,22 @@ defmodule Explorer.Workers.RefreshBalanceTest do
end end
end end
end end
describe "perform/1" do
test "refreshes credit balances" do
address = insert(:address)
transaction = insert(:transaction, value: 20)
insert(:to_address, address: address, transaction: transaction)
RefreshBalance.perform("credit")
assert Repo.one(Credit).value == Decimal.new(20)
end
test "refreshes debit balances" do
address = insert(:address)
transaction = insert(:transaction, value: 20)
insert(:from_address, address: address, transaction: transaction)
RefreshBalance.perform("debit")
assert Repo.one(Debit).value == Decimal.new(20)
end
end
end end

Loading…
Cancel
Save