public async void TestSaveUpdatedCategory()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            FaqCategory catToUpdate = new FaqCategory()
            {
                Id           = 1,
                CategoryName = "Test",
            };

            await context.FaqCategory.AddAsync(catToUpdate);

            await context.SaveChangesAsync();

            IFaqRepository repository = new EFFaqRepository(context);

            // Change some values
            catToUpdate.CategoryName = "New";

            await repository.SaveCategory(catToUpdate);

            // Check if the item was updated
            FaqCategory updatedCat = await context.FaqCategory.FindAsync((long)1);

            Assert.NotNull(updatedCat);
            Assert.Equal("New", updatedCat.CategoryName);
        }
        public async void TestSaveNotExistingCategoryWithNotExistingId()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            FaqCategory ExistingCat = new FaqCategory()
            {
                Id           = 1,
                CategoryName = "Test",
            };

            await context.FaqCategory.AddAsync(ExistingCat);

            await context.SaveChangesAsync();

            IFaqRepository repository = new EFFaqRepository(context);

            // Change some values
            FaqCategory catToUpdate = new FaqCategory()
            {
                Id           = 2,
                CategoryName = "New",
            };

            await Assert.ThrowsAsync <DbUpdateConcurrencyException>(() => repository.SaveCategory(catToUpdate));
        }
示例#3
0
        public void TestEditSurprisePage()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Page.Add(new Page()
            {
                Id = 1, Page_Name = "TheSurprise", Title = "LastSurprise", Content = "Hallo"
            });

            context.SaveChanges();

            Page page = new Page()
            {
                Title = "NewSurprise", Content = "NewContent"
            };

            IPageRepository repository = new EFPageRepository(context);

            repository.EditPage(1, page);

            Assert.Equal("NewSurprise", repository.GetPage(1).Title);
            Assert.Equal("NewContent", repository.GetPage(1).Content);
        }
        public async void TestSaveNewCategory()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.FaqCategory.AddRange(
                new FaqCategory()
            {
                CategoryName = "Test"
            }
                );

            await context.SaveChangesAsync();

            IFaqRepository repository = new EFFaqRepository(context);

            FaqCategory categoryToCreate = new FaqCategory()
            {
                CategoryName = "Test"
            };

            await repository.SaveCategory(categoryToCreate);

            // Check if the item was created
            FaqCategory foundCat = await context.FaqCategory.FirstOrDefaultAsync(x => x.CategoryName == "Test");

            Assert.NotNull(foundCat);
            Assert.Equal("Test", foundCat.CategoryName);
        }
示例#5
0
        public void TestGetIdExistingAccommodation()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Vacancies.Add(new Vacancy()
            {
                Id              = 1,
                JobTitle        = "Test",
                AboutFunction   = "Software Engineer",
                AboutVacancy    = "Fulltime",
                City            = "Breda",
                Company         = "SPIE Nederland B.V.",
                JobRequirements = "HBO Bachelor",
                WeOffer         = "Luxe secundaire voorwaarden"
            });

            context.SaveChanges();

            IVacancyRepository repository = new EFVacancyRepository(context);

            var vacancie = repository.GetVacancy(1);

            Assert.NotNull(vacancie);
        }
示例#6
0
        public void TestGetSurprise()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Page.AddRange(
                new Page()
            {
                Page_Name = "TheSurprise", Title = "Surprise", Content = "Hallo"
            },
                new Page()
            {
                Page_Name = "TheSurprise", Title = "LastSurprise", Content = "Hallo"
            }
                );

            context.SaveChanges();

            IPageRepository repository = new EFPageRepository(context);

            Assert.Equal("Surprise", repository.GetPage(1).Title);
            Assert.Equal("LastSurprise", repository.GetPage(2).Title);
        }
        public void TestGetExistingId()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Reviews.Add(
                new Review()
            {
                Id            = 1,
                Accommodation = new Accommodation()
                {
                    Id = 1, Name = "Test"
                },
                Name     = "TestReview",
                Approved = true
            });
            context.SaveChanges();

            IReviewRepository repository = new EFReviewRepository(context, null);
            var reviews = repository.GetAccomodationReviews(1);

            Assert.NotNull(reviews.FirstOrDefault());
            Assert.Equal("Test", reviews.FirstOrDefault().Accommodation.Name);
            Assert.Equal("TestReview", reviews.FirstOrDefault().Name);
            Assert.True(reviews.Count() == 1);
        }
