Example #1
0
        public void GetInterestRateCommand_WithoutUrl_Invalid()
        {
            //Arrange
            _command = GetInterestRateCommand.GetInterestRateCommandFactory.Create(null);

            //Act
            var isValid = _command.IsValid();

            //Assert
            Assert.IsFalse(isValid);
        }
Example #2
0
        public void GetInterestRateCommand_WithoutUrl_Valid()
        {
            //Arrange
            _command = GetInterestRateCommand.GetInterestRateCommandFactory.Create("url");

            //Act
            var isValid = _command.IsValid();

            //Assert
            Assert.IsTrue(isValid);
        }
Example #3
0
        public async Task <Event <decimal> > Handler(GetInterestRateCommand command)
        {
            try
            {
                if (!command.IsValid())
                {
                    return(Event <decimal> .CreateError("Valores inválidos."));
                }

                var responseString = await _httpClient.GetStringAsync(command.Url);

                var result = JsonSerializer.Deserialize <decimal>(responseString);

                return(Event <decimal> .CreateSuccess(result));
            }
            catch (Exception ex)
            {
                return(Event <decimal> .CreateError($"Erro ao encontrar a taxa de juros: {ex.Message}"));
            };
        }