Resolve #98: Finish testing of genesis balances
This commit is contained in:
parent
b134fbe43c
commit
e6e7f70ff9
2 changed files with 41 additions and 20 deletions
|
|
@ -322,8 +322,6 @@ namespace graphene { namespace chain {
|
||||||
// return ((fc::uint128(data_size(ts...)) * data_fee) / BYTES_PER_DATA_FEE).to_uint64();
|
// return ((fc::uint128(data_size(ts...)) * data_fee) / BYTES_PER_DATA_FEE).to_uint64();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Standard fees
|
* Standard fees
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,6 @@ BOOST_FIXTURE_TEST_SUITE( operation_tests, database_fixture )
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE( withdraw_permission_create )
|
BOOST_AUTO_TEST_CASE( withdraw_permission_create )
|
||||||
{ try {
|
{ try {
|
||||||
//ACTORS((nathan)(dan))
|
|
||||||
//idump((nathan)(dan));
|
|
||||||
auto nathan_private_key = generate_private_key("nathan");
|
auto nathan_private_key = generate_private_key("nathan");
|
||||||
auto dan_private_key = generate_private_key("dan");
|
auto dan_private_key = generate_private_key("dan");
|
||||||
account_id_type nathan_id = create_account("nathan", nathan_private_key.get_public_key()).id;
|
account_id_type nathan_id = create_account("nathan", nathan_private_key.get_public_key()).id;
|
||||||
|
|
@ -1031,6 +1029,7 @@ BOOST_AUTO_TEST_CASE( balance_object_test )
|
||||||
|
|
||||||
auto slot = db.get_slot_at_time(starting_time);
|
auto slot = db.get_slot_at_time(starting_time);
|
||||||
db.generate_block(starting_time, db.get_scheduled_witness(slot).first, delegate_priv_key, database::skip_nothing);
|
db.generate_block(starting_time, db.get_scheduled_witness(slot).first, delegate_priv_key, database::skip_nothing);
|
||||||
|
trx.set_expiration(db.head_block_id());
|
||||||
|
|
||||||
const balance_object& vesting_balance_1 = balance_id_type(2)(db);
|
const balance_object& vesting_balance_1 = balance_id_type(2)(db);
|
||||||
const balance_object& vesting_balance_2 = balance_id_type(3)(db);
|
const balance_object& vesting_balance_2 = balance_id_type(3)(db);
|
||||||
|
|
@ -1045,7 +1044,6 @@ BOOST_AUTO_TEST_CASE( balance_object_test )
|
||||||
op.total_claimed = asset(1);
|
op.total_claimed = asset(1);
|
||||||
op.balance_owner_key = v1_key.get_public_key();
|
op.balance_owner_key = v1_key.get_public_key();
|
||||||
trx.clear();
|
trx.clear();
|
||||||
trx.set_expiration(db.head_block_id());
|
|
||||||
trx.operations = {op};
|
trx.operations = {op};
|
||||||
trx.sign(n_key);
|
trx.sign(n_key);
|
||||||
trx.sign(v1_key);
|
trx.sign(v1_key);
|
||||||
|
|
@ -1070,8 +1068,9 @@ BOOST_AUTO_TEST_CASE( balance_object_test )
|
||||||
trx.sign(n_key);
|
trx.sign(n_key);
|
||||||
trx.sign(v2_key);
|
trx.sign(v2_key);
|
||||||
db.push_transaction(trx);
|
db.push_transaction(trx);
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL(db.get_balance(op.deposit_to_account, asset_id_type()).amount.value, 101);
|
BOOST_CHECK_EQUAL(db.get_balance(op.deposit_to_account, asset_id_type()).amount.value, 101);
|
||||||
|
BOOST_CHECK_EQUAL(vesting_balance_2.balance.amount.value, 300);
|
||||||
|
|
||||||
op.total_claimed.amount = 10;
|
op.total_claimed.amount = 10;
|
||||||
trx.operations = {op};
|
trx.operations = {op};
|
||||||
trx.signatures.clear();
|
trx.signatures.clear();
|
||||||
|
|
@ -1080,23 +1079,47 @@ BOOST_AUTO_TEST_CASE( balance_object_test )
|
||||||
// Attempting to claim twice within a day
|
// Attempting to claim twice within a day
|
||||||
BOOST_CHECK_THROW(db.push_transaction(trx), balance_claimed_too_often);
|
BOOST_CHECK_THROW(db.push_transaction(trx), balance_claimed_too_often);
|
||||||
|
|
||||||
// TODO: test withdrawing entire vesting_balance_1 balance, remainder of vesting_balance_2 balance
|
db.generate_block(db.get_slot_time(1), db.get_scheduled_witness(1).first, delegate_priv_key, database::skip_nothing);
|
||||||
// slot = db.get_slot_at_time(vesting_balance_1.vesting_policy->begin_timestamp + 60);
|
slot = db.get_slot_at_time(vesting_balance_1.vesting_policy->begin_timestamp + 60);
|
||||||
// db.generate_block(starting_time, db.get_scheduled_witness(slot).first, delegate_priv_key, database::skip_nothing);
|
db.generate_block(db.get_slot_time(slot), db.get_scheduled_witness(slot).first, delegate_priv_key, database::skip_nothing);
|
||||||
|
trx.set_expiration(db.head_block_id());
|
||||||
|
|
||||||
// op.balance_to_claim = vesting_balance_1.id;
|
op.balance_to_claim = vesting_balance_1.id;
|
||||||
// op.total_claimed.amount = 500;
|
op.total_claimed.amount = 500;
|
||||||
// op.balance_owner_key = v1_key.get_public_key();
|
op.balance_owner_key = v1_key.get_public_key();
|
||||||
// trx.operations = {op};
|
trx.operations = {op};
|
||||||
// trx.signatures.clear();
|
trx.signatures.clear();
|
||||||
// trx.sign(n_key);
|
trx.sign(n_key);
|
||||||
// trx.sign(v2_key);
|
trx.sign(v1_key);
|
||||||
// db.push_transaction(trx);
|
db.push_transaction(trx);
|
||||||
// BOOST_CHECK(db.find_object(op.balance_to_claim) == nullptr);
|
BOOST_CHECK(db.find_object(op.balance_to_claim) == nullptr);
|
||||||
|
BOOST_CHECK_EQUAL(db.get_balance(op.deposit_to_account, asset_id_type()).amount.value, 601);
|
||||||
|
|
||||||
|
op.balance_to_claim = vesting_balance_2.id;
|
||||||
|
op.balance_owner_key = v2_key.get_public_key();
|
||||||
|
op.total_claimed.amount = 10;
|
||||||
|
trx.operations = {op};
|
||||||
|
trx.signatures.clear();
|
||||||
|
trx.sign(n_key);
|
||||||
|
trx.sign(v2_key);
|
||||||
|
// Attempting to claim twice within a day
|
||||||
|
BOOST_CHECK_THROW(db.push_transaction(trx), balance_claimed_too_often);
|
||||||
|
|
||||||
|
db.generate_block(db.get_slot_time(1), db.get_scheduled_witness(1).first, delegate_priv_key, database::skip_nothing);
|
||||||
|
slot = db.get_slot_at_time(db.head_block_time() + fc::days(1));
|
||||||
|
db.generate_block(db.get_slot_time(slot), db.get_scheduled_witness(slot).first, delegate_priv_key, database::skip_nothing);
|
||||||
|
trx.set_expiration(db.head_block_id());
|
||||||
|
|
||||||
|
op.total_claimed = vesting_balance_2.balance;
|
||||||
|
trx.operations = {op};
|
||||||
|
trx.signatures.clear();
|
||||||
|
trx.sign(n_key);
|
||||||
|
trx.sign(v2_key);
|
||||||
|
db.push_transaction(trx);
|
||||||
|
BOOST_CHECK(db.find_object(op.balance_to_claim) == nullptr);
|
||||||
|
BOOST_CHECK_EQUAL(db.get_balance(op.deposit_to_account, asset_id_type()).amount.value, 901);
|
||||||
} FC_LOG_AND_RETHROW() }
|
} FC_LOG_AND_RETHROW() }
|
||||||
|
|
||||||
// TODO: Write linear VBO tests
|
// TODO: Write linear VBO tests
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue