public async Task PossivelRetornoUpdated() { var serviceMock = new Mock <IUserService>(); var nome = Faker.Name.FullName(); var email = Faker.Internet.Email(); serviceMock.Setup(m => m.Put(It.IsAny <UseDtoUpdate>())) .ReturnsAsync( new UseDtoUpdateResult { Id = Guid.NewGuid(), Name = nome, Email = email, UpdateAt = DateTime.UtcNow } ); _controller = new UsersController(serviceMock.Object); var useDtoUpdate = new UseDtoUpdate { Id = Guid.NewGuid(), Name = nome, Email = email }; var result = await _controller.Put(useDtoUpdate); Assert.True(result is OkObjectResult); UseDtoUpdateResult useDtoUpdateResult = ((OkObjectResult)result).Value as UseDtoUpdateResult; Assert.NotNull(useDtoUpdateResult); Assert.Equal(useDtoUpdate.Name, useDtoUpdateResult.Name); Assert.Equal(useDtoUpdate.Email, useDtoUpdateResult.Email); }
public async Task ErroBadRequest() { var serviceMock = new Mock <IUserService>(); var nome = Faker.Name.FullName(); var email = Faker.Internet.Email(); serviceMock.Setup(m => m.Put(It.IsAny <UseDtoUpdate>())) .ReturnsAsync( new UseDtoUpdateResult { Id = Guid.NewGuid(), Name = nome, Email = email, UpdateAt = DateTime.UtcNow } ); _controller = new UsersController(serviceMock.Object); _controller.ModelState.AddModelError("Email", "Email obrigatorio"); var useDtoUpdate = new UseDtoUpdate { Id = Guid.NewGuid(), Name = nome, Email = email, }; var result = await _controller.Put(useDtoUpdate); Assert.True(result is BadRequestObjectResult); Assert.False(_controller.ModelState.IsValid); }
public async Task <UseDtoUpdateResult> Put(UseDtoUpdate user) { var model = _mapper.Map <UserModel>(user); var entity = _mapper.Map <UserEntity>(model); var result = await _repository.UpdateAsync(entity); return(_mapper.Map <UseDtoUpdateResult>(result)); }
public UsuarioTeste() { IdUsuario = Guid.NewGuid(); NomeUsuario = Faker.Name.FullName(); EmailUsuario = Faker.Internet.Email(); NomeUsuarioAlterado = Faker.Name.FullName(); EmailUsuarioAlterado = Faker.Internet.Email(); for (int i = 0; i < 20; i++) { var dto = new UseDto() { Id = Guid.NewGuid(), Name = Faker.Name.FullName(), Email = Faker.Internet.Email() }; listaUserDto.Add(dto); } useDto = new UseDto { Id = IdUsuario, Name = NomeUsuario, Email = EmailUsuario }; useDtoCreate = new UseDtoCreate { Name = NomeUsuario, Email = EmailUsuario }; useDtoCreateResult = new UseDtoCreateResult { Id = IdUsuario, Name = NomeUsuario, Email = EmailUsuario, CreateAt = DateTime.UtcNow }; useDtoUpdate = new UseDtoUpdate { Id = IdUsuario, Name = NomeUsuarioAlterado, Email = EmailUsuarioAlterado }; useDtoUpdateResult = new UseDtoUpdateResult { Id = IdUsuario, Name = NomeUsuarioAlterado, Email = EmailUsuarioAlterado, UpdateAt = DateTime.UtcNow }; }
public async Task <ActionResult> Put([FromBody] UseDtoUpdate user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var result = await _service.Put(user); if (result != null) { return(Ok(result)); } else { return(BadRequest()); } } catch (ArgumentException e) { return(StatusCode((int)HttpStatusCode.InternalServerError, e.Message)); } }
public async Task RealizarCrudUsuario() { await AdicionarToken(); _name = Faker.Name.FullName(); _email = Faker.Internet.Email(); var useDto = new UseDtoCreate() { Name = _name, Email = _email }; var response = await PostJsonAsync(useDto, $"{hostApi}Users", client); var postResult = await response.Content.ReadAsStringAsync(); var registroPost = JsonConvert.DeserializeObject <UseDtoCreateResult>(postResult); Assert.Equal(HttpStatusCode.Created, response.StatusCode); Assert.Equal(_email, registroPost.Email); Assert.Equal(_name, registroPost.Name); Assert.True(registroPost.Id != default(Guid)); response = await client.GetAsync($"{hostApi}Users"); Assert.Equal(HttpStatusCode.OK, response.StatusCode); var jsonResult = await response.Content.ReadAsStringAsync(); var listFromJson = JsonConvert.DeserializeObject <IEnumerable <UseDto> >(jsonResult); Assert.NotNull(listFromJson); Assert.True(listFromJson.Count() > 0); Assert.True(listFromJson.Where(r => r.Id == registroPost.Id).Count() == 1); var useDtoUpdate = new UseDtoUpdate { Id = registroPost.Id, Name = Faker.Name.FullName(), Email = Faker.Internet.Email() }; var stringContent = new StringContent(JsonConvert.SerializeObject(useDtoUpdate), Encoding.UTF8, "application/json"); response = await client.PutAsync($"{hostApi}Users", stringContent); jsonResult = await response.Content.ReadAsStringAsync(); var registroAtualizado = JsonConvert.DeserializeObject <UseDtoUpdateResult>(jsonResult); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotEqual(registroPost.Name, registroAtualizado.Name); Assert.NotEqual(registroPost.Email, registroAtualizado.Email); response = await client.GetAsync($"{hostApi}Users/{registroAtualizado.Id}"); Assert.Equal(HttpStatusCode.OK, response.StatusCode); jsonResult = await response.Content.ReadAsStringAsync(); var registroSelecionado = JsonConvert.DeserializeObject <UseDto>(jsonResult); Assert.NotNull(registroSelecionado); Assert.Equal(registroSelecionado.Name, registroAtualizado.Name); Assert.Equal(registroSelecionado.Email, registroAtualizado.Email); response = await client.DeleteAsync($"{hostApi}Users/{registroSelecionado.Id}"); Assert.Equal(HttpStatusCode.OK, response.StatusCode); response = await client.GetAsync($"{hostApi}Users/{registroSelecionado .Id}"); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }