#![cfg(test)] use crate::{Module, Trait}; use balances; use frame_support::{impl_outer_origin, parameter_types}; use minting; use sp_core::H256; use sp_runtime::{ testing::Header, traits::{BlakeTwo256, IdentityLookup}, Perbill, }; mod status_handler; pub use status_handler::MockStatusHandler; impl_outer_origin! { pub enum Origin for Test {} } // Workaround for https://github.com/rust-lang/rust/issues/26925 . Remove when sorted. #[derive(Clone, PartialEq, Eq, Debug)] pub struct Test; parameter_types! { pub const BlockHashCount: u64 = 250; pub const MaximumBlockWeight: u32 = 1024; pub const MaximumBlockLength: u32 = 2 * 1024; pub const AvailableBlockRatio: Perbill = Perbill::one(); pub const MinimumPeriod: u64 = 5; } impl frame_system::Trait for Test { type BaseCallFilter = (); type Origin = Origin; type Call = (); type Index = u64; type BlockNumber = u64; type Hash = H256; type Hashing = BlakeTwo256; type AccountId = u64; type Lookup = IdentityLookup; type Header = Header; type Event = (); type BlockHashCount = BlockHashCount; type MaximumBlockWeight = MaximumBlockWeight; type DbWeight = (); type BlockExecutionWeight = (); type ExtrinsicBaseWeight = (); type MaximumExtrinsicWeight = (); type MaximumBlockLength = MaximumBlockLength; type AvailableBlockRatio = AvailableBlockRatio; type Version = (); type AccountData = balances::AccountData; type OnNewAccount = (); type OnKilledAccount = (); type SystemWeightInfo = (); type PalletInfo = (); } parameter_types! { pub const ExistentialDeposit: u32 = 0; } impl balances::Trait for Test { type Balance = u64; type DustRemoval = (); type Event = (); type ExistentialDeposit = ExistentialDeposit; type AccountStore = System; type WeightInfo = (); type MaxLocks = (); } impl Trait for Test { type PayoutStatusHandler = MockStatusHandler; type RecipientId = u64; type RewardRelationshipId = u64; } impl minting::Trait for Test { type Currency = Balances; type MintId = u64; } pub fn build_test_externalities() -> sp_io::TestExternalities { MockStatusHandler::reset(); let t = frame_system::GenesisConfig::default() .build_storage::() .unwrap(); t.into() } pub type System = frame_system::Module; pub type Balances = balances::Module; pub type Rewards = Module; pub type Minting = minting::Module;