Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }