123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- #![cfg(test)]
- pub use super::members::{self, Trait, DEFAULT_PAID_TERM_ID};
- pub use crate::currency::GovernanceCurrency;
- pub use srml_support::traits::Currency;
- pub use system;
- pub use primitives::{Blake2Hasher, H256};
- pub use runtime_primitives::{
- testing::{Digest, DigestItem, Header, UintAuthorityId},
- traits::{BlakeTwo256, Convert, IdentityLookup, OnFinalize},
- weights::Weight,
- BuildStorage, Perbill,
- };
- use srml_support::{impl_outer_origin, parameter_types};
- 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 system::Trait for Test {
- type Origin = Origin;
- type Index = u64;
- type BlockNumber = u64;
- type Call = ();
- type Hash = H256;
- type Hashing = BlakeTwo256;
- type AccountId = u64;
- type Lookup = IdentityLookup<Self::AccountId>;
- type Header = Header;
- type Event = ();
- type BlockHashCount = BlockHashCount;
- type MaximumBlockWeight = MaximumBlockWeight;
- type MaximumBlockLength = MaximumBlockLength;
- type AvailableBlockRatio = AvailableBlockRatio;
- type Version = ();
- }
- impl timestamp::Trait for Test {
- type Moment = u64;
- type OnTimestampSet = ();
- type MinimumPeriod = MinimumPeriod;
- }
- parameter_types! {
- pub const ExistentialDeposit: u32 = 0;
- pub const TransferFee: u32 = 0;
- pub const CreationFee: u32 = 0;
- pub const TransactionBaseFee: u32 = 1;
- pub const TransactionByteFee: u32 = 0;
- pub const InitialMembersBalance: u64 = 2000;
- }
- impl balances::Trait for Test {
- /// The type for recording an account's balance.
- type Balance = u64;
- /// What to do if an account's free balance gets zeroed.
- type OnFreeBalanceZero = ();
- /// What to do if a new account is created.
- type OnNewAccount = ();
- /// The ubiquitous event type.
- type Event = ();
- type DustRemoval = ();
- type TransferPayment = ();
- type ExistentialDeposit = ExistentialDeposit;
- type TransferFee = TransferFee;
- type CreationFee = CreationFee;
- }
- impl GovernanceCurrency for Test {
- type Currency = balances::Module<Self>;
- }
- impl members::Trait for Test {
- type Event = ();
- type MemberId = u32;
- type PaidTermId = u32;
- type SubscriptionId = u32;
- type ActorId = u32;
- type InitialMembersBalance = InitialMembersBalance;
- }
- pub struct TestExternalitiesBuilder<T: Trait> {
- system_config: Option<system::GenesisConfig>,
- membership_config: Option<members::GenesisConfig<T>>,
- }
- impl<T: Trait> Default for TestExternalitiesBuilder<T> {
- fn default() -> Self {
- Self {
- system_config: None,
- membership_config: None,
- }
- }
- }
- impl<T: Trait> TestExternalitiesBuilder<T> {
- /*
- pub fn set_system_config(mut self, system_config: system::GenesisConfig) -> Self {
- self.system_config = Some(system_config);
- self
- }
- */
- pub fn set_membership_config(mut self, membership_config: members::GenesisConfig<T>) -> Self {
- self.membership_config = Some(membership_config);
- self
- }
- pub fn build(self) -> runtime_io::TestExternalities {
- // Add system
- let mut t = self
- .system_config
- .unwrap_or(system::GenesisConfig::default())
- .build_storage::<T>()
- .unwrap();
- // Add membership
- self.membership_config
- .unwrap_or(members::GenesisConfig::default())
- .assimilate_storage(&mut t)
- .unwrap();
- t.into()
- }
- }
- pub type Balances = balances::Module<Test>;
- pub type Members = members::Module<Test>;
|