public void ErrorWhenConversionThrowsAnExpection() { var currencyToBeConverted = new CurrencyValueToConvert(100m); Mock.Arrange(() => _conversionHandler.ConvertFromCurrencyToWords(currencyToBeConverted.CurrencyValue)). Throws <DivideByZeroException>(); var response = _manager.ConvertToWords(currencyToBeConverted); Assert.IsNotNull(response); Assert.IsNull(response.Result); Assert.IsNotNull(response.DomainError); }
public void ConversionWithSuccess() { var currencyToBeConverted = new CurrencyValueToConvert(100m); var currencyConverted = "one hundred dollars"; Mock.Arrange(() => _conversionHandler.ConvertFromCurrencyToWords(currencyToBeConverted.CurrencyValue)). Returns(currencyConverted); var response = _manager.ConvertToWords(currencyToBeConverted); Assert.IsNotNull(response); Assert.IsNotNull(response.Result); Assert.IsNull(response.DomainError); Assert.AreEqual(response.Result.Value, currencyToBeConverted.CurrencyValue); Assert.AreEqual(response.Result.WordsValue, currencyConverted); }
public void WhenRequestingAConversion_AndAnExceptionHappen_ShouldReturnInternalServerError() { var currencyToBeConverted = new CurrencyValueToConvert(100m); Mock.Arrange(() => _manager.ConvertToWords(currencyToBeConverted)). Throws <Exception>(); var response = _controller.ConvertFromCurrencyToWords(currencyToBeConverted); var result = response as StatusCodeResult; Assert.IsNotNull(response); Assert.IsNotNull(result); Assert.IsInstanceOfType(response, typeof(StatusCodeResult)); Assert.AreEqual(result.StatusCode, (int)HttpStatusCode.InternalServerError); }
public IActionResult ConvertFromCurrencyToWords([FromBody][Required] CurrencyValueToConvert currencyValue) { try { var response = _conversionToWordsManager.ConvertToWords(currencyValue); if (response.DomainError != null) { return(new BadRequestObjectResult(response.DomainError)); } return(new OkObjectResult(response.Result)); } catch { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public void WhenRequestingAValidCurrency_AndNoErrorsHappen_ShouldReturnOk() { var currencyToBeConverted = new CurrencyValueToConvert(100m); var currencyConvertedModel = new DomainResponse <ConvertedValueModel>( new ConvertedValueModel(currencyToBeConverted.CurrencyValue, "one hundred dollars"), null); Mock.Arrange(() => _manager.ConvertToWords(currencyToBeConverted)). Returns(currencyConvertedModel); var response = _controller.ConvertFromCurrencyToWords(currencyToBeConverted); var result = response as OkObjectResult; Assert.IsNotNull(response); Assert.IsNotNull(result); Assert.IsInstanceOfType(response, typeof(OkObjectResult)); Assert.IsInstanceOfType(result, typeof(OkObjectResult)); Assert.IsNotNull(result.Value); Assert.AreEqual(result.StatusCode, (int)HttpStatusCode.OK); }