public void Details_FoundedModel_ReturnsTheProperView(int value) { //1. Arrange: var publicationModel = new PublicationViewModel() { Id = 1, AuthorId = "111", Title = "On the river with Tisho", Description = "I was on the river with my friend Pesho and catched so many fishes with only one metal lure", }; var mockService = new Mock <IBasePublicationsService>(); mockService .Setup(service => service.GetPublication(value)) .Returns(publicationModel); var controller = new PublicationsController(mockService.Object); //2.Act: var result = controller.Details(value); //3.Assert: Assert.IsInstanceOfType(result, typeof(ViewResult)); Assert.IsNotNull((result as ViewResult).Model); }
public void Details_WithValidPublication_ShoudCallService(int value) { //1. Arrange: bool serviceCalled = false; var publicationModel = new PublicationViewModel() { Id = 1, AuthorId = "111", Title = "On the river with Tisho", Description = "I was on the river with my friend Pesho and catched so many fishes with only one metal lure", }; var mockService = new Mock <IBasePublicationsService>(); mockService .Setup(service => service.GetPublication(value)) .Returns(publicationModel) .Callback(() => serviceCalled = true); var controller = new PublicationsController(mockService.Object); //2.Act: var result = controller.Details(1); //3.Assert: Assert.IsTrue(serviceCalled); }
public void Details_WithValidId_ShouldReturnView() { // Arrange Mock <ICommentService> commentService = new Mock <ICommentService>(); Mock <IPublicationService> publicationService = new Mock <IPublicationService>(); PublicationDetailsServiceModel detailsModel = this.GetPublicationDetailsServiceModel(); const int publicationId = 1; commentService .Setup(c => c.Total(publicationId)) .Returns(20); commentService .Setup(c => c.All( It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int?>())) .Returns(this.GetComments()); publicationService .Setup(p => p.Details(It.IsAny <int>())) .Returns(detailsModel); Mock <ClaimsPrincipal> claimsMock = new Mock <ClaimsPrincipal>(); claimsMock.Setup(t => t.Identity.IsAuthenticated) .Returns(false); Mock <HttpContext> mockHttpContext = new Mock <HttpContext>(); mockHttpContext.Setup(m => m.User).Returns(claimsMock.Object); PublicationsController publicationsController = new PublicationsController(commentService.Object, null, null, publicationService.Object, null) { ControllerContext = new ControllerContext { HttpContext = mockHttpContext.Object } }; // Act IActionResult result = publicationsController.Details(publicationId, 2); // Assert Assert.IsType <ViewResult>(result); object model = (result as ViewResult).Model; Assert.IsType <PublicationDetailsViewModel>(model); PublicationDetailsViewModel returnModel = model as PublicationDetailsViewModel; this.AssertPublicationDetailsViewModel(this.GetPublicationDetailsViewModel(), returnModel); }
public void Details_WithNotValidId_ShouldReturnBadRequest() { // Arrange Mock <ICommentService> commentService = new Mock <ICommentService>(); Mock <IPublicationService> publicationService = new Mock <IPublicationService>(); PublicationDetailsServiceModel detailsModel = null; const int publicationId = 1; commentService .Setup(c => c.Total(publicationId)) .Returns(1); publicationService .Setup(p => p.Details(It.IsAny <int>())) .Returns(detailsModel); Mock <ClaimsPrincipal> claimsMock = new Mock <ClaimsPrincipal>(); claimsMock.Setup(t => t.Identity.IsAuthenticated) .Returns(false); Mock <HttpContext> mockHttpContext = new Mock <HttpContext>(); mockHttpContext .Setup(m => m.User) .Returns(claimsMock.Object); PublicationsController publicationsController = new PublicationsController(commentService.Object, null, null, publicationService.Object, null) { ControllerContext = new ControllerContext { HttpContext = mockHttpContext.Object } }; // Act IActionResult result = publicationsController.Details(publicationId, 1); // Assert Assert.IsType <BadRequestResult>(result); }
public void Details_RetursCorrectModelInformation() { // 1. var service = new Mock <IBasePublicationsService>(); var controller = new PublicationsController(service.Object); var publicationModel = new PublicationViewModel() { Id = 1, AuthorId = "111", Title = "On the river with Tisho", Description = "I was on the river with my friend Pesho and catched so many fishes with only one metal lure", }; service.Setup(serv => serv.GetPublication(publicationModel.Id)) .Returns(new PublicationViewModel() { Id = publicationModel.Id, AuthorId = publicationModel.AuthorId, Title = publicationModel.Title, Description = publicationModel.Description }); // 2. Act: var result = controller.Details(publicationModel.Id); //3. Assert: var resultModel = result as ViewResult; Assert.IsNotNull(resultModel.Model); Assert.IsInstanceOfType(resultModel.Model, typeof(PublicationViewModel)); var productType = (resultModel.Model as PublicationViewModel); Assert.AreEqual(publicationModel.Id, productType.Id); Assert.AreEqual(publicationModel.AuthorId, productType.AuthorId); Assert.AreEqual(publicationModel.Title, productType.Title); Assert.AreEqual(publicationModel.Description, productType.Description); }