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()); }
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()); }
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()); }
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 }; }