public async Task Returns_Failure_Response_When_Response_Is_Unsuccessful() { var httpHandlerMock = new Mock <HttpMessageHandler>(); httpHandlerMock.Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ).ReturnsAsync(new HttpResponseMessage() { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent("1", Encoding.UTF8, "application/json") }); _sut = new AcquiringBankHttpClient(new HttpClient(httpHandlerMock.Object), _mockLogger.Object); var response = await _sut.Post <int>("http://test.com", null); Assert.Equal(default, response.Data);
public async Task Returns_Successful_Response_When_Http_Response_Is_Successful() { var httpHandlerMock = new Mock <HttpMessageHandler>(); httpHandlerMock.Protected() .Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>() ).ReturnsAsync(new HttpResponseMessage() { StatusCode = HttpStatusCode.Accepted, Content = new StringContent("1", Encoding.UTF8, "application/json") }); _sut = new AcquiringBankHttpClient(new HttpClient(httpHandlerMock.Object), _mockLogger.Object); var response = await _sut.Post <int>("http://test.com", null); Assert.Equal(1, response.Data); Assert.Equal("Successfully sent payment to acquiring bank", response.Message); Assert.False(response.Error); }