public async Task ViewProfileTest_ValidInfo() { UserDTO newUser = new UserDTO { Email = "*****@*****.**", Password = "******", FirstName = "Moxie", LastName = "Bespin" }; GenericResponseDTO <int> registerResponse = await authController.Register(newUser); Assert.IsTrue(registerResponse.Success); TestAuthHelpers.attachUserToContext(registerResponse.Data, controllers); ProfileDTO expectedProfileInfo = new ProfileDTO { FirstName = "Moxie", LastName = "Bespin", Email = "*****@*****.**", Projects = new List <ProjectNameAndClientDTO>() }; GenericResponseDTO <ProfileDTO> response = await profileController.GetUserProfile(); Assert.IsTrue(response.Success); Assert.AreEqual(response.Data.FirstName, expectedProfileInfo.FirstName); Assert.AreEqual(response.Data.LastName, expectedProfileInfo.LastName); Assert.AreEqual(response.Data.Email, expectedProfileInfo.Email); Assert.IsTrue(response.Data.Projects.SequenceEqual(expectedProfileInfo.Projects)); }
public async Task SetPasswordTest_ValidInfo() { UserDTO newUser = new UserDTO { Email = "*****@*****.**", Password = "******", FirstName = "Phoebe", LastName = "S." }; GenericResponseDTO <int> registerResponse = await authController.Register(newUser); Assert.IsTrue(registerResponse.Success); TestAuthHelpers.attachUserToContext(registerResponse.Data, controllers); GenericResponseDTO <AccessKeysDTO> loginResponse = await authController.Login(newUser); Assert.IsTrue(registerResponse.Success); PasswordChangeDTO passwordChangeInfo = new PasswordChangeDTO { CurrentPassword = "******", NewPassword = "******" }; GenericResponseDTO <int> changePasswordResponse = await profileController.SetPassword(passwordChangeInfo); Assert.IsTrue(changePasswordResponse.Success); User currentUser = await database.Users .AsNoTracking() .FirstOrDefaultAsync(user => user.Id == registerResponse.Data); Assert.IsTrue(authHelper.GetPasswordHash("Aero125", configuration).SequenceEqual(currentUser.Password)); loginResponse = await authController.Login(newUser); Assert.IsFalse(loginResponse.Success); passwordChangeInfo.CurrentPassword = "******"; passwordChangeInfo.NewPassword = "******"; changePasswordResponse = await profileController.SetPassword(passwordChangeInfo); Assert.IsTrue(changePasswordResponse.Success); currentUser = await database.Users .AsNoTracking() .FirstOrDefaultAsync(user => user.Id == registerResponse.Data); Assert.IsTrue(authHelper.GetPasswordHash("Aquarius13", configuration).SequenceEqual(currentUser.Password)); loginResponse = await authController.Login(newUser); Assert.IsTrue(loginResponse.Success); }
public async Task SetPasswordTest_IncorrectVerificationPassword() { UserDTO newUser = new UserDTO { Email = "*****@*****.**", Password = "******", FirstName = "Basther", LastName = "H." }; GenericResponseDTO <int> registerResponse = await authController.Register(newUser); Assert.IsTrue(registerResponse.Success); TestAuthHelpers.attachUserToContext(registerResponse.Data, controllers); GenericResponseDTO <AccessKeysDTO> loginResponse = await authController.Login(newUser); Assert.IsTrue(loginResponse.Success); PasswordChangeDTO passwordChangeInfo = new PasswordChangeDTO { CurrentPassword = "******", NewPassword = "******" }; GenericResponseDTO <int> changePasswordResponse = await profileController.SetPassword(passwordChangeInfo); Assert.IsFalse(changePasswordResponse.Success); User currentUser = await database.Users .AsNoTracking() .FirstOrDefaultAsync(user => user.Id == registerResponse.Data); Assert.IsFalse(authHelper.GetPasswordHash("oNe4thRee9seVen", configuration).SequenceEqual(currentUser.Password)); Assert.IsTrue(authHelper.GetPasswordHash("1fOur3niNe7", configuration).SequenceEqual(currentUser.Password)); loginResponse = await authController.Login(newUser); Assert.IsTrue(loginResponse.Success); }
public async Task SetPasswordTest_InvalidNewPassword() { UserDTO newUser = new UserDTO { Email = "*****@*****.**", Password = "******", FirstName = "Belford", LastName = "McAlister" }; GenericResponseDTO <int> registerResponse = await authController.Register(newUser); Assert.IsTrue(registerResponse.Success); TestAuthHelpers.attachUserToContext(registerResponse.Data, controllers); GenericResponseDTO <AccessKeysDTO> loginResponse = await authController.Login(newUser); Assert.IsTrue(loginResponse.Success); PasswordChangeDTO passwordChangeInfo = new PasswordChangeDTO { CurrentPassword = "******", NewPassword = "******" }; GenericResponseDTO <int> changePasswordResponse = await profileController.SetPassword(passwordChangeInfo); Assert.IsFalse(changePasswordResponse.Success); User currentUser = await database.Users .AsNoTracking() .FirstOrDefaultAsync(user => user.Id == registerResponse.Data); Assert.IsFalse(authHelper.GetPasswordHash("badpw", configuration).SequenceEqual(currentUser.Password)); Assert.IsTrue(authHelper.GetPasswordHash("sand_Boa13", configuration).SequenceEqual(currentUser.Password)); loginResponse = await authController.Login(newUser); Assert.IsTrue(loginResponse.Success); }