Skip to content

Commit

Permalink
Network-Membership: Add tests for MembershipRenewalAlreadyRequested (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
Harsh1s authored Mar 5, 2024
1 parent 9cf4648 commit 02fd228
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions pallets/network-membership/src/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -229,3 +229,52 @@ fn test_revoke_membership_non_authority() {
assert_eq!(NetworkMembership::members_count(), 1);
});
}

#[test]
fn test_renew_membership_again_should_fail() {
new_test_ext().execute_with(|| {
run_to_block(1);

assert!(NetworkMembership::is_member(&AccountId::new([11u8; 32])));

assert_ok!(NetworkMembership::nominate(
RawOrigin::Root.into(),
AccountId::new([13u8; 32]),
true
));

System::assert_has_event(RuntimeEvent::NetworkMembership(Event::MembershipAcquired {
member: AccountId::new([13u8; 32]),
}));

run_to_block(2);
// Membership renewal request is made for first time, should pass
assert_ok!(NetworkMembership::renew(RawOrigin::Root.into(), AccountId::new([13u8; 32]),));
// Membership renewal request is made again, renewal request already exists, should fail
assert_err!(
NetworkMembership::renew(RawOrigin::Root.into(), AccountId::new([13u8; 32]),),
Error::<Test>::MembershipRenewalAlreadyRequested
);

System::assert_has_event(RuntimeEvent::NetworkMembership(
Event::MembershipRenewalRequested { member: AccountId::new([13u8; 32]) },
));

run_to_block(6);
assert!(NetworkMembership::is_member(&AccountId::new([13u8; 32])));
System::assert_has_event(RuntimeEvent::NetworkMembership(Event::MembershipRenewed {
member: AccountId::new([13u8; 32]),
}));

run_to_block(10);
assert!(NetworkMembership::is_member(&AccountId::new([13u8; 32])));

// This ensures that the account was successfully added
assert_eq!(
NetworkMembership::members(AccountId::new([13u8; 32])),
Some(MemberData { expire_on: 6 + MembershipPeriod::get() })
);

assert_eq!(NetworkMembership::members_count(), 1);
});
}

0 comments on commit 02fd228

Please sign in to comment.