public async Task DeleteBankAccount_UserTryingToDeleteBankAccountThatBelongsToOtherUser_ShouldFail_ReturnsNotFoundHttpErrorCode()
        {
            var user1 = await _userRepository.GetAsync("*****@*****.**");

            var user2 = await _userRepository.GetAsync("*****@*****.**");

            var user2bank = user2.BankAccounts.FirstOrDefault(x => x.AccountName == "BankAccount 1");

            string token = await GetToken(user1);

            var request = new DeleteBankAccount
            {
                BankAccountId = user2bank.BanAccountId
            };
            var payload = GetPayload(request);

            var message = new HttpRequestMessage
            {
                Content    = payload,
                Method     = HttpMethod.Delete,
                RequestUri = new Uri($"{_client.BaseAddress.ToString()}/BankAccounts")
            };

            //Act
            _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
            var response = await _client.SendAsync(message);


            //Assert
            var bankacc = user2.BankAccounts.FirstOrDefault(x => x.BanAccountId == request.BankAccountId);

            response.StatusCode.Should().Be(HttpStatusCode.NotFound);
            bankacc.Should().NotBeNull();
        }
        public async Task DeleteBankAccount_NotLoggedInUserTryingToRemoveBankAccount_ShouldFail_ReturnsUnautorizedHttpErrorCode()
        {
            var user1 = await _userRepository.GetAsync("*****@*****.**");

            var bank = user1.BankAccounts.FirstOrDefault(x => x.AccountName == "BankAccount 1");

            var request = new DeleteBankAccount
            {
                BankAccountId = bank.BanAccountId
            };

            var payload = GetPayload(request);

            var response = await _client.PostAsync("BankAccounts", payload);

            response.StatusCode.Should().Be(HttpStatusCode.Unauthorized);
        }
Ejemplo n.º 3
0
 public Account(Client client)
     : base(client)
 {
     _closeAccount             = new CloseAccount(this);
     _closeAccountHolder       = new CloseAccountHolder(this);
     _createAccount            = new CreateAccount(this);
     _createAccountHolder      = new CreateAccountHolder(this);
     _checkAccountHolder       = new CheckAccountHolder(this);
     _deletePayoutMethods      = new DeletePayoutMethods(this);
     _deleteBankAccount        = new DeleteBankAccount(this);
     _deleteShareholder        = new DeleteShareholder(this);
     _getAccountHolder         = new GetAccountHolder(this);
     _getUploadedDocuments     = new GetUploadedDocuments(this);
     _suspendAccountHolder     = new SuspendAccountHolder(this);
     _unSuspendAccountHolder   = new UnSuspendAccountHolder(this);
     _updateAccount            = new UpdateAccount(this);
     _updateAccountHolder      = new UpdateAccountHolder(this);
     _updateAccountHolderState = new UpdateAccountHolderState(this);
     _uploadDocument           = new UploadDocument(this);
 }
        public async Task <IActionResult> Delete([FromBody] DeleteBankAccount command)
        {
            await DispatchAsync(command);

            return(Ok());
        }