Ejemplo n.º 1
0
        public IActionResult Create([FromBody] User user)
        {
            if (_userQueryables.GetByUsername(user.Username) != null)
            {
                return(Ok("The username has been taken"));
            }
            if (_userQueryables.GetByMail(user.Email) != null)
            {
                return(Ok("There is already a User with that Mail"));
            }

            _createUserCommandHandler.ExecuteAsync(new CreateUserCommand(user));
            _unitOfWork.Complete();
            return(Ok());
        }
Ejemplo n.º 2
0
        public void UserController_Create_IUnitOfWork(
            [Frozen] IUnitOfWork unitOfWork,
            [Frozen] IUserQueryables userQueryables,
            User user,
            UserController userController)
        {
            //Information
            A.CallTo(() => userQueryables.GetByUsername(A <string> .Ignored)).Returns(null);
            A.CallTo(() => userQueryables.GetByMail(A <string> .Ignored)).Returns(null);

            //Act
            userController.Create(user);

            //Test
            A.CallTo(() => unitOfWork.Complete())
            .MustHaveHappenedOnceExactly();
        }
Ejemplo n.º 3
0
        public void UserController_Create_createUserCommandHandler(
            [Frozen] ICommandHandler <CreateUserCommand> createUserCommandHandler,
            [Frozen] IUserQueryables userQueryables,
            User user,
            UserController userController)
        {
            //Information
            A.CallTo(() => userQueryables.GetByUsername(A <string> .Ignored)).Returns(null);
            A.CallTo(() => userQueryables.GetByMail(A <string> .Ignored)).Returns(null);
            //Act
            userController.Create(user);

            //Test
            A.CallTo(() => createUserCommandHandler
                     .ExecuteAsync(A <CreateUserCommand> .Ignored))
            .MustHaveHappened();
        }
Ejemplo n.º 4
0
        public void UserController_Create_WithAlreadyExistingEmail(
            [Frozen] IUnitOfWork unitOfWork,
            [Frozen] IUserQueryables userQueryables,
            UserDto userDto,
            User user,
            UserController userController)
        {
            //Information
            A.CallTo(() => userQueryables.GetByUsername(A <string> .Ignored)).Returns(userDto);
            A.CallTo(() => userQueryables.GetByMail(A <string> .Ignored)).Returns(null);

            //Act
            userController.Create(user);

            //Test
            A.CallTo(() => unitOfWork.Complete())
            .MustNotHaveHappened();
        }