public void GivenBookId_WhenBookProfileCalled_ReturnBookView() { // Arrange int bookId = 1; int userId = 10; var book = A.Fake <Book>(); book.BookId = 1; var fakeHttpContext = A.Fake <HttpContextBase>(); var session = A.Fake <HttpSessionStateBase>(); session["userId"] = 7; A.CallTo(() => fakeHttpContext.Session).Returns(session); ControllerContext context = new ControllerContext(new RequestContext(fakeHttpContext, new RouteData()), _bookController); _bookController.ControllerContext = context; A.CallTo(() => _fakeBookService.GetBookDetails(bookId)).Returns(book); A.CallTo(() => _fakeBookService.UserHasCreatedReview(bookId, userId)).Returns(true); A.CallTo(() => _fakeBookService.IsOnBookShelf(A <ToRead> ._)).Returns(true); // Act var result = _bookController.BookProfile(bookId) as ViewResult; // Assert Assert.IsNotNull(result); Assert.That(result.ViewBag.Message, Is.EqualTo("Book Profile")); A.CallTo(() => _fakeBookService.GetBookDetails(bookId)).MustHaveHappened(Repeated.Exactly.Once); }
public void GivenBookId_WhenBookProfileCalled_ReturnBookView() { using (var scope = Container.BeginLifetimeScope()) { // Arrange _bookController = scope.Resolve <BooksController>(); var fakeHttpContext = A.Fake <HttpContextBase>(); var session = A.Fake <HttpSessionStateBase>(); session["userId"] = 7; A.CallTo(() => fakeHttpContext.Session).Returns(session); ControllerContext context = new ControllerContext(new RequestContext(fakeHttpContext, new RouteData()), _bookController); _bookController.ControllerContext = context; // Act var result = _bookController.BookProfile(11) as ViewResult; // Assert Assert.IsNotNull(result); Assert.IsNotNull(result.Model); Assert.IsInstanceOf <BookViewModel>(result.Model); Assert.That(result.ViewBag.Message, Is.EqualTo("Book Profile")); } }