public async Task Should_Return_Fourth_Stock() { using (var client = new TestClientProvider <TestStartup>().Client) { var createBatch = new BatchForCreate { FruitId = SeedData.RaspberryTestFruit.Id, VarietyId = SeedData.RaspberryTestFruit.Variety.Id, Quantity = 20 }; var json = JsonConvert.SerializeObject(createBatch); var content = new StringContent(json, Encoding.UTF8, "application/json"); var responseCreate = await client.PostAsync("/api/batches", content); responseCreate.StatusCode.Should().Be(HttpStatusCode.Created); var response = await client.GetAsync("/api/stocks"); response.StatusCode.Should().Be(HttpStatusCode.OK); var stocks = JsonConvert.DeserializeObject <List <StockDTO> >(response.Content.ReadAsStringAsync().Result); Assert.Collection(stocks, dto => Assert.Equal(15, dto.Quantity), dto => Assert.Equal(22, dto.Quantity), dto => Assert.Equal(10, dto.Quantity), dto => Assert.Equal(20, dto.Quantity)); } }
public async Task <BatchDTO> Create(BatchForCreate batch) { var entity = _mapper.Map <BatchEntity>(batch); var createdEntity = await _batchesRepository.Create(entity); return(_mapper.Map <BatchDTO>(createdEntity)); }
public async Task Should_Create_New_Batch() { using (var client = new TestClientProvider <TestStartup>().Client) { var createBatch = new BatchForCreate { FruitId = SeedData.RaspberryAmiraFruit.Id, VarietyId = SeedData.AmiraVariety.Id, Quantity = 20 }; var json = JsonConvert.SerializeObject(createBatch); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("/api/batches", content); response.StatusCode.Should().Be(HttpStatusCode.Created); var batch = JsonConvert.DeserializeObject <BatchDTO>(response.Content.ReadAsStringAsync().Result); Assert.Equal(createBatch.FruitId, batch.FruitId); Assert.Equal(createBatch.VarietyId, batch.VarietyId); Assert.Equal(createBatch.Quantity, batch.Quantity); } }
public async Task <IActionResult> Post([FromBody] BatchForCreate batch) { var created = await _batchesService.Create(batch); return(CreatedAtAction("GetBatch", new { id = created.Id }, created)); }