Exemple #1
0
        public void QuandoOcorrerErroAoAtualizarUmaListaDeIncotermsDeveRetornarStatusDeErro()
        {
            var cadastroIncotermMock = new Mock <ICadastroIncoterm>(MockBehavior.Strict);

            cadastroIncotermMock.Setup(x => x.AtualizarIncoterms(It.IsAny <IList <IncotermCadastroVm> >()))
            .Throws(new Exception("Ocorreu um erro ao atualizar os Ivas"));

            var incotermApiController = new IncotermApiController(cadastroIncotermMock.Object);
            var incotermCadastroVm    = new IncotermCadastroVm()
            {
                Codigo    = "001",
                Descricao = "INCOTERM 001"
            };

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

            var resposta = incotermApiController.PostMultiplo(new ListaIncoterm()
            {
                incotermCadastroVm
            });
            var apiResponseMessage = (ApiResponseMessage)((ObjectContent)(resposta.Content)).Value;

            Assert.AreEqual(HttpStatusCode.OK, resposta.StatusCode);
            Assert.AreEqual("500", apiResponseMessage.Retorno.Codigo);
            cadastroIncotermMock.Verify(x => x.AtualizarIncoterms(It.IsAny <IList <IncotermCadastroVm> >()), Times.Once());
        }
Exemple #2
0
        private void AtualizarIncoterm(IncotermCadastroVm incotermCadastroVm)
        {
            Incoterm incoterm = _incotermsConsultados.SingleOrDefault(x => x.Codigo == incotermCadastroVm.Codigo);

            if (incoterm != null)
            {
                incoterm.AtualizaDescricao(incotermCadastroVm.Descricao);
            }
            else
            {
                incoterm = new Incoterm(incotermCadastroVm.Codigo, incotermCadastroVm.Descricao);
            }
            _incoterms.Save(incoterm);
        }
        public IList<IncotermCadastroVm> Listar(PaginacaoVm paginacaoVm, IncotermCadastroVm filtro)
        {
            if (!string.IsNullOrEmpty(filtro.CodigoIncoterm))
            {
                _incoterm.BuscaPeloCodigo(filtro.CodigoIncoterm);

            }

            if (!string.IsNullOrEmpty(filtro.Descricao))
            {
                _incoterm.FiltraPelaDescricao(filtro.Descricao);
            }
            int skip = (paginacaoVm.Page - 1) * paginacaoVm.PageSize;

            //paginacaoVm.TotalRecords = _condicoesDePagamento.Count();

            return _builder.BuildList(_incoterm.Skip(skip).Take(paginacaoVm.Take).List());

        }
Exemple #4
0
        public void QuandoAtualizarUmaListaDeIncotermsComSucessoDeveRetornarStatusOk()
        {
            var cadastroIncotermMock = new Mock <ICadastroIncoterm>(MockBehavior.Strict);

            cadastroIncotermMock.Setup(x => x.AtualizarIncoterms(It.IsAny <IList <IncotermCadastroVm> >()));
            var incotermApiController = new IncotermApiController(cadastroIncotermMock.Object);
            var incotermCadastroVm    = new IncotermCadastroVm()
            {
                Codigo    = "001",
                Descricao = "INCOTERM 001"
            };

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

            var resposta = incotermApiController.PostMultiplo(new ListaIncoterm()
            {
                incotermCadastroVm
            });

            Assert.AreEqual(HttpStatusCode.OK, resposta.StatusCode);
            cadastroIncotermMock.Verify(x => x.AtualizarIncoterms(It.IsAny <IList <IncotermCadastroVm> >()), Times.Once());
        }
Exemple #5
0
        public CadastroIncotermTests()
        {
            _unitOfWorkMock = CommonMocks.DefaultUnitOfWorkMock();
            _incotermsMock  = new Mock <IIncoterms>(MockBehavior.Strict);
            _incotermsMock.Setup(x => x.Save(It.IsAny <Incoterm>())).Callback((Incoterm incoterm) => Assert.IsNotNull(incoterm));
            _incotermsMock.Setup(x => x.FiltraPorListaDeCodigos(It.IsAny <string[]>()))
            .Callback((string[] i) =>
            {
                _incotermRetornoRepositorio = (i.Contains("001")
                                                           ? new IncotermParaAtualizacao("001", "INCOTERM 001")
                                                           : null);
            })
            .Returns(_incotermsMock.Object);

            _incotermsMock.Setup(x => x.List())
            .Returns(() =>
            {
                var retorno = new List <Incoterm>();
                if (_incotermRetornoRepositorio != null)
                {
                    retorno.Add(_incotermRetornoRepositorio);
                }
                return(retorno);
            });

            _cadastroIncoterm = new CadastroIncoterm(_unitOfWorkMock.Object, _incotermsMock.Object);
            _incotermPadrao   = new IncotermCadastroVm()
            {
                Codigo    = "001",
                Descricao = "INCOTERM 001"
            };
            _listaIncoterms = new List <IncotermCadastroVm>()
            {
                _incotermPadrao
            };
        }