Selaa lähdekoodia

runtime: Fix tests.

Shamil Gadelshin 4 vuotta sitten
vanhempi
commit
36abcafba5

+ 1 - 0
Cargo.lock

@@ -3892,6 +3892,7 @@ dependencies = [
  "sp-io",
  "sp-runtime",
  "sp-std",
+ "staking-handler",
 ]
 
 [[package]]

+ 1 - 0
runtime-modules/membership/Cargo.toml

@@ -20,6 +20,7 @@ working-group = { package = 'pallet-working-group', default-features = false, pa
 [dev-dependencies]
 sp-io = { package = 'sp-io', default-features = false, git = 'https://github.com/paritytech/substrate.git', rev = 'a200cdb93c6af5763b9c7bf313fa708764ac88ca'}
 sp-core = { package = 'sp-core', default-features = false, git = 'https://github.com/paritytech/substrate.git', rev = 'a200cdb93c6af5763b9c7bf313fa708764ac88ca'}
+staking-handler = { package = 'staking-handler', default-features = false, path = '../staking-handler'}
 
 [features]
 default = ['std']

+ 1 - 5
runtime-modules/membership/src/lib.rs

@@ -20,11 +20,7 @@ pub type MembershipWorkingGroupInstance = working_group::Instance4;
 type BalanceOf<T> = <T as balances::Trait>::Balance;
 
 pub trait Trait:
-    frame_system::Trait
-    + balances::Trait
-    + pallet_timestamp::Trait
-    + common::Trait
-    + working_group::Trait<MembershipWorkingGroupInstance>
+    frame_system::Trait + balances::Trait + pallet_timestamp::Trait + common::Trait
 {
     type Event: From<Event<Self>> + Into<<Self as frame_system::Trait>::Event>;
 

+ 23 - 1
runtime-modules/membership/src/mock.rs

@@ -2,7 +2,7 @@
 
 pub use crate::{GenesisConfig, Trait};
 
-pub use frame_support::traits::Currency;
+pub use frame_support::traits::{Currency, LockIdentifier};
 use frame_support::{impl_outer_origin, parameter_types};
 pub use frame_system;
 use sp_core::H256;
@@ -84,6 +84,28 @@ impl common::Trait for Test {
     type ActorId = u32;
 }
 
+parameter_types! {
+    pub const MaxWorkerNumberLimit: u32 = 3;
+    pub const LockId: LockIdentifier = [9; 8];
+}
+
+impl working_group::Trait<crate::MembershipWorkingGroupInstance> for Test {
+    type Event = ();
+    type MaxWorkerNumberLimit = MaxWorkerNumberLimit;
+    type StakingHandler = staking_handler::StakingManager<Self, LockId>;
+    type MemberOriginValidator = ();
+    type MinUnstakingPeriodLimit = ();
+    type RewardPeriod = ();
+}
+
+impl common::origin::ActorOriginValidator<Origin, u64, u64> for () {
+    fn ensure_actor_origin(origin: Origin, _: u64) -> Result<u64, &'static str> {
+        let account_id = frame_system::ensure_signed(origin)?;
+
+        Ok(account_id)
+    }
+}
+
 impl Trait for Test {
     type Event = ();
     type MembershipFee = MembershipFee;

+ 0 - 1
runtime-modules/staking-handler/Cargo.toml

@@ -17,7 +17,6 @@ sp-io = { package = 'sp-io', default-features = false, git = 'https://github.com
 sp-core = { package = 'sp-core', default-features = false, git = 'https://github.com/paritytech/substrate.git', rev = 'a200cdb93c6af5763b9c7bf313fa708764ac88ca'}
 codec = { package = 'parity-scale-codec', version = '1.3.1', default-features = false, features = ['derive'] }
 sp-runtime = { package = 'sp-runtime', default-features = false, git = 'https://github.com/paritytech/substrate.git', rev = 'a200cdb93c6af5763b9c7bf313fa708764ac88ca'}
-common = { package = 'pallet-common', default-features = false, path = '../common'}
 pallet-timestamp = { package = 'pallet-timestamp', default-features = false, git = 'https://github.com/paritytech/substrate.git', rev = 'a200cdb93c6af5763b9c7bf313fa708764ac88ca'}
 membership = { package = 'pallet-membership', default-features = false, path = '../membership'}
 

+ 0 - 4
runtime-modules/staking-handler/src/mock.rs

@@ -77,10 +77,6 @@ impl membership::Trait for Test {
     type MembershipFee = MembershipFee;
 }
 
-impl common::currency::GovernanceCurrency for Test {
-    type Currency = Balances;
-}
-
 impl pallet_timestamp::Trait for Test {
     type Moment = u64;
     type OnTimestampSet = ();

+ 1 - 4
runtime-modules/staking-handler/src/test.rs

@@ -6,10 +6,7 @@ use frame_support::traits::Currency;
 pub(crate) fn increase_total_balance_issuance_using_account_id(account_id: u64, balance: u64) {
     let initial_balance = Balances::total_issuance();
     {
-        let _ = <Test as common::currency::GovernanceCurrency>::Currency::deposit_creating(
-            &account_id,
-            balance,
-        );
+        let _ = Balances::deposit_creating(&account_id, balance);
     }
     assert_eq!(Balances::total_issuance(), initial_balance + balance);
 }

+ 62 - 1
runtime/src/tests/proposals_integration/working_group_proposals.rs

@@ -13,7 +13,8 @@ use crate::primitives::{ActorId, MemberId};
 use crate::{
     Balance, BlockNumber, ContentDirectoryWorkingGroup, ContentDirectoryWorkingGroupInstance,
     ContentDirectoryWorkingGroupStakingManager, ForumWorkingGroup, ForumWorkingGroupInstance,
-    ForumWorkingGroupStakingManager, StorageWorkingGroup, StorageWorkingGroupInstance,
+    ForumWorkingGroupStakingManager, MembershipWorkingGroup, MembershipWorkingGroupInstance,
+    MembershipWorkingGroupStakingManager, StorageWorkingGroup, StorageWorkingGroupInstance,
     StorageWorkingGroupStakingManager,
 };
 
@@ -54,6 +55,14 @@ fn add_opening(
             >>::contains_key(opening_id));
             opening_id
         }
+        WorkingGroup::Membership => {
+            let opening_id = MembershipWorkingGroup::next_opening_id();
+            assert!(!<working_group::OpeningById<
+                Runtime,
+                MembershipWorkingGroupInstance,
+            >>::contains_key(opening_id));
+            opening_id
+        }
     };
 
     let codex_extrinsic_test_fixture = CodexProposalTestFixture::default_for_call(|| {
@@ -298,6 +307,12 @@ fn create_add_working_group_leader_opening_proposal_execution_succeeds() {
                     ForumWorkingGroupInstance,
                 >(group);
             }
+            WorkingGroup::Membership => {
+                run_create_add_working_group_leader_opening_proposal_execution_succeeds::<
+                    Runtime,
+                    MembershipWorkingGroupInstance,
+                >(group);
+            }
         }
     }
 }
@@ -354,6 +369,12 @@ fn create_fill_working_group_leader_opening_proposal_execution_succeeds() {
                     ForumWorkingGroupInstance,
                 >(group);
             }
+            WorkingGroup::Membership => {
+                run_create_fill_working_group_leader_opening_proposal_execution_succeeds::<
+                    Runtime,
+                    MembershipWorkingGroupInstance,
+                >(group);
+            }
         }
     }
 }
