diff --git a/pallets/distance/src/mock.rs b/pallets/distance/src/mock.rs index 61ad83e667c907dd73701a56fffb89e73b50f639..7031c0e0976528617e7afbc356ddd38ae7a0afb4 100644 --- a/pallets/distance/src/mock.rs +++ b/pallets/distance/src/mock.rs @@ -15,9 +15,11 @@ // along with Duniter-v2S. If not, see <https://www.gnu.org/licenses/>. use crate::{self as pallet_distance}; +use frame_support::traits::GenesisBuild; use frame_support::{ parameter_types, sp_io, traits::{Everything, OnFinalize, OnInitialize}, + BasicExternalities, }; use frame_system as system; use pallet_session::{ShouldEndSession, TestSessionHandler}; @@ -245,17 +247,50 @@ impl pallet_session::historical::Config for Test { // Build genesis storage according to the mock runtime. pub fn new_test_ext() -> sp_io::TestExternalities { - GenesisConfig { - system: SystemConfig::default(), - authority_members: pallet_authority_members::GenesisConfig::default(), - cert: pallet_certification::GenesisConfig::default(), - distance: pallet_distance::GenesisConfig::default(), - identity: pallet_identity::GenesisConfig::default(), - session: pallet_session::GenesisConfig::default(), + let initial_authorities_len = 3; + let initial_authorities = (1..=initial_authorities_len) + .map(|i| (i * 3, (i * 3, true))) + .collect(); + let keys: Vec<_> = (1..=initial_authorities_len) + .map(|i| (i * 3, i * 3, UintAuthorityId(i * 3).into())) + .collect(); + + let mut t = frame_system::GenesisConfig::default() + .build_storage::<Test>() + .unwrap(); + + BasicExternalities::execute_with_storage(&mut t, || { + for (ref k, ..) in &keys { + frame_system::Pallet::<Test>::inc_providers(k); + } + // Some dedicated test account + frame_system::Pallet::<Test>::inc_providers(&12); + frame_system::Pallet::<Test>::inc_providers(&15); + }); + + pallet_authority_members::GenesisConfig::<Test> { + initial_authorities, } - .build_storage() - .unwrap() - .into() + .assimilate_storage(&mut t) + .unwrap(); + + pallet_session::GenesisConfig::<Test> { keys } + .assimilate_storage(&mut t) + .unwrap(); + + sp_io::TestExternalities::new(t) + + // GenesisConfig { + // system: SystemConfig::default(), + // authority_members: pallet_authority_members::GenesisConfig::default(), + // cert: pallet_certification::GenesisConfig::default(), + // distance: pallet_distance::GenesisConfig::default(), + // identity: pallet_identity::GenesisConfig::default(), + // session: pallet_session::GenesisConfig::default(), + // } + // .build_storage() + // .unwrap() + // .into() } pub fn run_to_block(n: u64) {