public void GivenValidToReadDetails_WhenDeleteBookFromBookShelf_ReturnToBookProfile() { using (var scope = Container.BeginLifetimeScope()) { // Arrange _bookController = scope.Resolve <BooksController>(); BookService bookService = scope.Resolve <BookService>(); ToRead toRead = new ToRead(); toRead.UserId = 289; toRead.BookId = 11; _bookController.AddBookToBookShelf(toRead); // Act var result = _bookController.DeleteBookFromBookShelf(toRead) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); var values = result.RouteValues.Values; Assert.IsTrue(values.Contains(11)); Assert.IsTrue(values.Contains(controllerName)); Assert.IsTrue(values.Contains("BookProfile")); Assert.IsNull(bookService.GetABookReview(289, 11)); // cleanup, assert it's been successful } }
public void GivenValidToReadDetails_WhenDeleteFromBookShelfCalled_ReturnToBookProfile() { // Arrange var fakeBookToRead = A.Fake <ToRead>(); fakeBookToRead.BookId = 1; fakeBookToRead.UserId = 10; A.CallTo(() => _fakeBookService.RemoveBookFromToRead(fakeBookToRead)).Returns(true); // Act var result = _bookController.DeleteBookFromBookShelf(fakeBookToRead) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); var values = result.RouteValues.Values; var bookId = values.ElementAt(0); Assert.AreEqual(bookId, fakeBookToRead.BookId); Assert.IsTrue(values.Contains(controllerName)); Assert.IsTrue(values.Contains(actionCalledBookProfile)); A.CallTo(() => _fakeBookService.RemoveBookFromToRead(fakeBookToRead)).MustHaveHappened(Repeated.Exactly.Once); }