Example #1
0
        public void AddAsync_Should_ThrowException_When_UserAlreadyExists(CreateAccount command, byte[] expectedPasswordHash, byte[] expectedSalt)
        {
            // Arrange
            var passwordManager = new Mock <IPasswordManager>();

            passwordManager.Setup(p => p.CalculatePasswordHash(It.IsAny <string>(), out expectedPasswordHash, out expectedSalt));
            IUserService userService = new Infrastructure.Services.UserService(fixture.Context, passwordManager.Object);

            fixture.Context.Users.Add(new User(command.Name, command.Surname, command.Login, command.Email, expectedSalt, expectedPasswordHash));
            fixture.Context.SaveChanges();

            // Act and Assert
            Assert.ThrowsAsync <CorruptedOperationException>(() => userService.AddAsync(command));
        }
Example #2
0
        public void AddAsync_Should_AddUser_When_CorrectDataProvided(CreateAccount command, byte[] expectedPasswordHash, byte[] expectedSalt)
        {
            // Arrange
            var passwordManager = new Mock <IPasswordManager>();

            passwordManager.Setup(p => p.CalculatePasswordHash(It.IsAny <string>(), out expectedPasswordHash, out expectedSalt));
            IUserService userService = new Infrastructure.Services.UserService(fixture.Context, passwordManager.Object);

            // Act
            userService.AddAsync(command);
            var user = fixture.Context.Users.SingleOrDefault(x => x.Id == 1);

            // Assert
            Assert.Equal(command.Name, user.Name);
            Assert.Equal(command.Surname, user.Surname);
            Assert.Equal(command.Login, user.Login);
            Assert.Equal(command.Email, user.Email);
            Assert.Equal(expectedPasswordHash, user.PasswordHash);
            Assert.Equal(expectedSalt, user.Salt);
        }
Example #3
0
        private async Task <bool> Execute()
        {
            var userService = new Infrastructure.Services.UserService(userRepository.Object, encrypter.Object, mapper.Object, logger.Object);

            return(await userService.LoginAsync(email, password));
        }
Example #4
0
 private async Task Execute()
 {
     var userService = new Infrastructure.Services.UserService(userRepository.Object, encrypter.Object, mapper.Object, logger.Object);
     await userService.RegisterAsync(userId, email, "user12", "secret12", "user");
 }