public void GetInterestRateCommand_WithoutUrl_Invalid() { //Arrange _command = GetInterestRateCommand.GetInterestRateCommandFactory.Create(null); //Act var isValid = _command.IsValid(); //Assert Assert.IsFalse(isValid); }
public void GetInterestRateCommand_WithoutUrl_Valid() { //Arrange _command = GetInterestRateCommand.GetInterestRateCommandFactory.Create("url"); //Act var isValid = _command.IsValid(); //Assert Assert.IsTrue(isValid); }
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}")); }; }