public async Task IsItPossibleToCreateNewUser() { var user = new Eager.User() { Username = "******", Password = "******", Email = "*****@*****.**" }; var content = new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8, "application/json"); var userBadData = new Eager.User() { Username = "", Password = "******", Email = "post@user" }; var contentBadData = new StringContent(JsonConvert.SerializeObject(userBadData), Encoding.UTF8, "application/json"); var unauthResponse = await DefaultClient.PostAsync("api/Users", content); Assert.Equal(HttpStatusCode.Unauthorized, unauthResponse.StatusCode); var badResponse = await AuthorizedClient.PostAsync("api/Users", contentBadData); Assert.Equal(HttpStatusCode.BadRequest, badResponse.StatusCode); var response = await AuthorizedClient.PostAsync("api/Users", content); var responseContent = await response.Content.ReadAsStringAsync(); Assert.Equal(HttpStatusCode.Created, response.StatusCode); }
public async Task <IActionResult> Put([FromBody] Eager.User user) { if (!user.Id.HasValue) { return(BadRequest()); } if (!_userRepository.Exists(user.Id.Value)) { return(NoContent()); } var userMapped = _mapper.Map <Models.User>(user); var validationErrors = UserValidator.OnUserCreateValidation(userMapped); if (validationErrors.Any()) { return(BadRequest(validationErrors)); } await _userRepository.Update(userMapped); return(Ok()); }
public async Task <IActionResult> Post([FromBody] Eager.User user) { var userMapped = _mapper.Map <Models.User>(user); var validationErrors = UserValidator.OnUserCreateValidation(userMapped); if (validationErrors.Any()) { return(BadRequest(validationErrors)); } userMapped.Password = SHA.GenerateSHA256String(userMapped.Password); var userCreated = await _userRepository.Create(userMapped); return(Created($"{this.Request.Scheme}://{this.Request.Host}/api/Users/{userCreated.Id}", null)); }
public async Task IsUpdatingUserPossible() { var users = userRepository.GetAllUsers().Result; var goodData = new Eager.User { Id = sampleUser.Id, Username = "******", Password = "******", Email = "*****@*****.**" }; var badData = new Eager.User { Username = "", Password = "******", Email = "user@put" }; var contentGoodData = new StringContent(JsonConvert.SerializeObject(goodData), Encoding.UTF8, "application/json"); var contentBadData = new StringContent(JsonConvert.SerializeObject(badData), Encoding.UTF8, "application/json"); badData.Id = Guid.NewGuid(); var contentUnknownId = new StringContent(JsonConvert.SerializeObject(badData), Encoding.UTF8, "application/json"); var unauthResponse = await DefaultClient.PutAsync("api/Users", contentGoodData); Assert.Equal(HttpStatusCode.Unauthorized, unauthResponse.StatusCode); var badResponse = await AuthorizedClient.PutAsync("api/Users", contentBadData); Assert.Equal(HttpStatusCode.BadRequest, badResponse.StatusCode); var noContentResponse = await AuthorizedClient.PutAsync($"api/Users", contentUnknownId); Assert.Equal(HttpStatusCode.NoContent, noContentResponse.StatusCode); var goodResponse = await AuthorizedClient.PutAsync("api/Users", contentGoodData); Assert.Equal(HttpStatusCode.OK, goodResponse.StatusCode); }