public UserSignUpDtoOutput CreateUser(string token, UserSignUpDtoInput userDto) { User newUser; if (token != null) { VerifyCredentialsForUserCreation(token); newUser = GlobalFactory.User(userDto.Role) as User; } else { newUser = GlobalFactory.User(typeof(User).Name) as User; } _objectMapper.Map(userDto, newUser); if (!newUser.IsValid()) { throw new ModelValidationException(_objectMapper.Map <List <ValidationErrorDto> >(newUser.GetValidationErrors())); } _userRepository.Insert(newUser); SaveChanges(); return(_objectMapper.Map <UserSignUpDtoOutput>(newUser)); }
public void UserAppService_CreateUser_NotLoggedIn() { Session session = SessionFactory.NewSession(); UserSignUpDtoInput input = UserFactory.NewSignUpDtoInputForAdmin(); Assert.Throws <NotLoggedInException>(() => _userAppService.CreateUser(session.Token, input)); }
public void UserAppService_CreateUser_Unauthorized() { Session session = SessionFactory.NewSession(); session.User = UserFactory.NewUser(); UsingDbContext(context => context.Sessions.Add(session)); UserSignUpDtoInput input = UserFactory.NewSignUpDtoInputForAdmin(); Assert.Throws <ForbiddenAccessException>(() => _userAppService.CreateUser(session.Token, input)); }
public void UserAppService_CreateUser_UserRegistration() { UserSignUpDtoInput input = UserFactory.NewSignUpDtoInputForAdmin(); UserSignUpDtoOutput output = _userAppService.CreateUser(null, input); string expectedRole = typeof(User).Name; Assert.Equal(expectedRole, output.Role); UsingDbContext(context => { User user = context.Users.FirstOrDefault(u => u.Id == output.Id); Assert.Equal(output.Username, user?.Username); }); }
public void UserAppService_CreateUser_Successful() { Session session = SessionFactory.NewSession(); session.User = UserFactory.NewAdmin(); UsingDbContext(context => context.Sessions.Add(session)); UserSignUpDtoInput input = UserFactory.NewSignUpDtoInputForAdmin(); input.Username += input.Username; UserSignUpDtoOutput output = _userAppService.CreateUser(session.Token, input); Assert.Equal(input.Role, output.Role); UsingDbContext(context => { Admin admin = context.Users.FirstOrDefault(u => u.Id == output.Id) as Admin; Assert.Equal(output.Username, admin?.Username); }); }
public UserSignUpDtoOutput SignUpUser(UserSignUpDtoInput user) { string token = Utillities.GetAuthTokenOrNullIfException(Request); return(_userAppService.CreateUser(token, user)); }