public void QuandoOcorrerErroAoAtualizarUmaListaDeProdutosDeveRetornarStatusDeErro()
        {
            var cadastroFornecedorMock = new Mock <ICadastroFornecedor>(MockBehavior.Strict);

            cadastroFornecedorMock.Setup(x => x.AtualizarFornecedores(It.IsAny <IList <FornecedorCadastroVm> >()))
            .Throws(new Exception("Ocorreu um erro ao atualizar os fornecedores"));
            var produtoApiController = new FornecedorApiController(cadastroFornecedorMock.Object);
            var fornecedorCadastroVm = new FornecedorCadastroVm()
            {
                Codigo = "FORNEC0001",
                Nome   = "FORNECEDOR 0001",
                Email  = "*****@*****.**"
            };

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

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

            Assert.AreEqual(HttpStatusCode.OK, resposta.StatusCode);
            Assert.AreEqual("500", apiResponseMessage.Retorno.Codigo);
            cadastroFornecedorMock.Verify(x => x.AtualizarFornecedores(It.IsAny <IList <FornecedorCadastroVm> >()), Times.Once());
        }
        public void QuandoEnviarFornecedorSemNomeDeveProcessarOutrosFornecedores()
        {
            var cadastroFornecedorMock = new Mock <ICadastroFornecedor>(MockBehavior.Strict);

            cadastroFornecedorMock.Setup(x => x.AtualizarFornecedores(It.IsAny <IList <FornecedorCadastroVm> >()));
            var fornecedorApiController     = new FornecedorApiController(cadastroFornecedorMock.Object);
            var fornecedorCadastroVmComNome = new FornecedorCadastroVm()
            {
                Codigo = "FORNEC0001",
                Nome   = "PRODUTO 0001",
                Email  = "*****@*****.**"
            };
            var fornecedorCadastroVmSemNome = new FornecedorCadastroVm()
            {
                Codigo = "FORNEC0002",
                Email  = "*****@*****.**"
            };

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

            var resposta = fornecedorApiController.PostMultiplo(new ListaFornecedores()
            {
                fornecedorCadastroVmComNome, fornecedorCadastroVmSemNome
            });
            var apiResponseMessage = (ApiResponseMessage)((ObjectContent)(resposta.Content)).Value;

            Assert.AreEqual(HttpStatusCode.OK, resposta.StatusCode);
            Assert.AreEqual("200", apiResponseMessage.Retorno.Codigo);
            Assert.AreEqual("1 fornecedores atualizados.1 fornecedores não atualizados: FORNEC0002.", apiResponseMessage.Retorno.Texto);
            cadastroFornecedorMock.Verify(x => x.AtualizarFornecedores(It.IsAny <IList <FornecedorCadastroVm> >()), Times.Once());
        }
示例#3
0
        private void AtualizaFornecedor(FornecedorCadastroVm fornecedorCadastroVm)
        {
            Fornecedor fornecedor = _fornecedoresConsultados.SingleOrDefault(x => x.Codigo == fornecedorCadastroVm.Codigo);

            if (fornecedor == null)
            {
                fornecedor = new Fornecedor(fornecedorCadastroVm.Codigo, fornecedorCadastroVm.Nome, fornecedorCadastroVm.Email,
                                            fornecedorCadastroVm.Cnpj, fornecedorCadastroVm.Municipio, fornecedorCadastroVm.Uf,
                                            fornecedorCadastroVm.Transportadora.ToLower().Equals("x"));
            }
            else
            {
                fornecedor.Atualizar(fornecedorCadastroVm.Nome, fornecedorCadastroVm.Email, fornecedorCadastroVm.Cnpj,
                                     fornecedorCadastroVm.Municipio, fornecedorCadastroVm.Uf, fornecedorCadastroVm.Transportadora.ToLower().Equals("x"));
            }

            _fornecedores.Save(fornecedor);


            Usuario usuario = _usuariosConsultados.SingleOrDefault(x => x.Login == fornecedorCadastroVm.Codigo);

            if (usuario == null)
            {
                usuario = new Usuario(fornecedorCadastroVm.Nome, fornecedorCadastroVm.Codigo, fornecedorCadastroVm.Email);
                usuario.AdicionarPerfil(Enumeradores.Perfil.Fornecedor);
            }
            else
            {
                usuario.Alterar(fornecedorCadastroVm.Nome, fornecedorCadastroVm.Email);
            }
            _usuarios.Save(usuario);
        }
示例#4
0
        public void BuilderSingleCriarAViewModelComAsPropriedadesCorretas()
        {
            var                  builder    = new FornecedorCadastroBuilder();
            Fornecedor           fornecedor = DefaultObjects.ObtemFornecedorPadrao();
            FornecedorCadastroVm viewModel  = builder.BuildSingle(fornecedor);

            Assert.AreEqual(fornecedor.Codigo, viewModel.Codigo);
            Assert.AreEqual(fornecedor.Nome, viewModel.Nome);
            Assert.AreEqual(fornecedor.Email, viewModel.Email);
        }
 public void Novo(FornecedorCadastroVm fornecedorCadastroVm)
 {
     try
     {
         _unitOfWork.BeginTransaction();
         var fornecedor = new Fornecedor(fornecedorCadastroVm.CodigoSap, fornecedorCadastroVm.Nome);
         _fornecedores.Save(fornecedor);
         _unitOfWork.Commit();
     }
     catch (Exception)
     {
         _unitOfWork.RollBack();
         throw;
     }
 }
