use crate::{self as pallet_dap, Config};
use frame_support::{
derive_impl, parameter_types, sp_runtime::traits::AccountIdConversion, PalletId,
};
use sp_runtime::BuildStorage;
type Block = frame_system::mocking::MockBlock<Test>;
frame_support::construct_runtime!(
pub enum Test {
System: frame_system,
Balances: pallet_balances,
Dap: pallet_dap,
}
);
#[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
impl frame_system::Config for Test {
type Block = Block;
type AccountData = pallet_balances::AccountData<u64>;
}
#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)]
impl pallet_balances::Config for Test {
type AccountStore = System;
type ExistentialDeposit = ExistentialDeposit;
}
parameter_types! {
pub const DapPalletId: PalletId = PalletId(*b"dap/buff");
pub const ExistentialDeposit: u64 = 10;
}
impl Config for Test {
type Currency = Balances;
type PalletId = DapPalletId;
}
pub fn new_test_ext(fund_buffer: bool) -> sp_io::TestExternalities {
let mut balances = vec![(1, 100), (2, 200), (3, 300)];
if fund_buffer {
let buffer: u64 = DapPalletId::get().into_account_truncating();
balances.push((buffer, ExistentialDeposit::get()));
}
let mut t = frame_system::GenesisConfig::<Test>::default().build_storage().unwrap();
pallet_balances::GenesisConfig::<Test> { balances, ..Default::default() }
.assimilate_storage(&mut t)
.unwrap();
t.into()
}