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()); }
// POST api/<controller> public HttpResponseMessage Post([FromBody] ProdutoCadastroVm produtoCadastroVm) { try { _cadastroProduto.Novo(produtoCadastroVm); return(Request.CreateResponse(HttpStatusCode.OK)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public void Novo(ProdutoCadastroVm produtoCadastroVm) { try { _unitOfWork.BeginTransaction(); AtualizarProduto(produtoCadastroVm); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }
private void AtualizarProduto(ProdutoCadastroVm produtoCadastroVm) { Produto produto = _produtos.BuscaPorCodigoSap(produtoCadastroVm.CodigoSap); if (produto != null) { produto.AtualizaDescricao(produtoCadastroVm.Descricao); } else { produto = new Produto(produtoCadastroVm.CodigoSap, produtoCadastroVm.Descricao); } _produtos.Save(produto); }
private void AtualizarProduto(ProdutoCadastroVm produtoCadastroVm) { Produto produto = _produtosConsultados.SingleOrDefault(x => x.Codigo == produtoCadastroVm.Codigo); if (produto != null) { produto.Atualizar(produtoCadastroVm.Descricao, produtoCadastroVm.Tipo); } else { produto = new Produto(produtoCadastroVm.Codigo, produtoCadastroVm.Descricao, produtoCadastroVm.Tipo); } _produtos.Save(produto); }
public void Novo(ProdutoCadastroVm produtoCadastroVm) { try { _unitOfWork.BeginTransaction(); _produtosConsultados = _produtos.FiltraPorListaDeCodigos(new[] { produtoCadastroVm.Codigo }).List(); AtualizarProduto(produtoCadastroVm); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }
public KendoGridVm Listar(PaginacaoVm paginacaoVm, ProdutoCadastroVm filtro) { _produtos.CodigoContendo(filtro.Codigo); _produtos.DescricaoContendo(filtro.Descricao); _produtos.TipoContendo(filtro.Tipo); var kendoGridVmn = new KendoGridVm() { QuantidadeDeRegistros = _produtos.Count(), Registros = _builderProduto.BuildList(_produtos.Skip(paginacaoVm.Skip).Take(paginacaoVm.Take).List()) .Cast <ListagemVm>() .ToList() }; return(kendoGridVmn); }
public CadastroProdutoTests() { _unitOfWorkMock = CommonMocks.DefaultUnitOfWorkMock(); _produtosConsulta = new List <Produto>(); _produtosMock = new Mock <IProdutos>(MockBehavior.Strict); _produtosMock.Setup(x => x.Save(It.IsAny <Produto>())).Callback((Produto produto) => Assert.IsNotNull(produto)); _produtosMock.Setup(x => x.FiltraPorListaDeCodigos(It.IsAny <string[]>())) .Callback((string[] codigos) => { if (codigos.Contains("PROD0001")) { _produtosConsulta.Add(new ProdutoParaAtualizacao("PROD0001", "PRODUTO 0001", "01")); } }) .Returns(_produtosMock.Object); _produtosMock.Setup(x => x.List()).Returns(_produtosConsulta); _cadastroProduto = new CadastroProduto(_unitOfWorkMock.Object, _produtosMock.Object); _produtoPadrao = new ProdutoCadastroVm() { Codigo = "SAP 0001", Descricao = "PRODUTO 0001", Tipo = "01" }; _produtosPadrao = new List <ProdutoCadastroVm>() { new ProdutoCadastroVm() { Codigo = "PROD0001", Descricao = "PRODUTO 0001", Tipo = "01" }, new ProdutoCadastroVm() { Codigo = "PROD0002", Descricao = "PRODUTO 0002", Tipo = "02" } }; }
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()); }
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()); }
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()); }
public ViewResult Cadastro(string codigoProduto) { ProdutoCadastroVm produtoCadastroVm = _consultaProduto.ConsultaPorCodigo(codigoProduto); return(View(produtoCadastroVm)); }
public JsonResult Listar(PaginacaoVm paginacao, ProdutoCadastroVm filtro) { return(Json(_consultaProduto.Listar(paginacao, filtro), JsonRequestBehavior.AllowGet)); }
public ActionResult SelecionarProduto(ProdutoCadastroVm produtoCadastroVm) { return(PartialView("_SelecionarProduto", produtoCadastroVm)); }