public async void GetResponse_LogIfExceptionIsThrown() { //Arrange var stockportApiRepository = new StockportApiRepository(_httpClient.Object, _applicationConfiguraiton.Object, _simpleUrlGenerator.Object, _logger.Object); var builtEvents = new List <Event>(); builtEvents.Add(new EventBuilder().Build()); var seralisedEvents = JsonConvert.SerializeObject(builtEvents); // Mock _simpleUrlGenerator.Setup(o => o.StockportApiUrl <List <Event> >()).Returns("url"); _httpClient.Setup(o => o.Get(It.IsAny <string>(), It.IsAny <Dictionary <string, string> >())).ThrowsAsync(new System.Exception()); // Act var apiResponse = await stockportApiRepository.GetResponse <List <Event> >(); LogTesting.Assert(_logger, LogLevel.Error, "Error getting response for url url"); apiResponse.Should().BeNull(); }
public async void GetResponseWithSlugAndQueries_ShouldReturnEvent() { // Arrange var stockportApiRepository = new StockportApiRepository(_httpClient.Object, _applicationConfiguraiton.Object, _simpleUrlGenerator.Object, _logger.Object); var builtEvents = new List <Event>(); builtEvents.Add(new EventBuilder().Build()); var seralisedEvents = JsonConvert.SerializeObject(builtEvents); // Mock _simpleUrlGenerator.Setup(o => o.StockportApiUrl <List <Event> >()).Returns("url"); _httpClient.Setup(o => o.Get(It.IsAny <string>(), It.IsAny <Dictionary <string, string> >())) .ReturnsAsync(new HttpResponse(200, seralisedEvents, string.Empty)); // Act var apiResponse = await stockportApiRepository.GetResponse <List <Event> >("slug", new List <Query>() { new Query("name", "value") }); // Assert apiResponse.Should().NotBeNull(); apiResponse.Should().BeEquivalentTo(builtEvents); }