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);
        }
Exemplo n.º 2
0
        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 }));
        }