public async void Post_ReturnsBadRequestObjectWithMessageToAddFilmFirst_ForNewFilmWhichContainsCast() { //Arrange var repository = new FakeFilmRepository(); repository.Add(new Director() { Id = 1, FirstName = "Quentin", LastName = "Tarantino" }); repository.Add(new Actor() { Id = 1, FirstName = "Kurt", LastName = "Russell", ActorFilms = new List <ActorFilm>() { new ActorFilm() { FilmId = 1, ActorId = 1 } } }); repository.Add(new Film() { Id = 1, DirectorId = 1, Title = "The Hateful Eight", Cast = new List <ActorFilm>() { new ActorFilm() { FilmId = 1, ActorId = 1 } } }); await repository.SaveChangesAsync(); var config = new MapperConfiguration(cfg => { cfg.AddProfile <FilmProfile>(); }); var mapper = config.CreateMapper(); var controller = new FilmsController(repository, mapper); var newFilm = new FilmModel() { Cast = new List <ActorModel>() { new ActorModel() { FirstName = "Kurt", LastName = "Russell" } }, Title = "The Hateful Eight" }; //Act var result = await controller.Post(newFilm); //Assert Assert.IsType <BadRequestObjectResult>(result.Result); Assert.Equal("Please add film first. Update films cast with updatefilm method", (result.Result as BadRequestObjectResult).Value); }
public async Task Delete_TicketNotInDb_ReturnsNotFoundView() { var ticketRepository = new FakeTicketRepository(); var customerRepository = new FakeCustomerRepository(); var filmRepository = new FakeFilmRepository(); var controller = new TicketsController(ticketRepository, customerRepository, filmRepository); var result = await controller.Delete(1) as ViewResult; Assert.AreEqual("NotFound", result.ViewName); }
public async Task Create_ValidTicket_ReturnsRedirectToActionResult() { var ticket = new Ticket(); var ticketRepository = new FakeTicketRepository(); var customerRepository = new FakeCustomerRepository(); var filmRepository = new FakeFilmRepository(); var controller = new TicketsController(ticketRepository, customerRepository, filmRepository); var result = await controller.Create(ticket); Assert.IsInstanceOfType(result, typeof(RedirectToActionResult)); }
public async Task Create_NoArguments_ReturnsViewResult() { var ticketRepository = new FakeTicketRepository(); var customerRepository = new FakeCustomerRepository(); var filmRepository = new FakeFilmRepository(); var controller = new TicketsController(ticketRepository, customerRepository, filmRepository); var result = await controller.Create(); Assert.IsInstanceOfType(result, typeof(ViewResult)); }
public async Task Create_InValidTicket_ReturnsSameModel() { var ticket = new Ticket(); var ticketRepository = new FakeTicketRepository(); var customerRepository = new FakeCustomerRepository(); var filmRepository = new FakeFilmRepository(); var controller = new TicketsController(ticketRepository, customerRepository, filmRepository); controller.ModelState.AddModelError("", ""); var result = await controller.Create(ticket) as ViewResult; Assert.AreEqual(ticket, result.Model); }
public async Task Delete_TicketInDb_ReturnsSameModel() { var ticket = new Ticket() { TicketID = 1 }; var ticketRepository = new FakeTicketRepository(); var customerRepository = new FakeCustomerRepository(); var filmRepository = new FakeFilmRepository(); var controller = new TicketsController(ticketRepository, customerRepository, filmRepository); ticketRepository.AddTicket(ticket); var result = await controller.Delete(1) as ViewResult; Assert.AreEqual(ticket, result.Model); }