public async void Should_Update_Existing_Batch() { using (var client = new TestClientProvider <TestStartup>().Client) { var updateBatch = new BatchForUpdate { FruitId = SeedData.RaspberryErikaFruit.Id, VarietyId = SeedData.RaspberryErikaFruit.Variety.Id, Quantity = 25 }; var json = JsonConvert.SerializeObject(updateBatch); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PutAsync($"/api/batches/{SeedData.FirstBatch.Id}", content); response.StatusCode.Should().Be(HttpStatusCode.Created); var batch = JsonConvert.DeserializeObject <BatchDTO>(response.Content.ReadAsStringAsync().Result); Assert.Equal(SeedData.FirstBatch.Id, batch.Id); Assert.Equal(updateBatch.FruitId, batch.FruitId); Assert.Equal(updateBatch.VarietyId, batch.VarietyId); Assert.Equal(updateBatch.Quantity, batch.Quantity); } }
public async Task <BatchDTO> Update(int id, BatchForUpdate batch) { var entity = _mapper.Map <BatchEntity>(batch); entity.Id = id; var updatedEntity = await _batchesRepository.Update(id, entity); return(_mapper.Map <BatchDTO>(updatedEntity)); }
public async Task <IActionResult> Put(int id, [FromBody] BatchForUpdate batch) { var updated = await _batchesService.Update(id, batch); return(CreatedAtAction("GetBatch", new { id = updated.Id }, updated)); }