public async Task ShouldNotBeAbleToWithdrawMoreThanBalance()
        {
            var walletAddress = "1234";
            var userId        = 1111;

            double withdrawAmount = 6;

            var walletUser  = new WalletUser(walletAddress, userId);
            var userBalance = new UserBalance {
                Balance = 5
            };

            var chat = new Chat {
                Id = 123456789
            };

            _walletUserRepositoryMock.Setup(x => x.GetByUserId(userId)).Returns(walletUser);
            _userBalanceRepositoryMock.Setup(x => x.Get(userId)).ReturnsAsync(userBalance);

            await _sut.Handle(chat, userId, withdrawAmount);

            _botServiceMock.Verify(x => x.SendTextMessage(chat.Id,
                                                          string.Format(ReplyConstants.InsufficientBalance, userBalance.Balance.RoundMetahashHash(), withdrawAmount.RoundMetahashHash())
                                                          , It.IsAny <IReplyMarkup>()));
            _botServiceMock.VerifyNoOtherCalls();
            _withdrawalRepositoryMock.VerifyNoOtherCalls();
            _mhcHttpClientMock.VerifyNoOtherCalls();
        }