@@ -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 get_stakers
1876+ /// Advance epoch
1877+ /// Test get_stakers
1878+ /// Advance epoch
1879+ /// Test 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 same epoch.
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