Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void Where_Null_Value_Throws()
        {
            // arrange
            var apiProviderMock = new Mock <IApiProvider>(MockBehavior.Strict);
            var modelFactory    = new Mock <IModelFactory>(MockBehavior.Strict);
            var service         = BoardGameSearchService.Create(apiProviderMock.Object, modelFactory.Object);

            // act, assert
            var result = Assert.Throws <ArgumentNullException>(() => service.Where(x => x.Search, null));

            Assert.Equal("value", result.ParamName);
        }
Ejemplo n.º 3
0
        public void Where_Adds_Parameter()
        {
            // arrange
            var apiProviderMock = new Mock <IApiProvider>(MockBehavior.Strict);

            apiProviderMock
            .Setup(x => x.GetQueryPropertyName <BoardGameSearchQueryParameters>(It.IsAny <string>()))
            .Returns("search");
            var modelFactory = new Mock <IModelFactory>(MockBehavior.Strict);
            var service      = BoardGameSearchService.Create(apiProviderMock.Object, modelFactory.Object);

            // act
            var result = service.Where(x => x.Search, "value1");

            Assert.NotNull(result);
            Assert.Equal(service, result);
        }
Ejemplo n.º 4
0
        public async Task SearchAsync_Failure()
        {
            // arrange
            var apiProviderMock = new Mock <IApiProvider>(MockBehavior.Strict);

            apiProviderMock
            .Setup(x => x.BuildUri(ApiEndPoint.Search, It.IsAny <NameValueCollection>()))
            .Throws(new Exception("my error"));
            var modelFactory = new Mock <IModelFactory>(MockBehavior.Strict);
            var service      = BoardGameSearchService.Create(apiProviderMock.Object, modelFactory.Object);

            // act
            var result = await service.SearchAsync();

            // assert
            Assert.False(result.IsSuccess);
        }