public void Cannot_execute_WithdrawalService_without_permissions() { // Arrange LogWithNewAdmin(Modules.OfflineDepositRequests, Permissions.View); // Act Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.GetWithdrawalsForVerification()); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.GetWithdrawalsForAcceptance()); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.GetWithdrawalsForApproval()); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.GetWithdrawalsCanceled()); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.GetWithdrawalsFailedAutoWagerCheck()); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.GetWithdrawalsOnHold()); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.Request(new OfflineWithdrawRequest())); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.Verify(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.Unverify(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.Approve(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.Reject(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.PassWager(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.FailWager(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.PassInvestigation(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.FailInvestigation(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.Accept(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.Revert(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.Cancel(new Guid(), "Some remark")); Assert.Throws <InsufficientPermissionsException>(() => _withdrawalService.SaveExemption(new Exemption())); }
public async Task Can_approve_withdrawal_request() { var player = _player; _walletRepository.SaveChanges(); _paymentTestHelper.MakeDeposit(player.Id, 1000); await _gamesTestHelper.PlaceAndWinBet(1000, 10000, player.Id); Balance.Main = 10000; var response = _paymentTestHelper.MakeWithdraw(player.Id, _actorInfoProvider.Actor.UserName); //assert balance after request _paymentTestHelper.AssertBalance(_player.Id , total: 10000, playable: 9999, main: 9999, free: 9999, withdrawalLock: 1); //have to accept withdraw,before approve _withdrawalService.Accept(response.Id, TestDataGenerator.GetRandomString(10)); var approveRemarks = TestDataGenerator.GetRandomString(10); _withdrawalService.Approve(response.Id, approveRemarks); //assert balance after Approve _paymentTestHelper.AssertBalance(_player.Id , total: 9999, playable: 9999, main: 9999, free: 9999, withdrawalLock: 0); var withdraw = _paymentRepository.OfflineWithdraws.FirstOrDefault(x => x.Id == response.Id); withdraw.Status.Should().Be(WithdrawalStatus.Approved); withdraw.Approved.Should().BeCloseTo(DateTimeOffset.Now, 60000); withdraw.ApprovedBy.Should().Be(_actorInfoProvider.Actor.UserName); withdraw.Remarks.Should().Be(approveRemarks); }
public ActionResult Approve(Guid requestId, string remarks) { try { _service.Approve(requestId, remarks); return(this.Success("app:payment.withdraw.successfullyReleased")); } catch (InsufficientFundsException) { return(this.Failed("app:payment.insufficentFund")); } catch (Exception exception) { return(this.Failed(exception)); } }