private foundItemCM buildFoundItemCM(Item item) { ReadModelMapper <Item, foundItemCM> mapper = new ReadModelMapper <Item, foundItemCM>(); foundItemCM cm = mapper.mapDataModelToViewModel(item); return(cm); }
public IPagedList <foundItemCM> searchItemsToPagedList(string searchString, string getItemsBy, int?page) { int pageNumber = (page ?? 1); int pageSize = 20; IQueryable <Item> query = Search(searchString, getItemsBy); //Paginate the query, then get the set of items specified by the paginated query. //Increases efficiency, as I now only get the items I need for the page. IPagedList <Item> pagedQuery = query.ToPagedList(pageNumber, pageSize); List <foundItemCM> CMList = new List <foundItemCM>(); foreach (Item item in pagedQuery) { foundItemCM cm = buildFoundItemCM(item); CMList.Add(cm); } IPagedList <foundItemCM> result = new PagedList <foundItemCM>(CMList, pageNumber, pageSize); return(result); }
public void ItemsSearchFacade_GetByNameContainingKNUCKLES_ReturnPagedList() { //Arrange List <Item> items = CreateTestData.GetListOfItems(); var mockSet = new Mock <DbSet <Item> >() .SetupData(items, o => { return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0)); }); List <foundItemCM> expectedList = new List <foundItemCM>(); foundItemCM Knuckles = new foundItemCM { Item_id = Guid.Parse("026a7dff-5e85-4e6d-94c6-6613828e5df6"), Name = "Titanstone Knuckles" }; expectedList.Add(Knuckles); IPagedList <foundItemCM> expected = expectedList.ToPagedList(1, 20); using (var mockContext = AutoMock.GetLoose()) { mockContext.Mock <ItemsContext>() .Setup(x => x.Items).Returns(mockSet.Object); mockContext.Mock <ItemsContext>() .Setup(x => x.Set <Item>()).Returns(mockSet.Object); ItemsContext context = mockContext.Create <ItemsContext>(); //Act ItemSearchFacade toTest = new ItemSearchFacade(context); var actual = toTest.searchItemsToPagedList("KNUCKLES", "Name", 1); //Assert actual.Should().BeEquivalentTo(expected); } }