@@ -435,6 +456,13 @@ fn create_decrease_group_leader_stake_proposal_execution_succeeds() {
                     ForumWorkingGroupStakingManager,
                 >(group);
             }
+            WorkingGroup::Membership => {
+                run_create_decrease_group_leader_stake_proposal_execution_succeeds::<
+                    Runtime,
+                    MembershipWorkingGroupInstance,
+                    MembershipWorkingGroupStakingManager,
+                >(group);
+            }
         }
     }
 }
@@ -553,6 +581,13 @@ fn create_slash_group_leader_stake_proposal_execution_succeeds() {
                     ForumWorkingGroupStakingManager,
                 >(group)
             }
+            WorkingGroup::Membership => {
+                run_create_slash_group_leader_stake_proposal_execution_succeeds::<
+                    Runtime,
+                    MembershipWorkingGroupInstance,
+                    MembershipWorkingGroupStakingManager,
+                >(group)
+            }
         }
     }
 }
@@ -669,6 +704,12 @@ fn create_set_working_group_mint_capacity_proposal_execution_succeeds() {
                     ForumWorkingGroupInstance,
                 >(group);
             }
+            WorkingGroup::Membership => {
+                run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
+                    Runtime,
+                    MembershipWorkingGroupInstance,
+                >(group);
+            }
         }
     }
 }
@@ -721,6 +762,12 @@ fn create_set_group_leader_reward_proposal_execution_succeeds() {
                     ForumWorkingGroupInstance,
                 >(group);
             }
+            WorkingGroup::Membership => {
+                run_create_set_working_group_mint_capacity_proposal_execution_succeeds::<
+                    Runtime,
+                    MembershipWorkingGroupInstance,
+                >(group);
+            }
         }
     }
 }
@@ -822,6 +869,13 @@ fn create_terminate_group_leader_role_proposal_execution_succeeds() {
                     ForumWorkingGroupStakingManager,
                 >(group);
             }
+            WorkingGroup::Membership => {
+                run_create_terminate_group_leader_role_proposal_execution_succeeds::<
+                    Runtime,
+                    MembershipWorkingGroupInstance,
+                    MembershipWorkingGroupStakingManager,
+                >(group);
+            }
         }
     }
 }
@@ -941,6 +995,13 @@ fn create_terminate_group_leader_role_proposal_with_slashing_execution_succeeds(
                     ForumWorkingGroupStakingManager,
                 >(group);
             }
+            WorkingGroup::Membership => {
+                run_create_terminate_group_leader_role_proposal_with_slashing_execution_succeeds::<
+                    Runtime,
+                    MembershipWorkingGroupInstance,
+                    MembershipWorkingGroupStakingManager,
+                >(group);
+            }
         }
     }
 }