Beispiel #1
0
        public async Task <User> Register(User user)
        {
            _datingAppDbContext.User.Add(user);
            await _datingAppDbContext.SaveChangesAsync();

            return(user);
        }
Beispiel #2
0
        public async Task HandleAsync_HappyPath_MessageIsAdded()
        {
            // Arrange
            var user = UserGenerator.GenerateUser();

            await using (var dbContext = new DatingAppDbContext(_options))
            {
                dbContext.Users.Add(user);
                await dbContext.SaveChangesAsync();
            }

            var userMock = new Mock <IAuthenticatedUser>();

            userMock.SetupGet(u => u.Id).Returns(1);

            _userRepositoryMock
            .Setup(r => r.Single(It.IsAny <Expression <Func <User, bool> > >(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(user);

            var command = new AddMessageCommand(user.Id, "text", userMock.Object);

            var fakeNow = Instant.FromDateTimeUtc(DateTime.UtcNow.AddDays(-1));

            _clockMock.Setup(c => c.GetCurrentInstant()).Returns(fakeNow);

            // Act
            var messageDto = await _requestHandler.Handle(command, default);

            // Assert
            Assert.NotNull(messageDto);
            Assert.Equal(command.Content, messageDto.Content);
            Assert.Equal(messageDto.SendDate, fakeNow);
        }
Beispiel #3
0
        public async Task Login_HappyPath_ReturnUserWithToken()
        {
            // Arrange
            var user = UserGenerator.GenerateUser();

            using (var dbContext = new DatingAppDbContext(_options))
            {
                dbContext.Users.Add(user);
                await dbContext.SaveChangesAsync();
            }

            _passwordValidatorMock
            .Setup(v => v.Validate(It.IsAny <string>(), It.IsAny <Password>()))
            .Returns(true);

            _tokenServiceMock
            .Setup(s => s.Generate(It.IsAny <User>()))
            .Returns("token");

            // Arrange
            var result = await _userLoginService.Login(new UserLoginRequest
            {
                Email    = user.Email,
                Password = "******"
            });

            // Assert
            Assert.NotNull(result);
            Assert.NotNull(result.AccessToken);
            Assert.NotNull(result.LoggedInUser);
        }
Beispiel #4
0
        public async Task Login_InvalidPassword_ReturnNull()
        {
            // Arrange
            var user = UserGenerator.GenerateUser();

            using (var dbContext = new DatingAppDbContext(_options))
            {
                dbContext.Users.Add(user);
                await dbContext.SaveChangesAsync();
            }

            _passwordValidatorMock
            .Setup(v => v.Validate(It.IsAny <string>(), It.IsAny <Password>()))
            .Returns(false);

            // Act
            var result = await _userLoginService.Login(new UserLoginRequest
            {
                Email    = user.Email,
                Password = "******"
            });

            // Assert
            Assert.Null(result);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public async Task <User> Register(User userData)
        {
            await _dbContext.AddAsync(userData);

            await _dbContext.SaveChangesAsync();

            return(userData);
        }
Beispiel #6
0
        public async Task <User> RegisterUser(User user, string password)
        {
            byte[] passwordhash, passwordsalt;

            AuthLogic.CreatePasswordHash(password, out passwordhash, out passwordsalt);
            user.PasswordHash = passwordhash;
            user.PasswordSalt = passwordsalt;
            await _context.Users.AddAsync(user);

            await _context.SaveChangesAsync();

            return(user);
        }
Beispiel #7
0
        public async Task <User> Register(string username, string password)
        {
            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(password, out passwordHash, out passwordSalt);

            var user = new User
            {
                Username     = username,
                PasswordHash = passwordHash,
                PasswordSalt = passwordSalt
            };

            await db.Users.AddAsync(user);

            await db.SaveChangesAsync();

            return(user);
        }
 public async Task <bool> SaveAllAsync()
 {
     return(await _datingAppDbContext.SaveChangesAsync() > 0);
 }
Beispiel #9
0
 public async Task <bool> SaveAll()
 {
     return(await _context.SaveChangesAsync() > 0);
 }