public OperationResult <T> GetListItems <T>(DataSourceInfo dataSourceInfo, IListItemParser <T> listItemParser) { if (dataSourceInfo == null) { throw new ArgumentNullException(nameof(dataSourceInfo)); } if (listItemParser == null) { throw new ArgumentNullException(nameof(listItemParser)); } var operationResult = this._sharePointConnector.GetListItems(dataSourceInfo); if (!operationResult.Success) { return(new OperationResult <T> { Success = false, ErrorMessage = operationResult.ErrorMessage }); } var parsedListItems = operationResult.Result.Select(listItemParser.Parse); return(new OperationResult <T> { Success = true, Result = parsedListItems }); }
public GraphListItemProvider(string siteId, GraphServiceClient serviceClient, IListItemParser <T, ListItem> parser = null) { ServiceClient = serviceClient; SiteId = siteId; if (parser == null) { parser = new GraphListItemParser <T>("0x01"); } ItemParser = parser; }
public void GetListItems_if_sharePointConnector_returns_error_should_return_errror() { const string expectedErrorMessage = "XYZ 123"; DataSourceInfo dataSourceInfo = new DataSourceInfo(); var fakeSharePointConnector = MockRepository.GenerateStub <ISharePointConnector>(); fakeSharePointConnector.Stub(x => x.GetListItems(dataSourceInfo)).Return( new OperationResult <ListItemDataWrapper> { Success = false, ErrorMessage = expectedErrorMessage }); IListItemParser <object> fakeListItemParser = MockRepository.GenerateStub <IListItemParser <object> >(); var listItemRetriever = this.GetListItemRetriever(fakeSharePointConnector); var result = listItemRetriever.GetListItems(dataSourceInfo, fakeListItemParser); Assert.That(result.Success, Is.False); Assert.That(result.ErrorMessage, Is.EqualTo(expectedErrorMessage)); }
public void GetListItems_if_sharePointConnector_returns_results_should_return_parsed_results() { DataSourceInfo dataSourceInfo = new DataSourceInfo(); ListItemDataWrapper fakeItem1 = new ListItemDataWrapper(null); ListItemDataWrapper fakeItem2 = new ListItemDataWrapper(null); var fakeRawItems = new List <ListItemDataWrapper> { fakeItem1, fakeItem2 }; var fakeSharePointConnector = MockRepository.GenerateStub <ISharePointConnector>(); fakeSharePointConnector.Stub(x => x.GetListItems(dataSourceInfo)).Return( new OperationResult <ListItemDataWrapper> { Success = true, Result = fakeRawItems }); IListItemParser <object> fakeListItemParser = MockRepository.GenerateStub <IListItemParser <object> >(); object fakeListItem1 = new object(); object fakeListItem2 = new object(); fakeListItemParser.Stub(x => x.Parse(fakeItem1)).Return(fakeListItem1); fakeListItemParser.Stub(x => x.Parse(fakeItem2)).Return(fakeListItem2); var listItemRetriever = this.GetListItemRetriever(fakeSharePointConnector); var result = listItemRetriever.GetListItems(dataSourceInfo, fakeListItemParser); Assert.That(result.Success, Is.True); var resultList = result.Result.ToList(); Assert.That(resultList.Count, Is.EqualTo(2)); Assert.That(resultList[0], Is.EqualTo(fakeListItem1)); Assert.That(resultList[1], Is.EqualTo(fakeListItem2)); }