예제 #1
0
            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);
            }
예제 #2
0
 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);
     }
 }