예제 #1
0
        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);
            }
        }
예제 #2
0
        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));
        }
예제 #3
0
        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));
        }