public async Task ThrowsCambioTodayAPIExceptionOnNonSuccesfulStatusCode() { string currency = "dolar"; string expectedErrorMessage = CambioTodayService.CAMBIOTODAYAPI_ERROR_MESSAGE; var response = new HttpResponseMessage() { StatusCode = HttpStatusCode.BadRequest, }; _clientWrapperMock .Setup(x => x.SendAsync(It.IsAny <HttpClient>(), It.IsAny <HttpRequestMessage>())) .ReturnsAsync(response); Exception ex = await Assert.ThrowsAsync <CambioTodayAPIException>(() => _cambioTodayService.GetQuotation(currency)); Assert.Equal(expectedErrorMessage, ex.Message); }
public async Task<IActionResult> Get(string currency) { try { var response = await _cambioTodayService.GetQuotation(currency); return Ok(response); } catch (ArgumentException ex) { var error = new HttpErrorModel() { Message = ex.Message, }; return BadRequest(error); } catch (CambioTodayAPIException ex) { var error = new HttpErrorModel() { Message = ex.Message, }; return StatusCode(StatusCodes.Status502BadGateway, error); } }