Пример #1
0
 public MoviesCommandModule(MovieHandlers movieHandlers)
 {
     For <TitleMovie>().Handle(async(message, _) => await movieHandlers.Handle(message.Command, message.CommandId));
     For <DescribeMovie>().Handle(async(message, _) => await movieHandlers.Handle(message.Command, message.CommandId));
     For <RateMovieByCrictics>().Handle(async(message, _) => await movieHandlers.Handle(message.Command, message.CommandId));
     For <RateMovieByAudience>().Handle(async(message, _) => await movieHandlers.Handle(message.Command, message.CommandId));
     For <AddDirectorToMovie>().Handle(async(message, _) => await movieHandlers.Handle(message.Command, message.CommandId));
 }
Пример #2
0
        public void Create_movie_without_title_command_should_fail()
        {
            var repository = new DummyRepository <Movie>();
            var handler    = new MovieHandlers(repository);

            handler.Awaiting(h => h.Handle(new TitleMovie
            {
                MovieId = Guid.NewGuid()
            }, Guid.NewGuid()))
            .ShouldThrow <ArgumentException>();
        }
Пример #3
0
        public async Task Create_movie_on_TitleMovie_command()
        {
            var repository = new DummyRepository <Movie>();
            var handler    = new MovieHandlers(repository);

            await handler.Handle(new TitleMovie
            {
                MovieId = Guid.NewGuid(),
                Title   = "Some movie"
            }, Guid.NewGuid());

            repository.Items.Count.Should().Be(1);
        }
Пример #4
0
        public async Task Rating_movie_below_zero_should_fail()
        {
            var movieId    = Guid.NewGuid();
            var repository = new DummyRepository <Movie>();
            await repository.Save(new Movie(movieId, "Some movie"), Guid.Empty);

            var handler = new MovieHandlers(repository);

            handler.Awaiting(h => h.Handle(new RateMovieByAudience
            {
                MovieId = movieId,
                Rating  = -1
            }, Guid.NewGuid())).ShouldThrow <ArgumentException>();
        }
Пример #5
0
        public async Task Rating_movie_50_should_pass()
        {
            var movieId    = Guid.NewGuid();
            var repository = new DummyRepository <Movie>();
            await repository.Save(new Movie(movieId, "Some movie"), Guid.Empty);

            var handler = new MovieHandlers(repository);

            handler.Awaiting(h => h.Handle(new RateMovieByAudience
            {
                MovieId = movieId,
                Rating  = 50
            }, Guid.NewGuid())).ShouldNotThrow();
        }
Пример #6
0
        public async Task Can_add_director_to_movie()
        {
            var movieId    = Guid.NewGuid();
            var repository = new DummyRepository <Movie>();
            await repository.Save(new Movie(movieId, "Some movie"), Guid.Empty);

            var handler = new MovieHandlers(repository);

            handler.Awaiting(h => h.Handle(new AddDirectorToMovie
            {
                MovieId  = movieId,
                Director = "Jack"
            }, Guid.NewGuid())).ShouldNotThrow();
        }
Пример #7
0
        public async Task Critcis_rating_movie_above_100_should_fail()
        {
            var movieId    = Guid.NewGuid();
            var repository = new DummyRepository <Movie>();
            await repository.Save(new Movie(movieId, "Some movie"), Guid.Empty);

            var handler = new MovieHandlers(repository);

            handler.Awaiting(h => h.Handle(new RateMovieByCrictics
            {
                MovieId = movieId,
                Rating  = 101
            }, Guid.NewGuid())).ShouldThrow <ArgumentException>();
        }
Пример #8
0
        public async Task Describing_an_exiting_movie_with_an_future_year_should_fail()
        {
            var movieId    = Guid.NewGuid();
            var repository = new DummyRepository <Movie>();
            await repository.Save(new Movie(movieId, "Some movie"), Guid.Empty);

            var handler = new MovieHandlers(repository);

            handler.Awaiting(h => h.Handle(new DescribeMovie
            {
                MovieId          = movieId,
                Synopsis         = "Synopsis",
                CriticsConsensus = "CriticsConsensus",
                Year             = DateTime.Now.Year + 1
            }, Guid.NewGuid()))
            .ShouldThrow <ArgumentException>();
        }
Пример #9
0
        public async Task Describing_an_exiting_movie_should_pass()
        {
            var movieId    = Guid.NewGuid();
            var repository = new DummyRepository <Movie>();
            await repository.Save(new Movie(movieId, "Some movie"), Guid.Empty);

            var handler = new MovieHandlers(repository);

            await handler.Handle(new DescribeMovie
            {
                MovieId          = movieId,
                Synopsis         = "Synopsis",
                CriticsConsensus = "CriticsConsensus",
                Year             = 2014
            }, Guid.NewGuid());

            repository.Items.Count.Should().Be(1);
        }
Пример #10
0
 public static void UpdateMovie(ObjectId movieToUpdateId, Movie updatedMovie)
 {
     MovieHandlers mh = new MovieHandlers();
     mh.UpdateMovie(movieToUpdateId, updatedMovie);
 }
Пример #11
0
 public static void SaveMovieToDB(Movie movie)
 {
     MovieHandlers mh = new MovieHandlers();
     mh.SaveMovieToDB(movie);
 }
Пример #12
0
 public static List<Movie> GetMovies()
 {
     MovieHandlers mh = new MovieHandlers();
     return mh.GetMoviesFromDB();
 }
Пример #13
0
 public static Movie GetMovieById(ObjectId movieId)
 {
     MovieHandlers mh = new MovieHandlers();
     return mh.GetMovieByIdFromDB(movieId);
 }
Пример #14
0
 public static void DeleteMovie(ObjectId movieId)
 {
     MovieHandlers mh = new MovieHandlers();
     mh.DeleteMovieById(movieId);
 }