public async Task FindAsync_Returns_results() { // arrange var boardGamesList = new BoardGameListDto() { BoardGames = DataProvider.GetBoardGameResults() }; var apiProviderMock = new Mock <IApiProvider>(MockBehavior.Strict); apiProviderMock .Setup(x => x.BuildUri(ApiEndPoint.BoardGame, "100", It.IsAny <NameValueCollection>())) .Returns(new Uri("http://fake/url")); apiProviderMock .Setup(x => x.CallWebServiceGetAsync <BoardGameListDto>(It.IsAny <Uri>())) .ReturnsAsync(boardGamesList); apiProviderMock .Setup(x => x.GetQueryPropertyName <BoardGameQueryParameters>("Comments")) .Returns("comments"); var modelFactory = new ModelFactory(); var service = BoardGameService.Create(apiProviderMock.Object, modelFactory); service.Where(x => x.Comments, true); // act var result = await service.FindAsync(new[] { "100" }); // assert Assert.True(result.IsSuccess); Assert.Equal(boardGamesList.BoardGames.Count, result.Value.Count); }
public async Task SearchAsync_Returns_results() { // arrange var boardGamesList = new BoardGameListDto() { BoardGames = DataProvider.GetBoardGameSearchResults() }; var apiProviderMock = new Mock <IApiProvider>(MockBehavior.Strict); apiProviderMock .Setup(x => x.BuildUri(ApiEndPoint.Search, It.IsAny <NameValueCollection>())) .Returns(new Uri("http://fake/url")); apiProviderMock .Setup(x => x.CallWebServiceGetAsync <BoardGameListDto>(It.IsAny <Uri>())) .ReturnsAsync(boardGamesList); var modelFactory = new ModelFactory(); var service = BoardGameSearchService.Create(apiProviderMock.Object, modelFactory); // act var result = await service.SearchAsync(); // assert Assert.True(result.IsSuccess); Assert.Equal(boardGamesList.BoardGames.Count, result.Value.Count); }