Skip to content

Commit 8622540

Browse files
test: add get_stakers with zero balance flow
1 parent 0d4c1ff commit 8622540

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

workspace/apps/staking/contracts/src/flow_test/flow_ideas.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# Flow Ideas
22
## `get_stakers`
3-
- Get stakers with staker with zero balance.
43
- Staker exit action, get stakers.
54
- Staker exit intent, get stakers.
65
- Delegate STRK and/or BTC, get stakers.

workspace/apps/staking/contracts/src/flow_test/test.cairo

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1869,3 +1869,44 @@ fn set_same_public_key_for_2_different_stakers_flow_test() {
18691869
assert!(staking.get_current_public_key(staker_address: staker_1.staker.address) == public_key);
18701870
assert!(staking.get_current_public_key(staker_address: staker_2.staker.address) == public_key);
18711871
}
1872+
1873+
/// Flow:
1874+
/// Staker stake
1875+
/// Test balance with get_stakers
1876+
/// Advance epoch
1877+
/// Test balance with get_stakers
1878+
/// Advance epoch
1879+
/// Test balance with get_stakers
1880+
#[test]
1881+
fn get_stakers_zero_balance_flow_test() {
1882+
let cfg: StakingInitConfig = Default::default();
1883+
let mut system = SystemConfigTrait::basic_stake_flow_cfg(:cfg).deploy();
1884+
let amount = system.staking.get_min_stake();
1885+
let staker = system.new_staker(:amount);
1886+
system.stake(:staker, :amount, pool_enabled: false, commission: 200);
1887+
let staking = system.staking.dispatcher();
1888+
let staking_consensus = system.staking.consensus_dispatcher();
1889+
1890+
// Test balance with get_stakers
1891+
let epoch_id = staking.get_current_epoch();
1892+
let stakers = staking_consensus.get_stakers(:epoch_id);
1893+
let expected_stakers = array![].span();
1894+
assert!(stakers == expected_stakers);
1895+
1896+
// Test next epoch.
1897+
let stakers = staking_consensus.get_stakers(epoch_id: epoch_id + 1);
1898+
assert!(stakers == expected_stakers);
1899+
system.advance_epoch();
1900+
let epoch_id = staking.get_current_epoch();
1901+
let stakers = staking_consensus.get_stakers(:epoch_id);
1902+
assert!(stakers == expected_stakers);
1903+
1904+
// Test next next epoch.
1905+
let stakers = staking_consensus.get_stakers(epoch_id: epoch_id + 1);
1906+
let expected_stakers = array![(staker.staker.address, STRK_WEIGHT_FACTOR, Option::None)].span();
1907+
assert!(stakers == expected_stakers);
1908+
system.advance_epoch();
1909+
let epoch_id = staking.get_current_epoch();
1910+
let stakers = staking_consensus.get_stakers(:epoch_id);
1911+
assert!(stakers == expected_stakers);
1912+
}

0 commit comments

Comments
 (0)