示例#1
0
        public async Task <IActionResult> Register([FromBody] ClientForRegisterDto clientForRegisterDto)
        {
            clientForRegisterDto.Email = clientForRegisterDto.Email.ToLower();

            if (await _repo.UserExists(clientForRegisterDto.Email))
            {
                ModelState.AddModelError("Email", "Client is already existing!");
            }

            //validate request
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            var clientToCreate = new ClientAccount
            {
                Email = clientForRegisterDto.Email
            };
            var createMail = await _repo.Register(clientForRegisterDto.FirstName, clientForRegisterDto.LastName, clientForRegisterDto.Address, clientForRegisterDto.PhoneNumber, clientToCreate, clientForRegisterDto.Password);


            return(StatusCode(201));
        }
示例#2
0
        public async Task <IActionResult> Register(ClientForRegisterDto clientForRegisterDto)
        {
            clientForRegisterDto.Username = clientForRegisterDto.Username.ToLower();

            if (await _repo.UserExists(clientForRegisterDto.Username))
            {
                return(BadRequest("Username already exists"));
            }

            var clientToCreate = _mapper.Map <Client>(clientForRegisterDto);
            var createdClient  = await _repo.Register(clientToCreate, clientForRegisterDto.Password);

            var clientToRet = _mapper.Map <ClientDetailedDto>(createdClient);

            return(CreatedAtRoute("GetClient", new { controller = "Clients", id = createdClient.Id },
                                  clientToRet));
            //return StatusCode(201);
        }
示例#3
0
        public async Task RegisterShouldReturnBadRequest_IfUserAlreadyExists()
        {
            // arrange
            var mockRepo            = new Mock <IAuthRepository>();
            var mockMapper          = new Mock <IMapper>();
            var mockConf            = new Mock <IConfiguration>();
            ClientForRegisterDto c1 = new ClientForRegisterDto {
                Username = "******"
            };

            mockRepo.Setup(repo => repo.UserExists(c1.Username)).ReturnsAsync(true);
            var controllerToTest = new AuthController(mockRepo.Object, mockConf.Object, mockMapper.Object);

            //act
            var res = await controllerToTest.Register(c1);

            //assert
            Assert.IsType <BadRequestObjectResult>(res);
        }
示例#4
0
        public async Task Register_ShouldReturnCreatedAtRoute_WhenUserNotExists()
        {
            // arrange
            var mockRepo            = new Mock <IAuthRepository>();
            var mockMapper          = new Mock <IMapper>();
            var mockConf            = new Mock <IConfiguration>();
            ClientForRegisterDto c1 = new ClientForRegisterDto {
                Username = "******"
            };
            Client c2 = new Client {
                Username = "******"
            };

            mockRepo.Setup(repo => repo.Register(It.IsAny <Client>(), It.IsAny <string>()))
            .ReturnsAsync(c2);
            var controllerToTest = new AuthController(mockRepo.Object, mockConf.Object, mockMapper.Object);

            // act
            var canRegister = await controllerToTest.Register(c1);

            // assert
            Assert.IsType <CreatedAtRouteResult>(canRegister);
        }
示例#5
0
        public async Task <IActionResult> Register(ClientForRegisterDto clientForRegisterDto)
        {
            // validate reguest

            clientForRegisterDto.Username = clientForRegisterDto.Username.ToLower();

            if (await _repo.UserExists(clientForRegisterDto.Username))
            {
                return(BadRequest("Username already exists"));
            }

            var clientToCreate = new Client
            {
                Username    = clientForRegisterDto.Username,
                PhoneNumber = clientForRegisterDto.PhoneNumber,
                Email       = clientForRegisterDto.Email,
                DateAdded   = DateTime.Now,
                Address     = clientForRegisterDto.Address
            };

            var createdClient = await _repo.Register(clientToCreate, clientForRegisterDto.Password);

            return(StatusCode(201));
        }