public void DeleteBookShouldReturnRedirectToResult() { Expect.Call(userMediaService.GetBookById(userBook.Id)).Return(userBook); Expect.Call(delegate { userMediaService.DeleteBook(userBook); }); mocks.ReplayAll(); MediathekController mediathekController = new MediathekController(userMediaService); RedirectToRouteResult result = mediathekController.DeleteBook(userBook.Id, fakeUser) as RedirectToRouteResult; Assert.IsNotNull(result); object bookId; Assert.IsTrue(result.RouteValues.TryGetValue("id", out bookId)); Assert.AreEqual(userBook.Book.Id, (int)bookId); }
public ActionResult DeleteBook(int id, IPrincipal user) { UserBook userBook = userMediaService.GetBookById(id); if (userBook == null) { return(View("NotFound")); } Book book = userBook.Book; if (userBook.User.Username != user.Identity.Name) { return(View("NotAuthorized")); } userMediaService.DeleteBook(userBook); return(RedirectToAction("Book", "Media", new { id = book.Id })); }