public void AddRating_WithValidMovieId_AdjustsMovieRating() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movies = new List <Movie>(); const int movieId = 42; var movie = new Movie { Id = movieId, Directors = "Directors", GenreId = 1, Name = "Name", Rating = 3, Stars = "Stars", Writers = "Writers" }; movies.Add(movie); IRepository <Movie> movieRepository = new FakeMovieRepository(movies); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService) { ControllerContext = new FakeControllerContext() }; const short newRating = 5; movieController.AddRating(movieId, newRating); Assert.IsTrue(movie.Rating == newRating); }
public void AddRating_WithValidMovieId_CallsSaveOnMovieRepository() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movies = new List <Movie>(); const int movieId = 42; var movie = new Movie { Id = movieId, Directors = "Directors", GenreId = 1, Name = "Name", Rating = 3, Stars = "Stars", Writers = "Writers" }; movies.Add(movie); bool wasCalled = false; Action saveAction = () => wasCalled = true; IRepository <Movie> movieRepository = new FakeMovieRepository(movies, saveCallback: saveAction); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService) { ControllerContext = new FakeControllerContext() }; movieController.AddRating(movieId, 5); Assert.IsTrue(wasCalled); }
public void Edit_WithMovieToEditFound_RedirectsToIndex() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movies = new List <Movie>(); const int movieId = 42; movies.Add(new Movie { Id = movieId }); IRepository <Movie> movieRepository = new FakeMovieRepository(movies); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService); var editMovieViewModel = new EditMovieViewModel { Id = movieId, Directors = "Directors", GenreId = 1, Name = "Name", Rating = 3, Stars = "Stars", Writers = "Writers" }; var result = (RedirectToRouteResult)movieController.Edit(editMovieViewModel); Assert.IsTrue(string.Compare(result.Action(), "Index", true) == 0); }
public void ClearRating_WithValidMovieId_ClearsRatingOnMovie() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movies = new List <Movie>(); const int movieId = 42; var movie = new Movie { Id = movieId, Directors = "Directors", GenreId = 1, Name = "Name", Rating = 3, Stars = "Stars", Writers = "Writers" }; movies.Add(movie); IRepository <Movie> movieRepository = new FakeMovieRepository(movies); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService); movieController.ClearRating(movieId); Assert.IsTrue(movie.Rating == 0); }
public void Edit_WithNoMovieFound_RedirectsToMovieNotFound() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); IRepository <Movie> movieRepository = new FakeMovieRepository(); var movieController = new MovieController(movieRepository, null, membershipService); var result = (RedirectToRouteResult)movieController.Edit(42); Assert.IsTrue(string.Compare(result.Action(), "MoveNotFound", true) == 0); }
public void Add_ReturnsView() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); IRepository <Movie> movieRepository = new FakeMovieRepository(); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService); var result = movieController.Add() as ViewResult; Assert.IsNotNull(result); }
public void Edit_WithMovieToEditNotFound_RedirectsToMovieNotFound() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movies = new List <Movie>(); IRepository <Movie> movieRepository = new FakeMovieRepository(movies); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService); var result = (RedirectToRouteResult)movieController.Edit(new EditMovieViewModel()); Assert.IsTrue(string.Compare(result.Action(), "MoveNotFound", true) == 0); }
public void Index_WithNullUser_RedirectsToAccountRegister() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movieController = new MovieController(null, null, membershipService) { ControllerContext = new FakeControllerContext() }; var result = (RedirectToRouteResult)movieController.Index(); Assert.IsTrue(string.Compare(result.Action(), "register", true) == 0); Assert.IsTrue(string.Compare(result.Controller(), "account", true) == 0); }
public void Detail_WithMovieFound_ReturnsView() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movies = new List <Movie>(); const int movieId = 42; movies.Add(new Movie { Id = movieId }); IRepository <Movie> movieRepository = new FakeMovieRepository(movies); var movieController = new MovieController(movieRepository, null, membershipService); var result = movieController.Detail(movieId) as ViewResult; Assert.IsNotNull(result); }
public void Add_WithValidUserAndModel_CallsSaveOnMovieRepository() { var users = new List <MembershipUser>(); Guid guid = Guid.NewGuid(); users.Add(new TestMembershipUser("test", guid)); IMembershipService membershipService = new FakeMembershipService(users); var movies = new List <Movie>(); const int movieId = 42; movies.Add(new Movie { Id = movieId }); bool wasCalled = false; Action saveAction = () => wasCalled = true; IRepository <Movie> movieRepository = new FakeMovieRepository(movies, saveCallback: saveAction); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService) { ControllerContext = new FakeControllerContext() }; var editMovieViewModel = new EditMovieViewModel { Id = movieId, Directors = "Directors", GenreId = 1, Name = "Name", Rating = 3, Stars = "Stars", Writers = "Writers" }; movieController.Add(editMovieViewModel); Assert.IsTrue(wasCalled); }
public void Index_WithValidUser_ReturnsView() { var users = new List <MembershipUser>(); Guid guid = Guid.NewGuid(); users.Add(new TestMembershipUser("test", guid)); IMembershipService membershipService = new FakeMembershipService(users); IRepository <Movie> movieRepository = new FakeMovieRepository(); var movieController = new MovieController(movieRepository, null, membershipService) { ControllerContext = new FakeControllerContext() }; var result = movieController.Index() as ViewResult; Assert.IsNotNull(result); }
public void Add_WithUserNotFound_ReturnsRedirectsToAccountRegister() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movies = new List <Movie>(); const int movieId = 42; movies.Add(new Movie { Id = movieId }); IRepository <Movie> movieRepository = new FakeMovieRepository(movies); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService) { ControllerContext = new FakeControllerContext() }; var result = (RedirectToRouteResult)movieController.Add(new EditMovieViewModel()); Assert.IsTrue(string.Compare(result.Action(), "register", true) == 0); Assert.IsTrue(string.Compare(result.Controller(), "account", true) == 0); }
public void Add_WithInvalidModelState_ReturnsView() { IMembershipService membershipService = new FakeMembershipService(Enumerable.Empty <MembershipUser>()); var movies = new List <Movie>(); const int movieId = 42; movies.Add(new Movie { Id = movieId }); IRepository <Movie> movieRepository = new FakeMovieRepository(movies); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService); //setup model error to trigger !IsValid movieController.ModelState.AddModelError("key", "errormessage"); var result = movieController.Add(new EditMovieViewModel()) as ViewResult; Assert.IsNotNull(result); }
public void Delete_WithValidMovie_CallsAddOnMovieRepository() { var users = new List <MembershipUser>(); Guid guid = Guid.NewGuid(); users.Add(new TestMembershipUser("test", guid)); IMembershipService membershipService = new FakeMembershipService(users); var movies = new List <Movie>(); const int movieId = 42; movies.Add(new Movie { Id = movieId }); bool wasCalled = false; Action deleteCallback = () => wasCalled = true; IRepository <Movie> movieRepository = new FakeMovieRepository(movies, deleteCallback: deleteCallback); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService); var movie = new Movie { Id = movieId, Directors = "Directors", GenreId = 1, Name = "Name", Rating = 3, Stars = "Stars", Writers = "Writers" }; movieController.Delete(movie); Assert.IsTrue(wasCalled); }
public void Add_WithValidUserAndModel_RedirectsToIndex() { var users = new List <MembershipUser>(); Guid guid = Guid.NewGuid(); users.Add(new TestMembershipUser("test", guid)); IMembershipService membershipService = new FakeMembershipService(users); var movies = new List <Movie>(); const int movieId = 42; movies.Add(new Movie { Id = movieId }); IRepository <Movie> movieRepository = new FakeMovieRepository(movies); IRepository <Genre> genreRepository = new FakeGenreRepository(); var movieController = new MovieController(movieRepository, genreRepository, membershipService) { ControllerContext = new FakeControllerContext() }; var editMovieViewModel = new EditMovieViewModel { Id = movieId, Directors = "Directors", GenreId = 1, Name = "Name", Rating = 3, Stars = "Stars", Writers = "Writers" }; var result = (RedirectToRouteResult)movieController.Add(editMovieViewModel); Assert.IsTrue(string.Compare(result.Action(), "Index", true) == 0); }