public async Task <ActionResult> GetInmate([FromBody] InmateUpdateRequest inmateUpdateRequest) { _logger.LogInformation("I just got a GetInmate request for {inmateId}", inmateUpdateRequest.Id); await _inmateCrudService.UpdateInmate(inmateUpdateRequest); return(Ok()); }
public async Task UpdateInmate(InmateUpdateRequest inmateUpdateRequest) { var inmate = await GetInmate(inmateUpdateRequest.Id); inmate.Name = inmateUpdateRequest.Name ?? inmate.Name; inmate.SizeInOz = inmateUpdateRequest.SizeInOz ?? inmate.SizeInOz; inmate.HappinessLevelId = inmateUpdateRequest.HappinessLevel != null ? (int)inmateUpdateRequest.HappinessLevel.Value : inmate.HappinessLevelId; inmate.HungerLevelId = inmateUpdateRequest.HungerLevel != null ? (int)inmateUpdateRequest.HungerLevel.Value : inmate.HungerLevelId; inmate.ArrestLocationId = inmateUpdateRequest.ArrestLocation != null ? (int)inmateUpdateRequest.ArrestLocation.Value : inmate.ArrestLocationId; inmate.TimeServedInMonths = inmateUpdateRequest.TimeServedInMonths ?? inmate.TimeServedInMonths; _dbContext.Update(inmate); await _dbContext.SaveChangesAsync(); }
public async Task UpdateInmateWorksCorrectly() { var request = new InmateUpdateRequest { Name = "Fake Name" }; _mockCrudService.Setup(x => x.UpdateInmate(request)).Returns(Task.CompletedTask); var servicesToInject = new List <(Type InterfaceToMatch, object Implementation)> { (typeof(IInmateCrudService), _mockCrudService.Object) }; var fakeApi = _apiFactory.BuildClient(servicesToInject); var byteContent = ConvertObjectToJsonBytes(request); var endpoint = "api/InmateCrud/UpdateInmate"; var response = await fakeApi.PatchAsync(endpoint, byteContent); Assert.Equal(HttpStatusCode.OK, response.StatusCode); }