Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        public void UserAppService_CreateUser_NotLoggedIn()
        {
            Session session = SessionFactory.NewSession();

            UserSignUpDtoInput input = UserFactory.NewSignUpDtoInputForAdmin();

            Assert.Throws <NotLoggedInException>(() => _userAppService.CreateUser(session.Token, input));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
            });
        }
Exemplo n.º 5
0
        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);
            });
        }
Exemplo n.º 6
0
        public UserSignUpDtoOutput SignUpUser(UserSignUpDtoInput user)
        {
            string token = Utillities.GetAuthTokenOrNullIfException(Request);

            return(_userAppService.CreateUser(token, user));
        }