コード例 #1
0
 public static UserModel Map(User user)
 {
     var model = new UserModel
     {
         Id = user.Id,
         Email = user.Email,
         FullName = user.FullName,
         RoleName = user.RoleName,
         Language = user.Language,
         IsActive = user.IsActive,
     };
     return model;
 }
コード例 #2
0
        public void authenticate_should_return_user_result()
        {
            // Arrange
            var user = new User { FullName = "test", Email = "*****@*****.**", RoleId = SetRole.User.Value, Language = Thread.CurrentThread.CurrentUICulture.Name };
            var userRepository = new Mock<IRepository<User>>();

            // Act
            var userService = new UserService(userRepository.Object);
            var userId = userService.Create(user.FullName, user.Email, "password", user.RoleId, user.Language);

            // Assert
            userRepository.Verify(x => x.Create(It.IsAny<User>()), Times.Once);
            userRepository.Verify(x => x.SaveChanges(), Times.AtLeastOnce);

            Assert.NotNull(userId);
        }
コード例 #3
0
        public async Task<long?> Create(string fullName, string email, string password, int roleId, string language)
        {
            var img = GravatarHelper.GetGravatarURL(email, GRAVATAR_IMG_SIZE);
            var user = new User
            {
                Email = email,
                FullName = fullName,
                PasswordHash = BCrypt.Net.BCrypt.HashPassword(password),
                ImageUrl = img,
                RoleId = roleId,
                RoleName = SetRole.GetString(roleId),
                IsActive = true,
                Language = language
            };

            _userRepo.Create(user);

            if (!_userRepo.SaveChanges()) return null;

            return await Task.FromResult(user.Id);
        }
コード例 #4
0
        public async void authenticate_should_return_with_bool()
        {
            // Arrange 
            var user = new User { FullName = "test", Email = "*****@*****.**", RoleId = SetRole.User.Value, PasswordHash = BCrypt.Net.BCrypt.HashPassword("password"), Language = Thread.CurrentThread.CurrentUICulture.Name };
            var userRepository = new Mock<IRepository<User>>(); 
            
            userRepository.Setup(x => x.FindOne(It.IsAny<Expression<Func<User, bool>>>())).Returns(user); 
            userRepository.Setup(x => x.Update(user)).Returns(user);

            // Act
            var  sut = new UserServiceBuilder().WithUserRespository(userRepository.Object)
                                              .Build();
            var result = await sut.Authenticate(user.Email, user.PasswordHash);

            // Assert
            Assert.NotNull(result);
            Assert.IsInstanceOf<IUserService>(sut);
            Assert.IsAssignableFrom<bool>(result);

            userRepository.Verify(x => x.FindOne(It.IsAny<Expression<Func<User, bool>>>()), Times.Once); 
            userRepository.Verify(x => x.Update(It.IsAny<User>()), Times.Once);
            userRepository.Verify(x => x.SaveChanges(), Times.AtLeastOnce); 
        }
コード例 #5
0
        public async void create_should_return_user_id()
        {
            // Arrange
            var user = new User { FullName = "test", Email = "*****@*****.**", RoleId = SetRole.User.Value, Language = Thread.CurrentThread.CurrentUICulture.Name };
            var userRepository = new Mock<IRepository<User>>();

            userRepository.Setup(x => x.Create(user)).Returns(user);
            userRepository.Setup(x => x.SaveChanges()).Returns(true);

            // Act 
            var sut = new UserServiceBuilder().WithUserRespository(userRepository.Object)
                                              .Build(); 
            var userId = await sut.Create(user.FullName, user.Email, "password", user.RoleId, user.Language);

            // Assert
            Assert.NotNull(userId);
            Assert.IsInstanceOf<IUserService>(sut);
            Assert.IsAssignableFrom<long>(userId);

            userRepository.Verify(x => x.Create(It.IsAny<User>()), Times.Once);
            userRepository.Verify(x => x.SaveChanges(), Times.AtLeastOnce);

        }