Example #1
0
        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));
            }
        }
Example #2
0
        public async Task <BatchDTO> Create(BatchForCreate batch)
        {
            var entity        = _mapper.Map <BatchEntity>(batch);
            var createdEntity = await _batchesRepository.Create(entity);

            return(_mapper.Map <BatchDTO>(createdEntity));
        }
Example #3
0
        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);
            }
        }
Example #4
0
        public async Task <IActionResult> Post([FromBody] BatchForCreate batch)
        {
            var created = await _batchesService.Create(batch);

            return(CreatedAtAction("GetBatch", new { id = created.Id }, created));
        }