use super::*;
use crate as pezpallet_statement;
use pezframe_support::{
derive_impl, ord_parameter_types,
traits::{ConstU32, ConstU64},
};
use pezsp_core::Pair;
use pezsp_runtime::{traits::IdentityLookup, AccountId32, BuildStorage};
type Block = pezframe_system::mocking::MockBlock<Test>;
pub const MIN_ALLOWED_STATEMENTS: u32 = 4;
pub const MAX_ALLOWED_STATEMENTS: u32 = 10;
pub const MIN_ALLOWED_BYTES: u32 = 1024;
pub const MAX_ALLOWED_BYTES: u32 = 4096;
pezframe_support::construct_runtime!(
pub enum Test
{
System: pezframe_system,
Balances: pezpallet_balances,
Statement: pezpallet_statement,
}
);
#[derive_impl(pezframe_system::config_preludes::TestDefaultConfig)]
impl pezframe_system::Config for Test {
type AccountId = AccountId32;
type Lookup = IdentityLookup<Self::AccountId>;
type Block = Block;
type AccountData = pezpallet_balances::AccountData<u64>;
}
#[derive_impl(pezpallet_balances::config_preludes::TestDefaultConfig)]
impl pezpallet_balances::Config for Test {
type ExistentialDeposit = ConstU64<5>;
type AccountStore = System;
}
ord_parameter_types! {
pub const One: u64 = 1;
}
impl Config for Test {
type RuntimeEvent = RuntimeEvent;
type Currency = Balances;
type StatementCost = ConstU64<1000>;
type ByteCost = ConstU64<2>;
type MinAllowedStatements = ConstU32<MIN_ALLOWED_STATEMENTS>;
type MaxAllowedStatements = ConstU32<MAX_ALLOWED_STATEMENTS>;
type MinAllowedBytes = ConstU32<MIN_ALLOWED_BYTES>;
type MaxAllowedBytes = ConstU32<MAX_ALLOWED_BYTES>;
}
pub fn new_test_ext() -> pezsp_io::TestExternalities {
let mut t = pezframe_system::GenesisConfig::<Test>::default().build_storage().unwrap();
let balances = pezpallet_balances::GenesisConfig::<Test> {
balances: vec![
(
pezsp_core::sr25519::Pair::from_string("//Alice", None).unwrap().public().into(),
6000,
),
(
pezsp_core::sr25519::Pair::from_string("//Charlie", None)
.unwrap()
.public()
.into(),
500000,
),
],
..Default::default()
};
balances.assimilate_storage(&mut t).unwrap();
t.into()
}