コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }