public async void GetItems() { string wordPressQuery = "en.blog.wordpress.com"; WordPressQueryType queryType = WordPressQueryType.Posts; string queryFilterBy = string.Empty; int maxRecordsParam = 20; WordPressOrderBy orderBy = WordPressOrderBy.None; SortDirection sortDirection = SortDirection.Ascending; _wordPressDataProvider = new WordPressDataProvider(); this.Items = new ObservableCollection <object>(); var config = new WordPressDataConfig() { Query = wordPressQuery, QueryType = queryType, FilterBy = queryFilterBy, OrderBy = orderBy, SortDirection = sortDirection }; var items = await _wordPressDataProvider.LoadDataAsync(config, maxRecordsParam); foreach (var item in items) { Items.Add(item); } }
public async void GetItems() { string wordPressQuery = "en.blog.wordpress.com"; WordPressQueryType queryType = WordPressQueryType.Posts; string queryFilterBy = string.Empty; int maxRecordsParam = 20; WordPressOrderBy orderBy = WordPressOrderBy.None; SortDirection sortDirection = SortDirection.Ascending; _wordPressDataProvider = new WordPressDataProvider(); this.Items = new ObservableCollection<object>(); var config = new WordPressDataConfig() { Query = wordPressQuery, QueryType = queryType, FilterBy = queryFilterBy, OrderBy = orderBy, SortDirection = sortDirection }; var items = await _wordPressDataProvider.LoadDataAsync(config, maxRecordsParam); foreach (var item in items) { Items.Add(item); } }
private async void Request() { try { IsBusy = true; HasErrors = false; NoItems = false; DataProviderRawData = string.Empty; Items.Clear(); var wordPressDataProvider = new WordPressDataProvider(); var config = new WordPressDataConfig() { Query = WordPressQuery, QueryType = WordPressQueryTypeSelectedItem, FilterBy = WordPressQueryFilterBy }; var rawParser = new RawParser(); var rawData = await wordPressDataProvider.LoadDataAsync(config, MaxRecordsParam, rawParser); DataProviderRawData = rawData.FirstOrDefault()?.Raw; var items = await wordPressDataProvider.LoadDataAsync(config, MaxRecordsParam); NoItems = !items.Any(); foreach (var item in items) { Items.Add(item); } } catch (Exception ex) { DataProviderRawData += ex.Message; DataProviderRawData += ex.StackTrace; HasErrors = true; } finally { IsBusy = false; } }
public override async Task <IEnumerable <WordPressSchema> > GetDataAsync(SchemaBase connectedItem = null) { var config = new WordPressDataConfig { QueryType = WordPressQueryType.Posts, Query = @"jamianadwiyyacollageevents.wordpress.com", FilterBy = @"", }; return(await _dataProvider.LoadDataAsync(config, MaxRecords)); }
public async Task TestNullQueryConfig() { var config = new WordPressDataConfig { Query = null, QueryType = WordPressQueryType.Posts }; var dataProvider = new WordPressDataProvider(); ConfigParameterNullException exception = await ExceptionsAssert.ThrowsAsync<ConfigParameterNullException>(async () => await dataProvider.LoadDataAsync(config)); Assert.IsTrue(exception.Message.Contains("Query")); }
public async Task TestMaxRecordsWordPressPost() { int maxRecords = 25; var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Posts }; var dataProvider = new WordPressDataProvider(); IEnumerable <WordPressSchema> data = await dataProvider.LoadDataAsync(config, maxRecords); Assert.IsTrue(data.Count() > 20); }
public async Task LoadWordPressPost() { var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Posts }; var dataProvider = new WordPressDataProvider(); IEnumerable<WordPressSchema> data = await dataProvider.LoadDataAsync(config); Assert.IsNotNull(data); Assert.AreNotEqual(data.Count(), 0); }
public async Task LoadWordPressPost() { var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Posts }; var dataProvider = new WordPressDataProvider(); IEnumerable <WordPressSchema> data = await dataProvider.LoadDataAsync(config); Assert.IsNotNull(data); Assert.AreNotEqual(data.Count(), 0); }
public async Task TestMaxRecordsWordPressCategory_Min() { int maxRecords = 1; var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Category, FilterBy = "themes" }; var dataProvider = new WordPressDataProvider(); IEnumerable <WordPressSchema> data = await dataProvider.LoadDataAsync(config, maxRecords); Assert.AreEqual(maxRecords, data.Count()); }
public async Task LoadWordPressCategory_Sorting() { var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Category, FilterBy = "themes" }; var dataProviderNoSorting = new WordPressDataProvider(); IEnumerable <WordPressSchema> data = await dataProviderNoSorting.LoadDataAsync(config); IEnumerable <WordPressSchema> moreData = await dataProviderNoSorting.LoadMoreDataAsync(); config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Category, FilterBy = "themes", OrderBy = WordPressOrderBy.Id, OrderDirection = SortDirection.Ascending }; var dataProvider = new WordPressDataProvider(); IEnumerable <WordPressSchema> sortedData = await dataProvider.LoadDataAsync(config); IEnumerable <WordPressSchema> moreSortedData = await dataProvider.LoadMoreDataAsync(); config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Category, FilterBy = "themes", OrderBy = WordPressOrderBy.Id, OrderDirection = SortDirection.Descending }; var dataProviderDesc = new WordPressDataProvider(); IEnumerable <WordPressSchema> sortedDescData = await dataProviderDesc.LoadDataAsync(config); IEnumerable <WordPressSchema> moreSortedDescData = await dataProviderDesc.LoadMoreDataAsync(); Assert.AreNotEqual(data.FirstOrDefault().Title, sortedData.FirstOrDefault().Title, "LoadDataAsync: WordPress sorting (ascending) is not working"); Assert.AreNotEqual(moreData.FirstOrDefault().Title, moreSortedData.FirstOrDefault().Title, "LoadMoreDataAsync: WordPress sorting (ascending) is not working"); Assert.AreNotEqual(sortedData.FirstOrDefault().Title, sortedDescData.FirstOrDefault().Title, "LoadDataAsync: WordPress sorting (descending) is not working"); Assert.AreNotEqual(moreSortedData.FirstOrDefault().Title, moreSortedDescData.FirstOrDefault().Title, "LoadMoreDataAsync: WordPress sorting (descending) is not working"); }
public async Task LoadPaginationWordPressPost() { var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Posts }; var dataProvider = new WordPressDataProvider(); await dataProvider.LoadDataAsync(config, 5); Assert.IsTrue(dataProvider.HasMoreItems); IEnumerable <WordPressSchema> data = await dataProvider.LoadMoreDataAsync(); Assert.IsNotNull(data); Assert.IsTrue(data.Any()); }
public async void GetItems() { string wordPressQuery = "en.blog.wordpress.com"; WordPressQueryType queryType = WordPressQueryType.Posts; string queryFilterBy = string.Empty; int maxRecordsParam = 20; Items.Clear(); var wordPressDataProvider = new WordPressDataProvider(); var config = new WordPressDataConfig() { Query = wordPressQuery, QueryType = queryType, FilterBy = queryFilterBy }; var items = await wordPressDataProvider.LoadDataAsync(config, maxRecordsParam); foreach (var item in items) { Items.Add(item); } }
public async Task LoadWordPressTag_Sorting() { var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Tag, FilterBy = "wordpress" }; var dataProviderNoSorting = new WordPressDataProvider(); IEnumerable<WordPressSchema> data = await dataProviderNoSorting.LoadDataAsync(config); IEnumerable<WordPressSchema> moreData = await dataProviderNoSorting.LoadMoreDataAsync(); config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Tag, FilterBy = "wordpress", OrderBy = WordPressOrderBy.Id, OrderDirection = SortDirection.Ascending }; var dataProvider = new WordPressDataProvider(); IEnumerable<WordPressSchema> sortedData = await dataProvider.LoadDataAsync(config); IEnumerable<WordPressSchema> moreSortedData = await dataProvider.LoadMoreDataAsync(); config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Tag, FilterBy = "wordpress", OrderBy = WordPressOrderBy.Id, OrderDirection = SortDirection.Descending }; var dataProviderDesc = new WordPressDataProvider(); IEnumerable<WordPressSchema> sortedDescData = await dataProviderDesc.LoadDataAsync(config); IEnumerable<WordPressSchema> moreSortedDescData = await dataProviderDesc.LoadMoreDataAsync(); Assert.AreNotEqual(data.FirstOrDefault().Title, sortedData.FirstOrDefault().Title, "LoadDataAsync: WordPress sorting (ascending) is not working"); Assert.AreNotEqual(moreData.FirstOrDefault().Title, moreSortedData.FirstOrDefault().Title, "LoadMoreDataAsync: WordPress sorting (ascending) is not working"); Assert.AreNotEqual(sortedData.FirstOrDefault().Title, sortedDescData.FirstOrDefault().Title, "LoadDataAsync: WordPress sorting (descending) is not working"); Assert.AreNotEqual(moreSortedData.FirstOrDefault().Title, moreSortedDescData.FirstOrDefault().Title, "LoadMoreDataAsync: WordPress sorting (descending) is not working"); }
public async Task TestNullParser() { var dataProvider = new WordPressDataProvider(); await ExceptionsAssert.ThrowsAsync <ParserNullException>(async() => await dataProvider.LoadDataAsync <WordPressSchema>(new WordPressDataConfig(), 20, null)); }
public async Task TestNullConfig() { var dataProvider = new WordPressDataProvider(); await ExceptionsAssert.ThrowsAsync <ConfigNullException>(async() => await dataProvider.LoadDataAsync(null)); }
public async Task TestNullQueryConfig() { var config = new WordPressDataConfig { Query = null, QueryType = WordPressQueryType.Posts }; var dataProvider = new WordPressDataProvider(); ConfigParameterNullException exception = await ExceptionsAssert.ThrowsAsync <ConfigParameterNullException>(async() => await dataProvider.LoadDataAsync(config)); Assert.IsTrue(exception.Message.Contains("Query")); }
public async Task TestNullParser() { var dataProvider = new WordPressDataProvider(); await ExceptionsAssert.ThrowsAsync<ParserNullException>(async () => await dataProvider.LoadDataAsync<WordPressSchema>(new WordPressDataConfig(), 20, null)); }
public async Task TestNullConfig() { var dataProvider = new WordPressDataProvider(); await ExceptionsAssert.ThrowsAsync<ConfigNullException>(async () => await dataProvider.LoadDataAsync(null)); }
public async Task LoadPaginationWordPressTag() { var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Category, FilterBy = "themes" }; var dataProvider = new WordPressDataProvider(); await dataProvider.LoadDataAsync(config, 5); Assert.IsTrue(dataProvider.HasMoreItems); IEnumerable<WordPressSchema> data = await dataProvider.LoadMoreDataAsync(); Assert.IsNotNull(data); Assert.IsTrue(data.Any()); }
public async Task TestMaxRecordsWordPressCategory() { int maxRecords = 25; var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Category, FilterBy = "themes" }; var dataProvider = new WordPressDataProvider(); IEnumerable<WordPressSchema> data = await dataProvider.LoadDataAsync(config, maxRecords); Assert.IsTrue(data.Count() > 20); }
public async Task TestMaxRecordsWordPressTag_Min() { int maxRecords = 1; var config = new WordPressDataConfig { Query = "en.blog.wordpress.com", QueryType = WordPressQueryType.Tag, FilterBy = "apps" }; var dataProvider = new WordPressDataProvider(); IEnumerable<WordPressSchema> data = await dataProvider.LoadDataAsync(config, maxRecords); Assert.AreEqual(maxRecords, data.Count()); }