示例#8
0
        public void TestVacanciesFilledRepository()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Vacancies.AddRange(
                new Vacancy()
            {
                JobTitle = "Dit is een omschrijving", AboutFunction = "Test0"
            },
                new Vacancy()
            {
                JobTitle = "Dit is een omschrijving", AboutFunction = "Test1"
            },
                new Vacancy()
            {
                JobTitle = "Dit is een omschrijving", AboutFunction = "Test2"
            },
                new Vacancy()
            {
                JobTitle = "Dit is een omschrijving", AboutFunction = "Test3"
            }
                );
            context.SaveChanges();

            IVacancyRepository repository = new EFVacancyRepository(context);

            Assert.True(repository.Vacancies.Count() == 4);
        }
        public void TestAddNotExistingReview()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            IAccommodationRepository accommodationRepository = new EFAccommodationRepository(context);

            context.Accommodations.Add(new Accommodation()
            {
                Id      = 1,
                Name    = "TestAccommodation",
                Beds    = 6,
                Country = "Amsterdam",
                Rooms   = 3
            });

            context.SaveChanges();

            IReviewRepository repository = new EFReviewRepository(context, accommodationRepository);

            Assert.True(repository.AddReview(1, "Review Holiday 001", "TestReview", "De vakantie was goed!"));
            Assert.True(repository.GetAccomodationReviews(1).Count() == 1);
        }
        public void TestGetIdIsZeroReview()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context  = new HomeMyDayDbContext(optionsBuilder.Options);
            var accommodationRepository = new Mock <IAccommodationRepository>();

            accommodationRepository.SetupGet(x => x.Accommodations).Returns(new List <Accommodation>()
            {
                new Accommodation()
                {
                    Id         = 1,
                    Name       = "Test",
                    Beds       = 2,
                    Country    = "Breda",
                    MaxPersons = 6
                },
                new Accommodation()
                {
                    Id         = 2,
                    Name       = "Test2",
                    Beds       = 4,
                    Country    = "Tilburg",
                    MaxPersons = 4
                }
            });

            IReviewRepository repository = new EFReviewRepository(context, accommodationRepository.Object);

            Assert.Throws <ArgumentOutOfRangeException>(() => repository.GetAccomodationReviews(0));
        }
        public void TestGetArgumentExceptionReview()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            var accommodation = new Accommodation()
            {
                Id       = 1,
                Name     = "TestAcco",
                Location = "Breda",
                Beds     = 6
            };

            context.Reviews.Add(new Review()
            {
                Id            = 1,
                Accommodation = accommodation,
                Name          = "TestReview",
                Approved      = true
            });
            context.Reviews.Add(new Review()
            {
                Id            = 2,
                Name          = "TestReview2",
                Accommodation = accommodation,
                Approved      = false
            });
            context.SaveChanges();

            IReviewRepository repository = new EFReviewRepository(context, null);

            Assert.Throws <ArgumentOutOfRangeException>(() => repository.GetAccomodationReviews(0));
        }
示例#12
0
        public void TestCountries()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Countries.Add(new Country()
            {
                Id          = 1,
                CountryCode = "AZE",
                Name        = "Azerbaijan"
            });
            context.Countries.Add(new Country()
            {
                Id          = 2,
                CountryCode = "USA",
                Name        = "United States"
            });

            context.SaveChanges();

            ICountryRepository repository = new EFCountryRepository(context);

            Assert.Equal(2, repository.Countries.Count());
        }
        public void TestFilledSearchAccommodations()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Accommodations.Add(new Accommodation()
            {
                Beds        = 4,
                Continent   = "Europe",
                Country     = "Netherlands",
                Description = "Van der Valk hotels",
                Location    = "Gilze",
                MaxPersons  = 4,
                Name        = "Van der valk Gilze",
                Rooms       = 5
            });

            context.SaveChanges();

            IAccommodationRepository repository = new EFAccommodationRepository(context);
            IReviewRepository        reviewRepo = new EFReviewRepository(context, repository);
            IAccommodationManager    manager    = new AccommodationManager(repository, reviewRepo);

            SearchBarViewComponent target = new SearchBarViewComponent(manager);

            AccommodationSearchViewModel results = (AccommodationSearchViewModel)(target.Invoke() as ViewViewComponentResult).ViewData.Model;

            Assert.NotNull(results);
            Assert.NotEmpty(results.Accommodations);
        }
        public void TestErrorViewOnSubscription()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            var context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Newspapers.Add(new Newspaper()
            {
                Email = "*****@*****.**"
            });

            context.SaveChanges();

            var repository            = new EFNewspaperRepository(context);
            INewspaperManager manager = new NewspaperManager(repository);
            var target             = new NewspaperController(manager);
            var newspaperViewModel = new NewspaperViewModel()
            {
                Email = "*****@*****.**"
            };
            var result = target.Index(newspaperViewModel);

            Assert.NotNull(result);
            Assert.NotNull(newspaperViewModel);
            Assert.Null(result.ViewName);
            Assert.NotNull(result.ViewData);
            Assert.True(result.ViewData.ModelState.ErrorCount > 0);
        }
        public void TestFilledFaqList()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.FaqCategory.AddRange(
                new FaqCategory()
            {
                CategoryName = "TestA"
            },
                new FaqCategory()
            {
                CategoryName = "TestB"
            },
                new FaqCategory()
            {
                CategoryName = "TestC"
            }
                );
            context.SaveChanges();

            IFaqRepository repository = new EFFaqRepository(context);
            IFaqManager    manager    = new FaqManager(repository);

            var target = new FaqController(manager);
            var result = target.Index(1, 10).Result as ViewResult;
            var model  = result.Model as IEnumerable <FaqCategory>;

            Assert.NotNull(model);
            Assert.True(model.Count() == 3);
        }
        public void TestFilledReviews()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            var context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Reviews.Add(new Review()
            {
                Id            = 1,
                Name          = "TestReview",
                Accommodation = new Accommodation()
                {
                    Id = 1, Name = "TestAccommodation"
                },
                Approved = true,
                Date     = DateTime.Now,
                Title    = "Test",
                Text     = "Dit was een goede vakantie!"
            });

            context.SaveChanges();

            IReviewRepository reviewRepository = new EFReviewRepository(context, null);
            IReviewManager    reviewManager    = new ReviewManager(reviewRepository);

            var target = new ReviewController(reviewManager);

            var result = target.Index();
            var model  = result.Model as IEnumerable <ReviewViewModel>;

            Assert.NotNull(model);
            Assert.Equal("TestReview", model.FirstOrDefault().Name);
        }
