From 5bfdf8d0d30d7fec7a45934753910fcc817104ce Mon Sep 17 00:00:00 2001 From: Ivan Ivanov Date: Tue, 28 Jan 2025 17:27:47 +0200 Subject: [PATCH] Rework tests that mocked historical_balances_changes to now mock historical_balances --- lib/sanbase/balances/balance.ex | 6 +++++- lib/sanbase/balances/balance_sql_query.ex | 2 ++ .../project_api_eth_spent_over_time_test.exs | 19 +++++++++++-------- .../projects/project_api_eth_spent_test.exs | 17 ++++++++++------- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/lib/sanbase/balances/balance.ex b/lib/sanbase/balances/balance.ex index e0e0919a0f..184604af84 100644 --- a/lib/sanbase/balances/balance.ex +++ b/lib/sanbase/balances/balance.ex @@ -153,7 +153,11 @@ defmodule Sanbase.Balance do balances |> Enum.chunk_every(2, 1, :discard) |> Enum.map(fn [%{balance: previous}, %{balance: current, datetime: dt}] -> - %{datetime: dt, balance: current - previous} + %{ + datetime: dt, + balance_change_amount: current - previous, + balance_change_percent: Sanbase.Math.percent_change(previous, current) + } end) {:ok, changes} diff --git a/lib/sanbase/balances/balance_sql_query.ex b/lib/sanbase/balances/balance_sql_query.ex index 8203f0fe3f..95bb136d38 100644 --- a/lib/sanbase/balances/balance_sql_query.ex +++ b/lib/sanbase/balances/balance_sql_query.ex @@ -10,6 +10,8 @@ defmodule Sanbase.Balance.SqlQuery do "bitcoin" -> "btc_balances" "litecoin" -> "ltc_balances" "dogecoin" -> "doge_balances" + "bitcoin-cash" -> "bch_balances" + "binance" -> "bep20_balances" end end diff --git a/test/sanbase_web/graphql/projects/project_api_eth_spent_over_time_test.exs b/test/sanbase_web/graphql/projects/project_api_eth_spent_over_time_test.exs index 762252339f..a2c89f318d 100644 --- a/test/sanbase_web/graphql/projects/project_api_eth_spent_over_time_test.exs +++ b/test/sanbase_web/graphql/projects/project_api_eth_spent_over_time_test.exs @@ -21,16 +21,19 @@ defmodule SanbaseWeb.Graphql.ProjectApiEthSpentOverTimeTest do end test "project eth spent over time", context do - [dt1, dt2, dt3, dt4, dt5, dt6] = - generate_datetimes(~U[2017-05-13T00:00:00Z], "1d", 6) |> Enum.map(&DateTime.to_unix/1) + [dt0, dt1, dt2, dt3, dt4, dt5, dt6] = + generate_datetimes(~U[2017-05-12T00:00:00Z], "1d", 7) |> Enum.map(&DateTime.to_unix/1) + # Historical Balances Changes uses internally the historical balances query, + # so that's what needs to be mocked rows = [ - [dt1, -500], - [dt2, -1500], - [dt3, -6000], - [dt4, 0], - [dt5, 0], - [dt6, -6500] + [dt0, 20000, 1], + [dt1, 19500, 1], + [dt2, 18000, 1], + [dt3, 12000, 1], + [dt4, 0, 0], + [dt5, 0, 0], + [dt6, 5500, 1] ] Sanbase.Mock.prepare_mock2(&Sanbase.ClickhouseRepo.query/2, {:ok, %{rows: rows}}) diff --git a/test/sanbase_web/graphql/projects/project_api_eth_spent_test.exs b/test/sanbase_web/graphql/projects/project_api_eth_spent_test.exs index 2780f52a55..82dca617d2 100644 --- a/test/sanbase_web/graphql/projects/project_api_eth_spent_test.exs +++ b/test/sanbase_web/graphql/projects/project_api_eth_spent_test.exs @@ -123,16 +123,19 @@ defmodule SanbaseWeb.Graphql.ProjecApiEthSpentTest do end test "eth spent over time by erc20 projects", context do - [dt1, dt2, dt3, dt4, dt5] = - generate_datetimes(Timex.shift(Timex.now(), days: -4), "1d", 5) + [dt0, dt1, dt2, dt3, dt4, dt5] = + generate_datetimes(Timex.shift(Timex.now(), days: -5), "1d", 6) |> Enum.map(&DateTime.to_unix/1) + # Historical Balances Changes uses internally the historical balances query, + # so that's what needs to be mocked rows = [ - [dt1, -16_500], - [dt2, -5500], - [dt3, -3500], - [dt4, -2500], - [dt5, -500] + [dt0, 50_000, 1], + [dt1, 33_500, 1], + [dt2, 28_000, 1], + [dt3, 24_500, 1], + [dt4, 22_000, 1], + [dt5, 21_500, 1] ] Sanbase.Mock.prepare_mock2(&Sanbase.ClickhouseRepo.query/2, {:ok, %{rows: rows}})