public void The_MovieRatedByCritics_event_should_keep_a_roling_average() { var movieId = Guid.NewGuid(); var ratedByCritics = new MovieRatedByCritics(movieId, 60); var repo = new DummyMovieProjectionRepository(); repo.List[movieId] = new MovieProjection { Id = movieId, CriticsScore = 50 }; var handler = new MovieProjectionHandlers(repo); handler.Handle(ratedByCritics); repo.List.Count.Should().Be(1); repo.List.Values.ShouldBeEquivalentTo(new[] { new MovieProjection { Id = movieId, CriticsScore = 51 } }); }
public void The_MovieDescribed_event_should_update_a_movie() { var movieId = Guid.NewGuid(); var movieTitled = new MovieDescribed(movieId, "Synopsis", "Critics Consensus", 2014, "R"); var repo = new DummyMovieProjectionRepository(); repo.List[movieId] = new MovieProjection { Id = movieId }; var handler = new MovieProjectionHandlers(repo); handler.Handle(movieTitled); repo.List.Count.Should().Be(1); repo.List.Values.ShouldBeEquivalentTo(new[] { new MovieProjection { Id = movieId, Synopsis = "Synopsis", CriticsConsensus = "Critics Consensus", Year = 2014, MpaaRating = "R" } }); }
public void The_first_MovieRatedByAudience_event_should_set_the_rating() { var movieId = Guid.NewGuid(); var ratedByCritics = new MovieRatedByAudience(movieId, 60); var repo = new DummyMovieProjectionRepository(); repo.List[movieId] = new MovieProjection { Id = movieId }; var handler = new MovieProjectionHandlers(repo); handler.Handle(ratedByCritics); repo.List.Count.Should().Be(1); repo.List.Values.ShouldBeEquivalentTo(new[] { new MovieProjection { Id = movieId, AudienceScore = 60 } }); }
public void The_MovieTitled_event_should_update_a_movie() { const string title = "Some movie"; var movieId = Guid.NewGuid(); var movieTitled = new MovieTitled(movieId, title); var repo = new DummyMovieProjectionRepository(); repo.List[movieId] = new MovieProjection { Id = movieId }; var handler = new MovieProjectionHandlers(repo); handler.Handle(movieTitled); repo.List.Count.Should().Be(1); repo.List.Values.ShouldBeEquivalentTo(new[] { new MovieProjection { Id = movieId, Title = title } }); }
public void The_MovieRatedByCritics_event_should_be_unchanged_with_the_same_rating() { var movieId = Guid.NewGuid(); var ratedByCritics = new MovieRatedByCritics(movieId, 60); var repo = new DummyMovieProjectionRepository(); repo.List[movieId] = new MovieProjection { Id = movieId, CriticsScore = 60 }; var handler = new MovieProjectionHandlers(repo); handler.Handle(ratedByCritics); repo.List.Count.Should().Be(1); repo.List.Values.ShouldBeEquivalentTo(new[] { new MovieProjection { Id = movieId, CriticsScore = 60 } }); }