public async Task GetMoviesByGenre_WhenProvidedWithAValidGenre_ReturnsMoviesByGenre() { // Arrange //// It is not the controller's responsibility to filter by genre /// or ensure all movies being returned have the genre specified var expectedMovies = RandomMovieGenerator.GenerateRandomMovies(50); var moviesController = new MovieControllerForTest(expectedMovies); var validGenreAsString = GenreParser.ToString(Genre.SciFi); // Act var actualMovieResources = await moviesController.GetMoviesByGenre(validGenreAsString); // Assert var actualMovies = MapToMvoies(actualMovieResources); MovieAssertions.AssertMoviesAreEqual(expectedMovies, actualMovies); }
public async Task GetMoviesByGenre_WhenProvidedWithAInValidGenre_ShouldThrow() { // Arrange var moviesController = new MovieControllerForTest(movies: null); var invalidGenreAsString = "xxxxx"; // Act try { await moviesController.GetMoviesByGenre(invalidGenreAsString); Assert.Fail("We were expecting an exception of type InvalidGenreException to be thrown, but no exception was thrown"); } catch (InvalidGenreException e) { // Assert StringAssert.Contains(e.Message, invalidGenreAsString); } }