public void ReturnNewUser(string userName) { var result = sutBuilder.BuildUser(userName); Assert.That(result, Is.AssignableTo <IUser>()); Assert.That(result.UserName, Is.EqualTo(userName)); }
public HttpResponseMessage Register(JObject userObject) { IList <string> errorMessages; if (!_userDraftValidationService.IsValid(userObject, out errorMessages)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, errorMessages)); } var userDraft = userObject.ToObject <UserDraft>(); string[] logins = { userDraft.email, userDraft.userName, userDraft.mobilePhone }; try { _userService.CheckIfUserExistByLogin(logins); } catch (UserAlreadyExistException ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message)); } var userBuilder = new UserBuilder(); var user = userBuilder.BuildUser(userDraft); if (!_registrationService.TryRegisterUser(user)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "User with this email already exist")); } _confirmationSenderService.SendConfirmation(userDraft.email, ConfirmationCodeType.EmailConfirmation); return(Request.CreateResponse(HttpStatusCode.OK, "Registration has complete. Email with confirmation code was sended on your email address. Please, confirm you address to login in system.")); }
protected override void Before_all_specs() { SetupDatabase(ShopGunSpecBase.Database.ShopGun, typeof(Base).Assembly); _statisticsDomainService = new StatisticsDomainService(new Repository <Brand>(GetNewDataContext()), new Repository <Company>(GetNewDataContext()), new Repository <Country>(GetNewDataContext()), new Repository <Product>(GetNewDataContext()), new Repository <Ingredient>(GetNewDataContext()), new Repository <Concept>(GetNewDataContext()), new Repository <AdviceBase>(GetNewDataContext())); _productBuilder = new ProductBuilder(); _product = ProductBuilder.BuildProduct(); _user = UserBuilder.BuildUser(); using (var dataContext = GetNewDataContext()) { dataContext.GetTable <Product>().InsertOnSubmit(_product); dataContext.GetTable <User>().InsertOnSubmit(_user); dataContext.SubmitChanges(); } _searchResultMessageEntity = new SearchResultMessageEntity { Products = new List <Product> { _product } }; base.Before_all_specs(); }
public void AddUserTest() { var userBuilder = new UserBuilder(); var randomUserDraftGenerator = new RandomUserDraftGenerator(); var userDraft = randomUserDraftGenerator.GenerateUserDraft(); var user = userBuilder.BuildUser(userDraft); var registrationService = _container.GetInstance <RegistrationService>(); registrationService.RegisterUser(user); var addedUser = _userManager.GetUserByLogin(userDraft.userName); Assert.AreEqual(user.DateOfBirth.ToString(), addedUser.DateOfBirth.ToString()); Assert.AreEqual(user.FirstName, addedUser.FirstName); Assert.AreEqual(user.LastName, addedUser.LastName); Assert.AreEqual(user.UserName, addedUser.UserName); Assert.AreEqual(user.Address.Country, addedUser.Address.Country); Assert.AreEqual(user.Address.City, addedUser.Address.City); Assert.AreEqual(user.Address.State, addedUser.Address.State); Assert.AreEqual(user.Address.Zipcode, addedUser.Address.Zipcode); Assert.AreSame(addedUser.Address.User, addedUser); Assert.IsNotNull(addedUser.MobilePhone); Assert.AreEqual(user.MobilePhone.Value, addedUser.MobilePhone.Value); Assert.AreEqual(user.MobilePhone.IsConfirmed, addedUser.MobilePhone.IsConfirmed); Assert.AreSame(addedUser.MobilePhone.User, addedUser); Assert.IsNotNull(addedUser.Emails[0]); Assert.AreEqual(user.Emails[0].Value, addedUser.Emails[0].Value); Assert.AreEqual(user.Emails[0].IsConfirmed, addedUser.Emails[0].IsConfirmed); Assert.AreSame(addedUser.Emails[0].User, addedUser); Assert.IsNotNull(addedUser.Credentials); Assert.IsNotNull(addedUser.Credentials.Logins); Assert.AreEqual(user.Credentials.Logins.Find(x => x.Type == LoginType.Email).Value, addedUser.Emails[0].Value); Assert.AreSame(addedUser.Credentials.Logins.Find(x => x.Type == LoginType.Email).Credentials, addedUser.Credentials); Assert.AreEqual(user.Credentials.Logins.Find(x => x.Type == LoginType.MobilePhone).Value, addedUser.MobilePhone.Value); Assert.AreSame(addedUser.Credentials.Logins.Find(x => x.Type == LoginType.MobilePhone).Credentials, addedUser.Credentials); Assert.AreEqual(user.Credentials.Logins.Find(x => x.Type == LoginType.Username).Value, addedUser.UserName); Assert.AreSame(addedUser.Credentials.Logins.Find(x => x.Type == LoginType.Username).Credentials, addedUser.Credentials); Assert.IsNotNull(addedUser.Credentials.Passwords); Assert.AreEqual(addedUser.Credentials.Passwords.Count, 1); Assert.AreEqual(user.Credentials.Passwords[0].Value, addedUser.Credentials.Passwords[0].Value); Assert.AreEqual(user.Credentials.Passwords[0].IsActive, addedUser.Credentials.Passwords[0].IsActive); Assert.IsNotNull(addedUser.Credentials.Passwords[0].ExpirationDate); Assert.AreSame(addedUser.Credentials.Passwords[0].Credentials, addedUser.Credentials); Assert.AreEqual(addedUser.Credentials.User, addedUser); Assert.IsNotNull(addedUser.UserRoles); Assert.AreEqual(addedUser.UserRoles.Count, 1); Assert.AreEqual(user.UserRoles[0].Name, addedUser.UserRoles[0].Name); }
public void Initialize() { _container = new Container(); _container.Register <BookLibraryContext, BookLibraryContext>(Lifestyle.Singleton); _container.Register <IUserManager, UserManager>(Lifestyle.Singleton); _container.Register <IConfirmationCodeManager, ConfirmationCodeManager>(Lifestyle.Singleton); _container.Register <IEmailManager, EmailManager>(Lifestyle.Singleton); _container.Register <IPasswordPolicy, PasswordPolicy>(); _container.Register <ICodeValidationRule, CodeValidationRule>(); _container.Register <IConfirmationCodeService, ConfirmationCodeService>(); _container.Register <IEmailConfirmationService, EmailConfirmationService>(); _container.Register <IConfirmationSenderService, ConfirmationSenderService>(); _container.Register <IPasswordHasher, PasswordHasher>(); _container.Register <ICodeGenerator, CodeGenerator>(); _container.Register <INotificationTransportService, NotificationTransportService>(); _context = _container.GetInstance <BookLibraryContext>(); var userBuilder = new UserBuilder(); _userManager = _container.GetInstance <UserManager>(); _confirmationCodeManager = _container.GetInstance <ConfirmationCodeManager>(); _emailManager = _container.GetInstance <EmailManager>(); var confirmationSenderService = _container.GetInstance <ConfirmationSenderService>(); var randomUserDraftGenerator = new RandomUserDraftGenerator(); var userDraft = randomUserDraftGenerator.GenerateUserDraft(); var user = userBuilder.BuildUser(userDraft); user.Emails[0].IsConfirmed = true; user.ChangeEmailTo(userDraft.email); var registrationService = _container.GetInstance <RegistrationService>(); registrationService.RegisterUser(user); confirmationSenderService.SendConfirmation(user.Email, ConfirmationCodeType.EmailConfirmation); confirmationSenderService.SendConfirmation(user.Email, ConfirmationCodeType.EmailConfirmation); _context.Codes.ToList()[1].IsActive = false; confirmationSenderService.SendConfirmation(user.Email, ConfirmationCodeType.EmailConfirmation); _context.Codes.ToList()[2].ExpirationDate = new DateTimeOffset(1971, 1, 1, 0, 0, 0, 0, TimeSpan.Zero); _context.SaveChanges(); }
public void WhenTheUserExecutesAGETUserCall() { var userDTO = UserBuilder.BuildUser(); var result = RESTHelpers.GETRequestAsync <UserResponseDTO>( ConfigurationManager.AppSettings["URL"], ConfigurationManager.AppSettings["UserResource"], HeaderBuilder.BuildHeader(), ConfigurationManager.AppSettings["UserName"], ConfigurationManager.AppSettings["Password"]).Result; context.Add("UserDTO", userDTO); context.Add("UserResponseDTO", result); }
public HttpResponseMessage UpdateUser(HttpRequestMessage request, JObject userObject) { if (request.Headers.Authorization == null || !_jwtService.ValidateToken(request.Headers.Authorization.Scheme)) { return(Request.CreateResponse(HttpStatusCode.Forbidden, "Not authorized!")); } IList <string> errorMessages; if (!_userDraftValidationService.IsValid(userObject, out errorMessages)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, errorMessages)); } var userDraft = userObject.ToObject <UserDraft>(); var tokenValue = request.Headers.Authorization.Scheme; var userId = _jwtService.GetUserIdFromToken(tokenValue); var token = _jwtService.CreateToken(userId); var userBuilder = new UserBuilder(); var updatedUser = userBuilder.BuildUser(userDraft); var userToUpdate = _userService.GetUserByLogin(updatedUser.Emails.First().Value); if (userToUpdate.UserName != updatedUser.UserName) { string[] logins = { userDraft.userName }; try { _userService.CheckIfUserExistByLogin(logins); } catch (UserAlreadyExistException ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { message = ex.Message, token = token })); } } if (userToUpdate.MobilePhone.Value != updatedUser.MobilePhone.Value) { string[] logins = { userDraft.mobilePhone }; try { _userService.CheckIfUserExistByLogin(logins); } catch (UserAlreadyExistException ex) { return(Request.CreateResponse(HttpStatusCode.BadRequest, new { message = ex.Message, token = token })); } } User user = _userService.UpdateUser(userToUpdate, updatedUser); var userDTO = new UserDTO() { Id = user.UserId, FirstName = user.FirstName, LastName = user.LastName, UserName = user.UserName, Email = user.Email, MobilePhone = user.MobilePhone.Value, DateOfBirth = (int)user.DateOfBirth.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds, Country = user.Address.Country, State = user.Address.State, City = user.Address.City, Zipcode = user.Address.Zipcode, AddressLine = user.Address.AddressLine, Roles = user.UserRoles.Select(x => x.Name).ToArray() }; return(Request.CreateResponse(HttpStatusCode.OK, new { user = userDTO, token = token })); }