public async Task Test4Put() { AbilityMutateModel mutateModel = new AbilityMutateModel { Name = "TestMetaUpdated", Description = "This is a meta created by the unit test" }; AbilitiesController controller = new AbilitiesController(_context, null); IActionResult result = await controller.Put(this.id, mutateModel); NoContentResult ok = result as NoContentResult; Assert.NotNull(ok); Assert.Equal(204, ok.StatusCode); }
public async Task <IActionResult> Put([FromRoute] Guid id, [FromBody] AbilityMutateModel abilityMutate) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Ability ability = await this.abilitiesRepository.GetOne(id); if (ability == null || id != ability.Id) { return(BadRequest()); } if (!string.IsNullOrEmpty(abilityMutate.Name)) { ability.Name = abilityMutate.Name; } if (abilityMutate.Description != null) { ability.Description = abilityMutate.Description; } ability.UpdatedAt = abilityMutate.UpdatedAt; try { await this.abilitiesRepository.UpdateAsync(ability); } catch (DbUpdateConcurrencyException) { if (!await this.abilitiesRepository.EntityExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }