public IHttpActionResult Add(NotaFiscalAdicionarComando comando) { var validador = comando.RealizarValidacaoDoComando(); if (!validador.IsValid) { return(HandleValidationFailure(validador.Errors)); } return(HandleCallback(() => _notaFiscalServico.Adicionar(comando))); }
public void NotaFiscal_Aplicacao_Adicionar_Sucesso() { long idValidoDaNota = 1; Mock <NotaFiscalAdicionarComando> _mockNotaFiscalAdicionarComando = new Mock <NotaFiscalAdicionarComando>(); _mockNotaFiscal.Setup(mnf => mnf.Id).Returns(idValidoDaNota); _mockNotaFiscalRepositorio.Setup(nfr => nfr.Adicionar(It.IsAny <NotaFiscal>())).Returns(_mockNotaFiscal.Object.Id); _mockProdutoNotaFiscalRepositorio.Setup(mpnfr => mpnfr.Adicionar(_mockProdutoNotaFiscal.Object)); _mockListaDeProdutoNotaFiscal.Object.Add(_mockProdutoNotaFiscal.Object); _mockProdutoNotaFiscal.Setup(mpnf => mpnf.NotaFiscal.Id).Returns(idValidoDaNota); _mockNotaFiscal.Setup(mnf => mnf.Produtos).Returns(_mockListaDeProdutoNotaFiscal.Object); long idEsperado = _servicoNotaFiscal.Adicionar(_mockNotaFiscalAdicionarComando.Object); idEsperado.Should().Be(idValidoDaNota); _mockNotaFiscalRepositorio.Verify(nfr => nfr.Adicionar(It.IsAny <NotaFiscal>())); _mockNotaFiscalRepositorio.VerifyNoOtherCalls(); }
public void NotaFiscal_Aplicacao_Adicionar_Sucesso() { long idValidoDaNota = 1; _mockNotaFiscal.Setup(mnf => mnf.Id).Returns(idValidoDaNota); _mockNotaFiscalRepositorio.Setup(nfr => nfr.Adicionar(_mockNotaFiscal.Object)).Returns(_mockNotaFiscal.Object); _mockProdutoNotaFiscalRepositorio.Setup(mpnfr => mpnfr.Adicionar(_mockProdutoNotaFiscal.Object)); _mockListaDeProdutoNotaFiscal.Object.Add(_mockProdutoNotaFiscal.Object); _mockProdutoNotaFiscal.Setup(mpnf => mpnf.NotaFiscal.Id).Returns(idValidoDaNota); _mockNotaFiscal.Setup(mnf => mnf.Produtos).Returns(_mockListaDeProdutoNotaFiscal.Object); NotaFiscal notaFiscalAdicionada = _servicoNotaFiscal.Adicionar(_mockNotaFiscal.Object); _mockNotaFiscalRepositorio.Verify(nfr => nfr.Adicionar(_mockNotaFiscal.Object)); notaFiscalAdicionada.Should().NotBeNull(); }