public void Login() { var jwtSettings = new OptionsWrapper <JwtSettings>(new JwtSettings { Issuer = "http://localhost", Secret = "secret1245" }); var jwtHelper = new JwtHelper(jwtSettings); var optionsBuilder = new DbContextOptionsBuilder <TestRepositoryContext>(); optionsBuilder.UseInMemoryDatabase("loginManagerTestDb"); using var context = new TestRepositoryContext(optionsBuilder.Options); var login = new LoginHelper(jwtHelper, context); var newUser = new DtoUserResponse() { Id = 1, Name = "UnitTest", Email = "*****@*****.**" }; var newUser2 = new DtoUserSignIUp() { Name = "UnitTest", Email = "*****@*****.**", Password = "******" }; var x = login.CreateAccount(newUser2); x.Token = null; Assert.Equal(x, login.Login("*****@*****.**", "unittest")); }
//for new user - SignIn public DtoUserResponse CreateAccount(DtoUserSignIUp customer) { var context = _context; var salt = _jwtHelper.GenerateSalt(); var newUser = new User() { Name = customer.Name, Gender = customer.Gender, BirthDay = customer.BirthDay, Salt = salt, Password = _jwtHelper.HashPassword(customer.Password, salt), Email = customer.Email //TODO add other attributes }; if (IsUserExist(newUser)) { return(null); } context.Users.Add(newUser); context.SaveChanges(); return(MapUserToDtoUserResponse(newUser)); }
public IActionResult SignUp(DtoUserSignIUp user) { var userDto = _loginHelper.CreateAccount(user); if (userDto != null) { return(Ok(userDto)); } return(Conflict()); }