Fix number formatting

pull/2634/head
Piotr Roslaniec 2021-04-22 16:08:47 +02:00
parent b7ecc73084
commit 621b6c7a84
3 changed files with 13 additions and 11 deletions

View File

@ -311,11 +311,11 @@ NO_TOKENS_TO_WITHDRAW = "No tokens can be withdrawn."
NO_FEE_TO_WITHDRAW = "No policy fee can be withdrawn."
TOKEN_REWARD_CURRENT = 'Available staking rewards: {reward_amount:.18g} NU.'
TOKEN_REWARD_CURRENT = 'Available staking rewards: {reward_amount} NU.'
TOKEN_REWARD_PAST_HEADER = 'Staking rewards in the last {periods} periods ({days} days):'
TOKEN_REWARD_PAST = 'Total staking rewards: {reward_amount:.18g} NU.'
TOKEN_REWARD_PAST = 'Total staking rewards: {reward_amount} NU.'
TOKEN_REWARD_NOT_FOUND = "No staking rewards found."

View File

@ -317,8 +317,6 @@ def paint_staking_rewards(stakeholder, blockchain, emitter, past_periods, stakin
periods_as_days = math.floor(economics.days_per_period * past_periods)
emitter.echo(message=TOKEN_REWARD_PAST_HEADER.format(periods=past_periods, days=periods_as_days))
emitter.echo(tabulate.tabulate(rows,
headers=REWARDS_TABLE_COLUMNS,
tablefmt="fancy_grid",
floatfmt=".18g"))
emitter.echo(tabulate.tabulate(rows, headers=REWARDS_TABLE_COLUMNS, tablefmt="fancy_grid"))
rewards_total = NU(rewards_total, 'NU').to_tokens()
emitter.echo(message=TOKEN_REWARD_PAST.format(reward_amount=rewards_total))

View File

@ -1415,7 +1415,7 @@ def test_stake_list_all(click_runner, surrogate_stakers, surrogate_stakes, token
@pytest.mark.usefixtures("test_registry_source_manager", "patch_stakeholder_configuration")
def test_show_rewards(click_runner, surrogate_stakers, mock_staking_agent, mocker):
def test_show_rewards(click_runner, surrogate_stakers, mock_staking_agent):
reward_amount = 1
reward = NU(reward_amount, 'NU')
mock_staking_agent.calculate_staking_reward.return_value = reward.to_nunits()
@ -1436,7 +1436,7 @@ def test_show_rewards(click_runner, surrogate_stakers, mock_staking_agent, mocke
@pytest.mark.usefixtures("test_registry_source_manager", "patch_stakeholder_configuration")
def test_show_rewards_for_period(click_runner, surrogate_stakers, mock_staking_agent, token_economics, mocker):
periods = 30
periods_per_day = token_economics.hours_per_period / 24
periods_per_day = token_economics.hours_per_period // 24
seconds_per_period = token_economics.seconds_per_period
latest_block = 100_000_000
latest_period = 15_000
@ -1445,7 +1445,7 @@ def test_show_rewards_for_period(click_runner, surrogate_stakers, mock_staking_a
nr_of_events = 3
events = [{
'args': {
'value': NU(Decimal(reward_amount), 'NU').to_nunits(),
'value': NU(reward_amount + i/100*i, 'NU').to_nunits(),
'period': latest_period - i,
},
'block_number': estimate_block_number_for_period(latest_period - i,
@ -1469,16 +1469,20 @@ def test_show_rewards_for_period(click_runner, surrogate_stakers, mock_staking_a
'--network', TEMPORARY_DOMAIN,
'--staking-address', surrogate_stakers[0],
'--periods', periods)
result = click_runner.invoke(stake, collection_args, catch_exceptions=False)
assert result.exit_code == 0
periods_as_days = math.floor(periods_per_day*periods)
assert TOKEN_REWARD_PAST_HEADER.format(periods=periods, days=periods_as_days) in result.output
for header in REWARDS_TABLE_COLUMNS:
assert header in result.output
for event in events:
assert str(event['block_number']) in result.output
assert TOKEN_REWARD_PAST.format(reward_amount=reward_amount * nr_of_events)
rewards_total = sum([e['args']['value'] for e in events])
rewards_total = NU(rewards_total, 'NU').to_tokens()
assert TOKEN_REWARD_PAST.format(reward_amount=rewards_total)
mock_staking_agent.get_current_period.assert_called()
mock_staking_agent.contract.events[event_name].getLogs.assert_called()