Exemplo n.º 1
0
        public void QuandoOcorrerErroAoAtualizarUmaListaDeProdutosDeveRetornarStatusDeErro()
        {
            var cadastroProdutoMock = new Mock <ICadastroProduto>(MockBehavior.Strict);

            cadastroProdutoMock.Setup(x => x.AtualizarProdutos(It.IsAny <IList <ProdutoCadastroVm> >()))
            .Throws(new Exception("Ocorreu um erro ao atualizar os produtos"));
            var produtoApiController = new ProdutoApiController(cadastroProdutoMock.Object);
            var produtoCadastroVm    = new ProdutoCadastroVm()
            {
                Codigo    = "SAP 0001",
                Descricao = "PRODUTO 0001"
            };

            produtoApiController.Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/ProdutoApi/PostMultiplo");
            produtoApiController.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());

            var resposta = produtoApiController.PostMultiplo(new ListaProdutos()
            {
                produtoCadastroVm
            });
            var apiResponseMessage = (ApiResponseMessage)((ObjectContent)(resposta.Content)).Value;

            Assert.AreEqual(HttpStatusCode.OK, resposta.StatusCode);
            Assert.AreEqual("500", apiResponseMessage.Retorno.Codigo);
            cadastroProdutoMock.Verify(x => x.AtualizarProdutos(It.IsAny <IList <ProdutoCadastroVm> >()), Times.Once());
        }
Exemplo n.º 2
0
        public void QuandoCadastroUmProdutoComSucessoDeveRetornarStatusOk()
        {
            var cadastroProdutoMock = new Mock <ICadastroProduto>(MockBehavior.Strict);

            cadastroProdutoMock.Setup(x => x.Novo(It.IsAny <ProdutoCadastroVm>()));
            var produtoApiController = new ProdutoApiController(cadastroProdutoMock.Object);
            var produtoCadastroVm    = new ProdutoCadastroVm()
            {
                Codigo    = "SAP 0001",
                Descricao = "PRODUTO 0001"
            };

            produtoApiController.Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/ProdutoApi/Post");

            var resposta = produtoApiController.Post(produtoCadastroVm);

            Assert.AreEqual(HttpStatusCode.OK, resposta.StatusCode);
            cadastroProdutoMock.Verify(x => x.Novo(It.IsAny <ProdutoCadastroVm>()), Times.Once());
        }
Exemplo n.º 3
0
        public void QuandoOcorrerAlgumErroDeveRetornarStatusDeErroComMensagem()
        {
            var cadastroProdutoMock = new Mock <ICadastroProduto>(MockBehavior.Strict);

            cadastroProdutoMock.Setup(x => x.Novo(It.IsAny <ProdutoCadastroVm>())).Throws(new Exception("Ocorreu um erro ao cadastrar o Produto"));
            var produtoApiController = new ProdutoApiController(cadastroProdutoMock.Object);
            var produtoCadastroVm    = new ProdutoCadastroVm()
            {
                Codigo    = "SAP 0001",
                Descricao = "PRODUTO 0001"
            };

            produtoApiController.Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/ProdutoApi/Post");
            produtoApiController.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());

            var resposta = produtoApiController.Post(produtoCadastroVm);

            Assert.AreEqual(HttpStatusCode.InternalServerError, resposta.StatusCode);
            //Assert.AreEqual("Ocorreu um erro ao cadastrar o Produto", resposta.RequestMessage.Content);

            cadastroProdutoMock.Verify(x => x.Novo(It.IsAny <ProdutoCadastroVm>()), Times.Once());
        }
Exemplo n.º 4
0
        public void QuandoAtualizarUmaListaDeProdutosComSucessoDeveRetornarStatusOk()
        {
            var cadastroProdutoMock = new Mock <ICadastroProduto>(MockBehavior.Strict);

            cadastroProdutoMock.Setup(x => x.AtualizarProdutos(It.IsAny <IList <ProdutoCadastroVm> >()));
            var produtoApiController = new ProdutoApiController(cadastroProdutoMock.Object);
            var produtoCadastroVm    = new ProdutoCadastroVm()
            {
                Codigo    = "SAP 0001",
                Descricao = "PRODUTO 0001"
            };

            produtoApiController.Request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/ProdutoApi/PostMultiplo");
            produtoApiController.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());

            var resposta = produtoApiController.PostMultiplo(new ListaProdutos()
            {
                produtoCadastroVm
            });

            Assert.AreEqual(HttpStatusCode.OK, resposta.StatusCode);
            cadastroProdutoMock.Verify(x => x.AtualizarProdutos(It.IsAny <IList <ProdutoCadastroVm> >()), Times.Once());
        }