private void HandleChangeAmount(JsonAccount jsonAccount) { BankAccount account = _bankAccountService.FindAccount(jsonAccount.Id); _bankAccountService.Change(account, jsonAccount.Amount); jsonAccount.Balance = account.Balance; }
public void ShouldBeAbleToWithDraw() { // Arrange var jsonAccount = new JsonAccount { Amount = -1000, Id = 1 }; // Act _sut.ProcessRequest(_httpContext.Object, jsonAccount); // Assert _repository.Verify(rep => rep.Save(_account)); Assert.That(_account.Balance, Is.EqualTo(0)); Assert.That(_account.Balance, Is.EqualTo(jsonAccount.Balance)); }
public void ShouldContainErrorMessage() { // Arrange var jsonAccount = new JsonAccount { Amount = -100000, Id = 1 }; // Act _sut.ProcessRequest(_httpContext.Object, jsonAccount); // Assert _repository.Verify(rep => rep.Save(_account), Times.Never()); Assert.That(jsonAccount.HasError, Is.True); Assert.That(jsonAccount.ErrorMessage, Is.EqualTo("The balance cannot be smaller than the amount to withdraw!")); }
public void ProcessRequest(HttpContextBase context, JsonAccount jsonAccount) { HttpResponseBase response = context.Response; response.ContentType = "application/json"; response.ContentEncoding = Encoding.UTF8; try { HandleChangeAmount(jsonAccount); } catch (Exception e) { jsonAccount.ErrorMessage = e.Message; } response.Write(_serializer.Serialize(jsonAccount)); }