示例#17
0
        public void TestEmptySearchAccommodations()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext       context    = new HomeMyDayDbContext(optionsBuilder.Options);
            IAccommodationRepository repository = new EFAccommodationRepository(context);
            IReviewRepository        reviewRepo = new EFReviewRepository(context, repository);
            IAccommodationManager    manager    = new AccommodationManager(repository, reviewRepo);

            SearchController target = new SearchController(manager);

            AccommodationSearchViewModel searchModel = new AccommodationSearchViewModel()
            {
                StartDate = new DateTime(2017, 10, 12),
                EndDate   = new DateTime(2017, 10, 22),
                Location  = "Gilze",
                Persons   = 4
            };

            ViewResult result = target.Results(searchModel);
            AccommodationSearchResultsViewModel model = result.Model as AccommodationSearchResultsViewModel;

            Assert.NotNull(model);
            Assert.NotNull(model.Search);
            Assert.Empty(model.Accommodations);
            Assert.Equal(searchModel, model.Search);
            Assert.Equal("NoResults", result.ViewName);
        }
        public async void TestSaveNotExistingAccommodationWithNotExistingId()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            Accommodation existingAccommodation = new Accommodation()
            {
                Id          = 2,
                Description = DEFAULT_ACCOMMODATION_DESCRIPTION,
                Name        = "Example Name",
                Country     = "Unknown",
                MaxPersons  = 2
            };

            await context.Accommodations.AddAsync(existingAccommodation);

            await context.SaveChangesAsync();

            IAccommodationRepository repository = new EFAccommodationRepository(context);

            // Change some values
            Accommodation accommodationToUpdate = new Accommodation()
            {
                Id          = 3,
                Country     = "The Netherlands",
                Name        = "Updated name",
                Description = "Updated description",
                MaxPersons  = 2
            };

            await Assert.ThrowsAsync <DbUpdateConcurrencyException>(() => repository.Save(accommodationToUpdate));
        }
        public void TestSearchDepartureAndArrivalReturnNoAccommodation()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Accommodations.Add(new Accommodation()
            {
                NotAvailableDates = new List <DateEntity>()
                {
                    new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 12)
                    }, new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 13)
                    }, new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 14)
                    }, new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 15)
                    }, new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 16)
                    }, new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 17)
                    },
                    new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 18)
                    }, new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 19)
                    }, new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 20)
                    }, new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 21)
                    },
                    new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 22)
                    },
                },
                Name       = "Amsterdam",
                MaxPersons = 4
            });

            context.SaveChanges();

            IAccommodationRepository repository = new EFAccommodationRepository(context);

            IEnumerable <Accommodation> searchResults = repository.Search("Amsterdam", new DateTime(2017, 10, 13), new DateTime(2017, 10, 19), 4);

            Assert.Empty(searchResults);
        }
        public void TestAccommodationsFilledRepository()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Accommodations.AddRange(
                new Accommodation()
            {
                Description = DEFAULT_ACCOMMODATION_DESCRIPTION, Recommended = false
            },
                new Accommodation()
            {
                Description = DEFAULT_ACCOMMODATION_DESCRIPTION, Recommended = true
            },
                new Accommodation()
            {
                Description = DEFAULT_ACCOMMODATION_DESCRIPTION, Recommended = false
            },
                new Accommodation()
            {
                Description = DEFAULT_ACCOMMODATION_DESCRIPTION, Recommended = true
            }
                );
            context.SaveChanges();

            IAccommodationRepository repository = new EFAccommodationRepository(context);

            Assert.True(repository.Accommodations.Count() == 4);
        }
        public void TestSearchLocationSpacesReturnAccommodation()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.Accommodations.Add(new Accommodation()
            {
                NotAvailableDates = new List <DateEntity>()
                {
                    new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 11)
                    },
                    new DateEntity()
                    {
                        Date = new DateTime(2017, 10, 23)
                    },
                },
                Location   = "Amsterdam",
                MaxPersons = 4
            });

            context.SaveChanges();

            IAccommodationRepository repository = new EFAccommodationRepository(context);

            IEnumerable <Accommodation> searchResults = repository.Search("   Amsterdam   ", new DateTime(2017, 10, 11), new DateTime(2017, 10, 23), 4);

            Assert.NotEmpty(searchResults);
        }
        public async void TestCategoryListWithItemsOnePageSizeTen()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.FaqCategory.AddRange(
                new FaqCategory()
            {
                CategoryName = "TestA"
            },
                new FaqCategory()
            {
                CategoryName = "TestB"
            }
                );

            await context.SaveChangesAsync();

            IFaqRepository repository = new EFFaqRepository(context);

            PaginatedList <FaqCategory> paginatedCategories = await repository.ListCategories(1, 10);

            Assert.NotNull(paginatedCategories);
            Assert.Equal(2, paginatedCategories.Count);
            Assert.Equal(1, paginatedCategories.PageIndex);
            Assert.Equal(10, paginatedCategories.PageSize);
            Assert.Equal(1, paginatedCategories.TotalPages);
            Assert.False(paginatedCategories.HasPreviousPage);
            Assert.False(paginatedCategories.HasNextPage);
        }
        public void TestFaqFilledList()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.FaqCategory.AddRange(
                new FaqCategory()
            {
                CategoryName = "TestA"
            },
                new FaqCategory()
            {
                CategoryName = "TestB"
            }
                );
            context.SaveChanges();

            IFaqRepository repository    = new EFFaqRepository(context);
            var            faqCategories = repository.ListCategories();

            Assert.NotNull(faqCategories);
            Assert.True(faqCategories.Result.Count() == 2);
        }
        public void TestFaqFilledRepository()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context = new HomeMyDayDbContext(optionsBuilder.Options);

            context.FaqCategory.AddRange(
                new FaqCategory()
            {
                CategoryName = "TestA"
            },
                new FaqCategory()
            {
                CategoryName = "TestB"
            },
                new FaqCategory()
            {
                CategoryName = "TestC"
            }
                );
            context.SaveChanges();

            IFaqRepository repository = new EFFaqRepository(context);

            Assert.True(repository.GetCategoriesAndQuestions().Count() == 3);
        }
        public void TestArgumentExceptionNullOnSubscription()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            var context    = new HomeMyDayDbContext(optionsBuilder.Options);
            var repository = new EFNewspaperRepository(context);

            Assert.Throws <ArgumentNullException>(() => repository.Subscribe(null));
        }
        public void TestAccommodationsEmptyRepository()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext       context    = new HomeMyDayDbContext(optionsBuilder.Options);
            IAccommodationRepository repository = new EFAccommodationRepository(context);

            Assert.Empty(repository.Accommodations);
        }
        public void TestSearchReturnAfterDeparture()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext       context    = new HomeMyDayDbContext(optionsBuilder.Options);
            IAccommodationRepository repository = new EFAccommodationRepository(context);

            Assert.Throws <ArgumentOutOfRangeException>(() => repository.Search("Amsterdam", new DateTime(2017, 10, 12), new DateTime(2017, 10, 11), 4));
        }
        public void TestSearchEmptyGuests()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext       context    = new HomeMyDayDbContext(optionsBuilder.Options);
            IAccommodationRepository repository = new EFAccommodationRepository(context);

            Assert.Throws <ArgumentNullException>(() => repository.Search("Amsterdam", DateTime.Now, DateTime.Now, 0));
        }
        public void TestGetIdBelowZeroAccommodation()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext       context    = new HomeMyDayDbContext(optionsBuilder.Options);
            IAccommodationRepository repository = new EFAccommodationRepository(context);

            Assert.Throws <ArgumentOutOfRangeException>(() => repository.GetAccommodation(0));
        }
        public void TestFaqEmptyRepository()
        {
            var optionsBuilder = new DbContextOptionsBuilder <HomeMyDayDbContext>();

            optionsBuilder.UseInMemoryDatabase(Guid.NewGuid().ToString());
            HomeMyDayDbContext context    = new HomeMyDayDbContext(optionsBuilder.Options);
            IFaqRepository     repository = new EFFaqRepository(context);

            Assert.Empty(repository.GetCategoriesAndQuestions());
        }