From 21c21ae2e342871f01d64d520d47c55f79954d80 Mon Sep 17 00:00:00 2001 From: Liam Aharon <liam.aharon@hotmail.com> Date: Wed, 17 Apr 2024 15:26:44 +0400 Subject: [PATCH] add test for same staking and reward asset --- substrate/frame/asset-rewards/src/tests.rs | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/substrate/frame/asset-rewards/src/tests.rs b/substrate/frame/asset-rewards/src/tests.rs index 417d4185e57..906ee8d75e7 100644 --- a/substrate/frame/asset-rewards/src/tests.rs +++ b/substrate/frame/asset-rewards/src/tests.rs @@ -220,6 +220,57 @@ mod create_pool { }); } + #[test] + fn success_same_assest() { + new_test_ext().execute_with(|| { + assert_eq!(NextPoolId::<MockRuntime>::get(), 0); + + // Create a pool with the same staking and reward asset. + let asset = NativeOrWithId::<u32>::Native; + assert_ok!(StakingRewards::create_pool( + RuntimeOrigin::root(), + Box::new(asset.clone()), + Box::new(asset.clone()), + DEFAULT_REWARD_RATE_PER_BLOCK, + DEFAULT_EXPIRY_BLOCK, + None + )); + + // Event is emitted. + assert_eq!( + events(), + [Event::<MockRuntime>::PoolCreated { + creator: PermissionedAccountId::get(), + pool_id: 0, + staked_asset_id: asset.clone(), + reward_asset_id: asset.clone(), + reward_rate_per_block: DEFAULT_REWARD_RATE_PER_BLOCK, + expiry_block: DEFAULT_EXPIRY_BLOCK, + admin: PermissionedAccountId::get(), + }] + ); + + // State is updated correctly. + assert_eq!(NextPoolId::<MockRuntime>::get(), 1); + assert_eq!( + pools(), + vec![( + 0, + PoolInfo { + staked_asset_id: asset.clone(), + reward_asset_id: asset, + reward_rate_per_block: DEFAULT_REWARD_RATE_PER_BLOCK, + expiry_block: DEFAULT_EXPIRY_BLOCK, + admin: PermissionedAccountId::get(), + total_tokens_staked: 0, + reward_per_token_stored: 0, + last_update_block: 0 + } + )] + ); + }) + } + #[test] fn fails_for_non_existent_asset() { new_test_ext().execute_with(|| { -- GitLab