コード例 #1
0
        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");
        }
コード例 #2
0
ファイル: EF_Tests.cs プロジェクト: brontebantam/MySiteMaster
        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());
        }
コード例 #3
0
ファイル: EF_Tests.cs プロジェクト: brontebantam/MySiteMaster
        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);
        }
コード例 #4
0
ファイル: EF_Tests.cs プロジェクト: brontebantam/MySiteMaster
        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);
        }