public void AddMovieToFavourite_Should_ThrowWhenMovieDoNotExist()
        {
            var db = new TFContext(this.DatabaseSimulator());
            var favouriteService = new FavouritesService(db);

            Assert.ThrowsException <InexistingEntityException>
                (() => favouriteService.AddMovieToFavourite(1, userIdToUse));
        }
        public void AddMovieToFavourite_Should_AddCorrect()
        {
            var db = new TFContext(this.DatabaseSimulator());
            var favouriteService = new FavouritesService(db);

            var movie = new Movie()
            {
                Id = 1
            };

            db.Movies.Add(movie);
            db.SaveChanges();
            favouriteService.AddMovieToFavourite(movie.Id, userIdToUse);


            Assert.AreEqual(1, db.MoviesUsers.Count(a => a.UserId == userIdToUse && a.MovieId == 1));
        }
        public void AddMovieToFavourite_Should_ThrowWhenMovieIsAlreadyInFavourite()
        {
            var db = new TFContext(this.DatabaseSimulator());
            var favouriteService = new FavouritesService(db);

            var movie = new Movie()
            {
                Id = 1
            };
            var movieUser = new MoviesUsers()
            {
                MovieId = 1,
                UserId  = userIdToUse
            };

            db.Movies.Add(movie);
            db.MoviesUsers.Add(movieUser);
            db.SaveChanges();

            Assert.ThrowsException <EntityAlreadyExistingException>
                (() => favouriteService.AddMovieToFavourite(1, userIdToUse));
        }