public void SearchListings_should_only_display_distinct() { var service = new EF_ListingRepository(db); var srch = new BasicSearch(); srch.location = "59.31749017230652,18.009874877929633"; var info = new SortingPagingInfo(); info.SortField = SiteConstants.SortFields.DateListed; info.SortDirectionDesc = true; info.PageSize = 9; info.CurrentPageIndex = 0; var listings = service.SearchListings(srch, info); Assert.IsNotNull(listings, "No listings returned"); //Assert.AreEqual(3, listings.listings.Count(), "Incorrect No listings returned"); Assert.AreNotEqual(listings.listings.ToList()[1], listings.listings.ToList()[2], "Duplicate Listing"); Assert.AreNotEqual(listings.listings.ToList()[1].Id, listings.listings.ToList()[2].Id, "Incorrect listing returned"); }
public void CreateListing_saves_a_listing_via_context() { var mockListing = new Mock<Listing>(); var mockListingLocation = new ListingLocation(); mockListingLocation.ListingLocationLat = "59.11"; mockListingLocation.ListingLocationLng = "17.22"; ICollection<ListingLocation> mockListingLocations = new List<ListingLocation>(); mockListingLocations.Add(mockListingLocation); //Mock the properties mockListing.SetupProperty(listing => listing.Title, "Test Insert Listing"); //.SetupProperty(listing => listing.ListingLocations, mockListingLocations); var mockSet = new Mock<DbSet<Listing>>(); var mockSet1 = new Mock<DbSet<ListingLocation>>(); var mockContext = new Mock<DbConnectionContext>(); mockContext.Setup(m => m.Listings).Returns(mockSet.Object); var service = new EF_ListingRepository(mockContext.Object); service.CreateNewListing(mockListing.Object); mockSet.Verify(m => m.Add(It.IsAny<Listing>()), Times.Once()); mockContext.Verify(m => m.SaveChanges(), Times.Once()); }
public void GetAllListings() { var data = new List<Listing> { new Listing { Id = 1, Description = "Woof woof", Title = "Dog", DateListed = Convert.ToDateTime("2016-09-22") }, new Listing { Id = 2, Description = "Gurgle gurgle", Title = "Fish", DateListed = Convert.ToDateTime("2016-09-22") }, new Listing { Id = 3, Description = "Meow meow", Title = "Cat", DateListed = Convert.ToDateTime("2016-09-22") } }.AsQueryable(); var mockSet = new Mock<DbSet<Listing>>(); mockSet.As<IQueryable<Listing>>().Setup(m => m.Provider).Returns(data.Provider); mockSet.As<IQueryable<Listing>>().Setup(m => m.Expression).Returns(data.Expression); mockSet.As<IQueryable<Listing>>().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As<IQueryable<Listing>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockContext = new Mock<DbConnectionContext>(); mockContext.Setup(c => c.Listings).Returns(mockSet.Object); var service = new EF_ListingRepository(mockContext.Object); var listings = service.GetAllListings().ToList(); Assert.AreEqual(3, listings.Count()); Assert.AreEqual(1, listings[0].Id); Assert.AreEqual("Gurgle gurgle", listings[1].Description); Assert.AreEqual("Cat", listings[2].Title); }
public void GetListingById() { var data = new List<Listing> { new Listing { Id = 1, Description = "Woof woof", Title = "Dog", DateListed = Convert.ToDateTime("2016-09-22") }, new Listing { Id = 2, Description = "Gurgle gurgle", Title = "Fish", DateListed = Convert.ToDateTime("2016-09-22") }, new Listing { Id = 3, Description = "Meow meow", Title = "Cat", DateListed = Convert.ToDateTime("2016-09-22") } }.AsQueryable(); var data1 = new List<UserListing> { new UserListing {Id = 1, User_Id = 1, Listing_Id = 1}, new UserListing {Id = 2, User_Id = 2, Listing_Id = 2}, new UserListing {Id = 3, User_Id = 3, Listing_Id = 3} }.AsQueryable(); var data2 = new List<ListingImageGallery>().AsQueryable(); var mockSet = new Mock<DbSet<Listing>>(); mockSet.As<IQueryable<Listing>>().Setup(m => m.Provider).Returns(data.Provider); mockSet.As<IQueryable<Listing>>().Setup(m => m.Expression).Returns(data.Expression); mockSet.As<IQueryable<Listing>>().Setup(m => m.ElementType).Returns(data.ElementType); mockSet.As<IQueryable<Listing>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator()); var mockSet1 = new Mock<DbSet<UserListing>>(); mockSet1.As<IQueryable<UserListing>>().Setup(m => m.Provider).Returns(data1.Provider); mockSet1.As<IQueryable<UserListing>>().Setup(m => m.Expression).Returns(data1.Expression); mockSet1.As<IQueryable<UserListing>>().Setup(m => m.ElementType).Returns(data1.ElementType); mockSet1.As<IQueryable<UserListing>>().Setup(m => m.GetEnumerator()).Returns(data1.GetEnumerator()); var mockSet2 = new Mock<DbSet<ListingImageGallery>>(); mockSet2.As<IQueryable<ListingImageGallery>>().Setup(m => m.Provider).Returns(data2.Provider); mockSet2.As<IQueryable<ListingImageGallery>>().Setup(m => m.Expression).Returns(data2.Expression); mockSet2.As<IQueryable<ListingImageGallery>>().Setup(m => m.ElementType).Returns(data2.ElementType); mockSet2.As<IQueryable<ListingImageGallery>>().Setup(m => m.GetEnumerator()).Returns(data2.GetEnumerator()); var mockContext = new Mock<DbConnectionContext>(); mockContext.Setup(c => c.Listings).Returns(mockSet.Object); mockContext.Setup(c => c.UserListings).Returns(mockSet1.Object); mockContext.Setup(c => c.ListingsImageGalleries).Returns(mockSet2.Object); var service = new EF_ListingRepository(mockContext.Object); var listing = service.GetListingById(2); Assert.IsNotNull(listing); Assert.AreEqual(2, listing.Id); Assert.AreEqual("Gurgle gurgle", listing.Description); Assert.AreEqual("Fish", listing.Title); }