예제 #1
0
        public void Testar_ProdutoHandler()
        {
            MensagemConsumo mensagem  = (MensagemConsumo)_produtoMock.mensagens[0];
            var             comando   = new GravarProdutoCommand(mensagem);
            var             handler   = new ProdutoHandler(_produtoRepositorio);
            var             resultado = (CommandResult)handler.Handle(comando);

            Assert.IsTrue(resultado.Sucesso);
        }
예제 #2
0
        public void InserirProdutos_Handler()
        {
            var produto = new Produto()
            {
                Descricao    = "Teclado",
                FabricanteId = Guid.Parse("431424A3-5734-412F-8DFC-E6A906F19AD8"),
                Preco        = 2
            };

            var produtoHandler = new ProdutoHandler(_produtoRepository, new SqlHelper(_context));

            try
            {
                produtoHandler.Create(produto);
                Assert.Fail();
            }
            catch (Exception) { }

            var produto2 = new Produto()
            {
                Id           = Guid.Parse("0CCB09A2-297A-4587-906D-9BC4416BA7C8"),
                Descricao    = "Panetone",
                FabricanteId = Guid.Parse("083AE12D-C6AF-49D0-92F9-A54C89A9C307"),
                Preco        = 0
            };

            try
            {
                produtoHandler.Create(produto2);
                Assert.Fail();
            }
            catch (Exception) { }

            produto2.Preco = 12.90;

            produtoHandler.Create(produto2);
            _context.SaveChanges();
            Assert.IsTrue(true);
        }
 public ProdutoController(IUnitOfWork unitOfWork, ProdutoHandler produtoHandler, ProdutoQuery query) : base(unitOfWork)
 {
     _produtoHandler = produtoHandler;
     _query          = query;
 }
예제 #4
0
        public IActionResult Apagar([FromServices] ProdutoHandler handler, [FromBody] ApagarProdutoCommand command)
        {
            var result = handler.Handle(command);

            return(result.Success ? (IActionResult)Accepted(result) : BadRequest(result));
        }
예제 #5
0
        public IActionResult Atualizar([FromServices] ProdutoHandler handler, [FromBody] AtualizarProdutoCommand command)
        {
            var result = handler.Handle(command);

            return(result.Success ? (IActionResult)Ok(result) : UnprocessableEntity(result));
        }
예제 #6
0
        public IActionResult Registrar([FromServices] ProdutoHandler handler, [FromBody] RegistrarProdutoCommand command)
        {
            var result = handler.Handle(command);

            return(result.Success ? (IActionResult)Created(nameof(ObterProduto), result) : UnprocessableEntity(result));
        }