示例#6
0
 public void Novo(FornecedorCadastroVm fornecedorCadastroVm)
 {
     try
     {
         _unitOfWork.BeginTransaction();
         var fornecedor = new Fornecedor(fornecedorCadastroVm.Codigo, fornecedorCadastroVm.Nome, fornecedorCadastroVm.Email,
                                         fornecedorCadastroVm.Cnpj, fornecedorCadastroVm.Municipio, fornecedorCadastroVm.Uf,
                                         fornecedorCadastroVm.ToString().ToLower().Equals("x"));
         _fornecedores.Save(fornecedor);
         _unitOfWork.Commit();
     }
     catch (Exception)
     {
         _unitOfWork.RollBack();
         throw;
     }
 }
示例#7
0
        public CadastroFornecedorTests()
        {
            _unitOfWorkMock          = CommonMocks.DefaultUnitOfWorkMock();
            _fornecedoresRepositorio = new List <Fornecedor>();

            _fornecedoresMock = new Mock <IFornecedores>(MockBehavior.Strict);
            _fornecedoresMock.Setup(x => x.Save(It.IsAny <Fornecedor>())).Callback((Fornecedor fornecedor) => Assert.IsNotNull(fornecedor));
            _fornecedoresMock.Setup(x => x.BuscaListaPorCodigo(It.IsAny <string[]>()))
            .Callback((string[] codigos) =>
            {
                if (codigos.Contains("FORNEC0001"))
                {
                    _fornecedoresRepositorio.Add(new FornecedorParaAtualizacao("FORNEC0001", "FORNECEDOR 0001", "*****@*****.**", "cnpj alterado", "municipio alterado", "uf alterada", false));
                }
            })
            .Returns(_fornecedoresMock.Object);

            _fornecedoresMock.Setup(x => x.List()).Returns(_fornecedoresRepositorio);

            _usuariosRepositorio = new List <Usuario>();
            _usuariosMock        = new Mock <IUsuarios>(MockBehavior.Strict);
            _usuariosMock.Setup(x => x.FiltraPorListaDeLogins(It.IsAny <string[]>()))
            .Callback((string[] logins) =>
            {
                if (logins.Contains("FORNEC0001"))
                {
                    _usuariosRepositorio.Add(new UsuarioParaAtualizacao("FORNEC0001", "FORNECEDOR 0001", "*****@*****.**"));
                }
            })
            .Returns(_usuariosMock.Object);
            _usuariosMock.Setup(x => x.List())
            .Returns(_usuariosRepositorio);

            _usuariosMock.Setup(x => x.Save(It.IsAny <Usuario>()));

            _cadastroFornecedor = new CadastroFornecedor(_unitOfWorkMock.Object, _fornecedoresMock.Object, _usuariosMock.Object);

            _fornecedorCadastroVm = new FornecedorCadastroVm()
            {
                Codigo = "FORNEC0001",
                Nome   = "FORNECEDOR 0001",
                Email  = "*****@*****.**"
            };
        }
        public void QuandoAtualizarUmaListaDeFornecedoresComSucessoDeveRetornarStatusOk()
        {
            var cadastroFornecedorMock = new Mock <ICadastroFornecedor>(MockBehavior.Strict);

            cadastroFornecedorMock.Setup(x => x.AtualizarFornecedores(It.IsAny <IList <FornecedorCadastroVm> >()));
            var fornecedorApiController = new FornecedorApiController(cadastroFornecedorMock.Object);
            var fornecedorCadastroVm    = new FornecedorCadastroVm()
            {
                Codigo = "FORNEC0001",
                Nome   = "PRODUTO 0001",
                Email  = "*****@*****.**"
            };

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

            var resposta = fornecedorApiController.PostMultiplo(new ListaFornecedores()
            {
                fornecedorCadastroVm
            });

            Assert.AreEqual(HttpStatusCode.OK, resposta.StatusCode);
            cadastroFornecedorMock.Verify(x => x.AtualizarFornecedores(It.IsAny <IList <FornecedorCadastroVm> >()), Times.Once());
        }
示例#9
0
 public ActionResult Selecionar(FornecedorCadastroVm fornecedorCadastroVm)
 {
     return(PartialView("_SelecionarFornecedor", fornecedorCadastroVm));
 }
示例#10
0
        public ViewResult Cadastro(string codigoFornecedor)
        {
            FornecedorCadastroVm vieModel = _consultaFornecedor.ConsultaPorCodigo(codigoFornecedor);

            return(View(vieModel));
        }
 public ActionResult Selecionar(FornecedorCadastroVm fornecedorCadastroVm)
 {
     return PartialView("_SelecionarFornecedor",fornecedorCadastroVm);            
 }