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)); }
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); }
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); }
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); }
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)); }