public async Task Fetch_Result_ShouldNotBeNull()
        {
            // arrange
            var dataQuery     = Mock.Of <DataQuery>();
            var searchService = Mock.Of <IListEntrySearchService>();
            var dataSource    = new BaseDataSource(searchService, dataQuery);

            // act
            await dataSource.FetchAsync();

            // assert
            dataSource.Items.Should().NotBeNull();
        }
        public async Task Fetch_SearchService_InvokeSearch()
        {
            // arrange
            var listEntrySearchResult = Mock.Of <ListEntrySearchResult>();
            var dataQuery             = Mock.Of <DataQuery>(t => t.SearchCriteria == Mock.Of <CatalogListEntrySearchCriteria>());
            var searchService         = new Mock <IListEntrySearchService>();

            searchService.Setup(t => t.SearchAsync(It.IsAny <CatalogListEntrySearchCriteria>())).ReturnsAsync(listEntrySearchResult);
            var dataSource = new BaseDataSource(searchService.Object, dataQuery);

            // act
            await dataSource.FetchAsync();

            // assert
            searchService.Verify(t => t.SearchAsync(It.IsAny <CatalogListEntrySearchCriteria>()));
        }
        public async Task Fetch_Return_ShouldBeTrue()
        {
            // arrange
            var entries = new List <ListEntryBase> {
                new ListEntryBase()
            };
            var dataQuery     = Mock.Of <DataQuery>(t => t.ListEntries == entries.ToArray());
            var searchService = Mock.Of <IListEntrySearchService>();
            var dataSource    = new BaseDataSource(searchService, dataQuery);

            // act
            var result = await dataSource.FetchAsync();

            // assert
            result.Should().Be(true);
        }
        public async Task Fetch_Should_HaveCount(int count)
        {
            // arrange
            var entries = new List <ListEntryBase> {
                new ListEntryBase()
            };
            var dataQuery     = Mock.Of <DataQuery>(t => t.ListEntries == entries.ToArray());
            var searchService = Mock.Of <IListEntrySearchService>();
            var dataSource    = new BaseDataSource(searchService, dataQuery);

            // act
            await dataSource.FetchAsync();

            // assert
            dataSource.Items.Should().HaveCount(count);
        }