示例#1
0
        public void ProdutoSistemaIntegracao_Atualizar_DeveRetornarOk()
        {
            //Cenário
            Produto produtoParaEditar = _produtoService.Obtem(1);

            produtoParaEditar.Id = 1;
            string produtoVelho = produtoParaEditar.Nome;
            string produtoNovo  = "Produto";

            if (produtoVelho == produtoNovo)
            {
                produtoNovo = "Novo Produto";
            }

            produtoParaEditar.Nome = produtoNovo;

            //Acão
            Produto produtoResultado = _produtoService.Atualiza(produtoParaEditar);

            //Verificar
            produtoResultado.Nome.Should().NotBe(produtoVelho);
            produtoResultado.Id.Should().Be(produtoParaEditar.Id);
        }
        public void Deve_Dar_Erro_Ao_Atualizar_Produto_E_Nao_Encontrar_ID()
        {
            var produtosMock = _produtoFixture.ProdutoMock();
            var mensagemErro = Produto.ProdutoNaoEncontrato;

            var marcaService       = new Mock <IMarcaService>();
            var produtoRespository = new Mock <IProdutoRepository>();

            produtoRespository.Setup(x => x.Atualiza(It.IsAny <Produto>()))
            .Throws(new NotFoundExepction(mensagemErro));

            var service         = new ProdutoService(produtoRespository.Object, marcaService.Object);
            var produtosRetorno = Assert.ThrowsAsync <NotFoundExepction>(
                async() => service.Atualiza(produtosMock.First()));

            Assert.Equal(mensagemErro, produtosRetorno.Result.Message);
        }
        public void Deve_Dar_Erro_Ao_Atualizar_Produto()
        {
            var produtoMock  = _produtoFixture.ProdutoMock().First();
            var mensagemErro = Produto.ProdutoNaoEncontrato;

            var marcaService       = new Mock <IMarcaService>();
            var produtoRespository = new Mock <IProdutoRepository>();

            produtoRespository.Setup(x => x.ObterPorId(It.IsAny <int>()))
            .Returns(produtoMock);

            produtoRespository.Setup(x => x.Atualiza(It.IsAny <Produto>()))
            .Throws(new Exception(mensagemErro));

            var service = new ProdutoService(produtoRespository.Object, marcaService.Object);

            Assert.ThrowsAsync <Exception>(async() => service.Atualiza(produtoMock));
        }
        public void Deve_Atualizar_Produto()
        {
            var produtoMock = _produtoFixture.ProdutoMock().First();

            var marcaService       = new Mock <IMarcaService>();
            var produtoRespository = new Mock <IProdutoRepository>();

            produtoRespository.Setup(x => x.ObterPorId(It.IsAny <int>()))
            .Returns(produtoMock);

            produtoRespository.Setup(x => x.Atualiza(It.IsAny <Produto>()))
            .Returns(true);

            var service         = new ProdutoService(produtoRespository.Object, marcaService.Object);
            var produtosRetorno = service.Atualiza(produtoMock);

            Assert.True(produtosRetorno);
        }
示例#5
0
        public void ProdutoService_Atualizar_ProdutoValido_DeveRetornarOk()
        {
            //Cenário
            Produto produto = ObjectMother.getValidoProduto();

            produto.Id = 1;

            //Ação
            _mockProdutoRepository.Setup(rp => rp.Atualizar(produto)).Returns(new Produto {
                Id = produto.Id, Nome = "abcd", Disponibilidade = true, PrecoCusto = 2.00, PrecoVenda = 3.45, DataFabricacao = DateTime.Now.AddDays(-2), DataValidade = DateTime.Now.AddDays(3)
            });
            Produto retorno = _produtoService.Atualiza(produto);

            //Verificar
            _mockProdutoRepository.Verify(rp => rp.Atualizar(produto));
            retorno.Should().NotBeNull();
            retorno.Id.Should().Be(produto.Id);
        }