lib.rs 33.5 KiB
Newer Older
Gav Wood's avatar
Gav Wood committed
		with_externalities(&mut new_test_ext(1, 3, 1, false), || {
			<FreeBalance<Test>>::insert(1, 111);
			assert_ok!(Staking::reserve_balance(&1, 111));
			assert_ok!(Staking::slash_reserved(&1, 42));
Gav Wood's avatar
Gav Wood committed
			assert_eq!(Staking::reserved_balance(&1), 69);
			assert_eq!(Staking::free_balance(&1), 0);
		});
	}

	#[test]
	fn slashing_incomplete_reserved_balance_should_work() {
		with_externalities(&mut new_test_ext(1, 3, 1, false), || {
			<FreeBalance<Test>>::insert(1, 111);
			assert_ok!(Staking::reserve_balance(&1, 42));
			assert_err!(Staking::slash_reserved(&1, 69), "not enough (reserved) funds");
Gav Wood's avatar
Gav Wood committed
			assert_eq!(Staking::free_balance(&1), 69);
			assert_eq!(Staking::reserved_balance(&1), 0);
		});
	}

	#[test]
	fn transferring_reserved_balance_should_work() {
		with_externalities(&mut new_test_ext(1, 3, 1, false), || {
			<FreeBalance<Test>>::insert(1, 111);
			assert_ok!(Staking::reserve_balance(&1, 111));
			assert_ok!(Staking::transfer_reserved_balance(&1, &2, 42));
Gav Wood's avatar
Gav Wood committed
			assert_eq!(Staking::reserved_balance(&1), 69);
			assert_eq!(Staking::free_balance(&1), 0);
			assert_eq!(Staking::reserved_balance(&2), 0);
			assert_eq!(Staking::free_balance(&2), 42);
		});
	}

	#[test]
	fn transferring_incomplete_reserved_balance_should_work() {
		with_externalities(&mut new_test_ext(1, 3, 1, false), || {
			<FreeBalance<Test>>::insert(1, 111);
			assert_ok!(Staking::reserve_balance(&1, 42));
			assert_err!(Staking::transfer_reserved_balance(&1, &2, 69), "not enough (reserved) funds");
Gav Wood's avatar
Gav Wood committed
			assert_eq!(Staking::reserved_balance(&1), 0);
			assert_eq!(Staking::free_balance(&1), 69);
			assert_eq!(Staking::reserved_balance(&2), 0);
			assert_eq!(Staking::free_balance(&2), 42);
		});
	}
}