public async void Test() { var fakeUserManager = new FakeUserManagerBuilder() .Build(); var fakeSignInManager = new FakeSignInManagerBuilder() .With(x => x.Setup(sm => sm.PasswordSignInAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>())) .ReturnsAsync(SignInResult.Success)) .Build(); var fakeEmailSender = new Mock <IEmailSender>(); var fakeLogger = new Mock <ILogger <AccountController> >(); var mockUrlHelper = new Mock <IUrlHelper>(MockBehavior.Strict); mockUrlHelper .Setup(x => x.IsLocalUrl(It.IsAny <string>())) .Returns(true) .Verifiable(); var controller = new AccountController( fakeUserManager.Object, fakeSignInManager.Object, fakeEmailSender.Object, fakeLogger.Object); controller.Url = mockUrlHelper.Object; var result = await controller.Login(new LoginViewModel(), "testPath"); Assert.IsType <RedirectResult>(result); }
public void PutPhoto_IfUserPhotosNotContainsPhoto_ShouldReturnNotFoundResult() { var mockService = new Mock <IPhotoService>(); var fakeUserManager = new FakeUserManagerBuilder() .Build(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "test1"), new Claim(ClaimTypes.NameIdentifier, "1"), new Claim("custom-claim", "example claim value"), }, "mock")); fakeUserManager.Setup(u => u.FindByNameAsync("test1")).Returns(Task.FromResult(new User { Id = "1", UserName = "******" })); var controller = new PhotoController(mockService.Object, _mapper, fakeUserManager.Object); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; controller.ControllerContext = context; var result = controller.PutPhoto(new Photo()).Result as NotFoundObjectResult; Assert.IsInstanceOf <NotFoundObjectResult>(result); mockService.Verify(service => service.UpdatePhoto(It.IsAny <Photo>()), Times.Never()); }
public void GetCurrentLoggedUser_ShouldReturnCurrentLoggedUser() { var mockService = new Mock <IPhotoService>(); var fakeUserManager = new FakeUserManagerBuilder() .Build(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "test1"), new Claim(ClaimTypes.NameIdentifier, "1"), new Claim("custom-claim", "example claim value"), }, "mock")); fakeUserManager.Setup(u => u.FindByNameAsync("test1")).Returns(Task.FromResult(new User())); var controller = new PhotoController(mockService.Object, _mapper, fakeUserManager.Object); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; controller.ControllerContext = context; var result = controller.GetCurrentLoggedUser(); Assert.IsInstanceOf <User>(result.Result); }
public void RemoveComment_IfPhotoIsNull_ShouldReturnNotFoundResult() { var mockService = new Mock <IPhotoService>(); var fakeUserManager = new FakeUserManagerBuilder() .Build(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "test1"), new Claim(ClaimTypes.NameIdentifier, "1"), new Claim("custom-claim", "example claim value"), }, "mock")); fakeUserManager.Setup(u => u.FindByNameAsync("test1")).Returns(Task.FromResult(new User { Id = "1", UserName = "******" })); var controller = new PhotoController(mockService.Object, _mapper, fakeUserManager.Object); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; controller.ControllerContext = context; var result = controller.RemoveComment(1, new Comment { Id = 1 }); Assert.IsInstanceOf <NotFoundResult>(result); }
public void UnlikePhoto_WhenCalled_IfUserDidNotLikedPhoto_ShouldReturnBadRequestResult() { int photoId = 1; var mockService = new Mock <IPhotoService>(); mockService.Setup(service => service.GetPhotoById(photoId)).Returns(Photos[photoId]); var fakeUserManager = new FakeUserManagerBuilder() .Build(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "test1"), new Claim(ClaimTypes.NameIdentifier, "1"), new Claim("custom-claim", "example claim value"), }, "mock")); fakeUserManager.Setup(u => u.FindByNameAsync("test1")).Returns(Task.FromResult(new User { Id = "1", UserName = "******" })); var controller = new PhotoController(mockService.Object, _mapper, fakeUserManager.Object); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; controller.ControllerContext = context; var result = controller.UnlikePhoto(photoId); Assert.IsInstanceOf <BadRequestObjectResult>(result); }
public void AddReply_ShouldCallAddReplyAndReturnOkResult() { int photoId = 1; Photos[photoId].Comments = new List <Comment> { new Comment { Id = 1 } }; var mockService = new Mock <IPhotoService>(); mockService.Setup(service => service.GetPhotoById(photoId)).Returns(Photos[photoId]); var fakeUserManager = new FakeUserManagerBuilder() .Build(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "test1"), new Claim(ClaimTypes.NameIdentifier, "1"), new Claim("custom-claim", "example claim value"), }, "mock")); fakeUserManager.Setup(u => u.FindByNameAsync("test1")).Returns(Task.FromResult(new User { Id = "1", UserName = "******" })); var controller = new PhotoController(mockService.Object, _mapper, fakeUserManager.Object); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; controller.ControllerContext = context; var result = controller.AddReply(photoId, 1, new Reply { Id = 1 }); mockService.Verify(service => service.AddReply(It.IsAny <Comment>(), It.IsAny <Reply>(), It.IsAny <Photo>()), Times.Once()); Assert.IsInstanceOf <OkResult>(result); }
public void DeletePhoto_ShouldCallDeletePhoto() { var photoId = 1; foreach (var photo in Photos) { photo.Album = new Album(); } Photos[photoId].Album.UserId = "1"; var mockService = new Mock <IPhotoService>(); mockService.Setup(service => service.GetPhotoById(photoId)).Returns(Photos[photoId]); mockService.Setup(service => service.Photos).Returns(Photos); var fakeUserManager = new FakeUserManagerBuilder() .Build(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "test1"), new Claim(ClaimTypes.NameIdentifier, "1"), new Claim("custom-claim", "example claim value"), }, "mock")); fakeUserManager.Setup(u => u.FindByNameAsync("test1")).Returns(Task.FromResult(new User { Id = "1", UserName = "******", Photos = new List <Photo> { Photos[photoId] } })); var controller = new PhotoController(mockService.Object, _mapper, fakeUserManager.Object); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; controller.ControllerContext = context; controller.DeletePhoto(photoId); mockService.Verify(c => c.DeletePhoto(photoId), Times.Once()); }
public void UnlikePhoto_WhenCalled_ShouldCallUnLikePhotoAndReturnOkResult() { int photoId = 1; var mockService = new Mock <IPhotoService>(); Photos[photoId].Likes.Add(new Like { Id = 1, UserId = "1" }); Photos[photoId].NumberOfLikes = 1; mockService.Setup(service => service.GetPhotoById(photoId)).Returns(Photos[photoId]); var fakeUserManager = new FakeUserManagerBuilder() .Build(); var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, "test1"), new Claim(ClaimTypes.NameIdentifier, "1"), new Claim("custom-claim", "example claim value"), }, "mock")); fakeUserManager.Setup(u => u.FindByNameAsync("test1")).Returns(Task.FromResult(new User { Id = "1", UserName = "******" })); var controller = new PhotoController(mockService.Object, _mapper, fakeUserManager.Object); var context = new ControllerContext { HttpContext = new DefaultHttpContext { User = user } }; controller.ControllerContext = context; var result = controller.UnlikePhoto(photoId); mockService.Verify(service => service.UnlikePhoto(It.IsAny <Photo>(), It.IsAny <string>()), Times.Once()); Assert.IsInstanceOf <OkResult>(result); }