Example #1
0
        public void TestCreate()
        {
            // Arrange
            Initialize();
            var postItem4 = new PostPedido()
            {
                SolicitanteId = "0123-4567", Lanche = "Sanduíche de presunto", Bebida = "Fanta uva"
            };

            // Act
            var result       = _controller.Post(postItem4);
            var okResult     = (ObjectResult)result;
            var pedidoResult = (PedidoSummary)okResult.Value;

            var getResult   = _controller.GetAll();
            var getOkResult = (ObjectResult)getResult;
            var listResult  = (List <PedidoSummary>)getOkResult.Value;

            // Assert
            Assert.Equal(200, okResult.StatusCode);
            Assert.Equal(postItem4.Lanche, pedidoResult.Lanche);
            Assert.Equal(postItem4.Bebida, pedidoResult.Bebida);

            Assert.Equal(200, getOkResult.StatusCode);
            Assert.Equal(4, listResult.Count);
            Assert.Contains <PedidoSummary>((_res1 as ObjectResult).Value as PedidoSummary, listResult);
            Assert.Contains <PedidoSummary>((_res2 as ObjectResult).Value as PedidoSummary, listResult);
            Assert.Contains <PedidoSummary>((_res3 as ObjectResult).Value as PedidoSummary, listResult);
            Assert.Contains <PedidoSummary>(pedidoResult, listResult);
        }
Example #2
0
        private void Initialize()
        {
            if (_context == null)
            {
                _context    = new FastFoodContext();
                _repository = new PedidoRepository(_context);
                _service    = new PedidoService(_repository);
                _controller = new PedidosController(_service);

                postItem = new PostPedido()
                {
                    SolicitanteId = "0123-4567", Lanche = "Cheeseburger", Bebida = "Coquinha"
                };
                postItem2 = new PostPedido()
                {
                    SolicitanteId = "0123-4567", Lanche = "Cheeseburger", Bebida = "Pepsi"
                };
                postItem3 = new PostPedido()
                {
                    SolicitanteId = "0123-4567", Lanche = "X-Bacon", Bebida = "Guaraná"
                };
                _res1 = _controller.Post(postItem);
                _res2 = _controller.Post(postItem2);
                _res3 = _controller.Post(postItem3);
            }
        }
Example #3
0
        public void TestGetFilterBySolicitante()
        {
            // Arrange
            Initialize();
            var postItem4 = new PostPedido()
            {
                SolicitanteId = "0000-4567", Lanche = "Sanduíche de presunto", Bebida = "Fanta uva"
            };
            var _res4 = _controller.Post(postItem4);

            // Act
            var result1     = _controller.GetFiltered("0123-4567");
            var okResult1   = (ObjectResult)result1;
            var listResult1 = (List <PedidoSummary>)okResult1.Value;

            var result2     = _controller.GetFiltered("0000-4567");
            var okResult2   = (ObjectResult)result2;
            var listResult2 = (List <PedidoSummary>)okResult2.Value;


            // Assert
            Assert.Equal(200, okResult1.StatusCode);
            Assert.Equal(3, listResult1.Count);
            Assert.Contains <PedidoSummary>((_res1 as ObjectResult).Value as PedidoSummary, listResult1);
            Assert.Contains <PedidoSummary>((_res2 as ObjectResult).Value as PedidoSummary, listResult1);
            Assert.Contains <PedidoSummary>((_res3 as ObjectResult).Value as PedidoSummary, listResult1);

            Assert.Equal(200, okResult2.StatusCode);
            Assert.Equal(1, listResult2.Count);
            Assert.Contains <PedidoSummary>((_res4 as ObjectResult).Value as PedidoSummary, listResult2);
        }
        public PedidoSummary Create(PostPedido pedido)
        {
            var pedidos  = _pedidoRepository.RecoverAll();
            var maxValue = 0;

            foreach (Pedido pedidoItem in pedidos)
            {
                maxValue = maxValue < pedidoItem.Posicao ? pedidoItem.Posicao : maxValue;
            }
            var pedidoAddParam = pedido.ConvertToPedido(maxValue + 1);

            _pedidoRepository.Post(pedidoAddParam);
            _pedidoRepository.SaveChanges();
            return(pedidoAddParam.ConvertToSummary());
        }
 public IActionResult Post([FromBody] PostPedido pedido)
 {
     return(Ok(_pedidoService.Create(pedido)));
 }
Example #6
0
 public static Pedido ConvertToPedido(this PostPedido postPedido, int posicao) =>
 new Pedido(0, postPedido.SolicitanteId, posicao, postPedido.Lanche, postPedido.Bebida);