public void Register_NullPhotoUrl_ShouldThrow() { var videoRepositoryMock = new Mock <IRepository <Video> >(); var unitOfWorkMock = new Mock <IUnitOfWork>(); var commentRepositoryMock = new Mock <IRepository <Comment> >(); var userRepositoryMock = new Mock <IRepository <VidconfileUser> >(); var passwordHasherMock = new Mock <IPasswordHasher>(); var subscribeToSubscriberMock = new Mock <IRepository <SubscribeToSubscribers> >(); VidconfileUserServices userService = new VidconfileUserServices(userRepositoryMock.Object, unitOfWorkMock.Object, passwordHasherMock.Object, videoRepositoryMock.Object, subscribeToSubscriberMock.Object); string username = "******"; string password = "******"; string profilePhotoUrl = "nubfas"; string message = Assert.Throws <NullReferenceException>(() => userService.Register(username, password, null)).Message; Assert.Equal("profilePhotoUrl cannot be null", message); }
public void Register_ShouldAddUser() { var videoRepositoryMock = new Mock <IRepository <Video> >(); var unitOfWorkMock = new Mock <IUnitOfWork>(); var commentRepositoryMock = new Mock <IRepository <Comment> >(); var userRepositoryMock = new Mock <IRepository <VidconfileUser> >(); var passwordHasherMock = new Mock <IPasswordHasher>(); var subscribeToSubscriberMock = new Mock <IRepository <SubscribeToSubscribers> >(); VidconfileUser user = null; userRepositoryMock.Setup(x => x.Add(It.IsAny <VidconfileUser>())) .Callback <VidconfileUser>(x => user = x); VidconfileUserServices userService = new VidconfileUserServices(userRepositoryMock.Object, unitOfWorkMock.Object, passwordHasherMock.Object, videoRepositoryMock.Object, subscribeToSubscriberMock.Object); string username = "******"; string password = "******"; string profilePhotoUrl = "nubfas"; PasswordHashModel hashModel = new PasswordHashModel(new byte[1], new byte[2]); passwordHasherMock.Setup(x => x.CreatePasswordHash(password)) .Returns(hashModel) .Verifiable(); userService.Register(username, password, profilePhotoUrl); passwordHasherMock.Verify(); unitOfWorkMock.Verify(x => x.Commit(), Times.Once); userRepositoryMock.Verify(x => x.Add(It.IsAny <VidconfileUser>()), Times.Once); Assert.Equal(username, user.Username); Assert.Equal(profilePhotoUrl, user.ProfilePhotoUrl); }