public void ConsultaListagemDeProcessosRetornaObjetoEsperado() { RemoveQueries.RemoverProcessosDeCotacaoCadastrados(); ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado(); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial); var consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>(); KendoGridVm kendoGridVm = consultaProcesso.Listar(new PaginacaoVm() { Page = 1, PageSize = 10, Take = 10 }, new ProcessoCotacaoFiltroVm()); Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros); ProcessoCotacaoMaterialListagemVm processoListagem = kendoGridVm.Registros.Cast <ProcessoCotacaoMaterialListagemVm>().First(); Assert.AreEqual(processoDeCotacaoDeMaterial.Id, processoListagem.Id); //Assert.AreEqual(processoDeCotacaoDeMaterial.Itens.First().Produto.Codigo, processoListagem.CodigoMaterial); Assert.AreEqual(processoDeCotacaoDeMaterial.Itens.First().Produto.Descricao, processoListagem.Material); //Assert.AreEqual(1000, processoListagem.Quantidade); Assert.AreEqual("Não Iniciado", processoListagem.Status); Assert.IsNotNull(processoDeCotacaoDeMaterial.DataLimiteDeRetorno); Assert.AreEqual(processoDeCotacaoDeMaterial.DataLimiteDeRetorno.Value.ToShortDateString(), processoListagem.DataTermino); }
public void FiltrarUmProcessoDeCotacaoPorStatusRetornaProcessoEsperado() { RemoveQueries.RemoverProcessosDeCotacaoCadastrados(); ProcessoDeCotacaoDeMaterial processoDeCotacao1 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialNaoIniciado(); ProcessoDeCotacaoDeMaterial processoDeCotacao2 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialFechado(); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacao1); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacao2); var processosDeCotacao = ObjectFactory.GetInstance <IProcessosDeCotacao>(); IList <ProcessoDeCotacao> processosConsultados = processosDeCotacao.FiltraPorStatus(Enumeradores.StatusProcessoCotacao.NaoIniciado).List(); Assert.AreEqual(1, processosConsultados.Count()); Assert.AreEqual(Enumeradores.StatusProcessoCotacao.NaoIniciado, processosConsultados.First().Status); }
public void RepositorioDoProcessoDeCotacaoDeMateriasContemApenasProcessosDeCotacaoDeMaterial() { RemoveQueries.RemoverProcessosDeCotacaoCadastrados(); //crio dois processos de cotação (um de frete e um de materiais) e persisto ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialNaoIniciado(); ProcessoDeCotacaoDeFrete processoDeCotacaoDeFrete = DefaultObjects.ObtemProcessoDeCotacaoDeFrete(); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacaoDeFrete); //listo todos os processsos do repositório: deve retornar apenas o processo de cotação de material var processosDeCotacaoDeMaterias = ObjectFactory.GetInstance <IProcessosDeCotacaoDeMaterial>(); var todosProcessos = processosDeCotacaoDeMaterias.List(); Assert.AreEqual(1, todosProcessos.Count); Assert.IsInstanceOfType(todosProcessos.Single(), typeof(ProcessoDeCotacaoDeMaterial)); }
public void ConsultaProcessoRetornaObjetoEsperado() { RemoveQueries.RemoverProcessosDeCotacaoCadastrados(); ProcessoDeCotacaoDeMaterial processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado(); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial); var consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>(); ProcessoCotacaoMaterialCadastroVm processoCotacaoMaterialCadastroVm = consultaProcesso.ConsultaProcesso(processoDeCotacaoDeMaterial.Id); Assert.AreEqual(processoDeCotacaoDeMaterial.Id, processoCotacaoMaterialCadastroVm.Id); //Assert.AreEqual(processoDeCotacaoDeMaterial.Itens.First().Produto.Codigo,processoCotacaoMaterialCadastroVm.CodigoMaterial); Assert.IsTrue(processoDeCotacaoDeMaterial.DataLimiteDeRetorno.HasValue); Assert.AreEqual(processoDeCotacaoDeMaterial.DataLimiteDeRetorno.Value.ToShortDateString(), processoCotacaoMaterialCadastroVm.DataLimiteRetorno); Assert.AreEqual("Não Iniciado", processoCotacaoMaterialCadastroVm.DescricaoStatus); Assert.AreEqual("Requisitos do Processo de Cotação de Materiais", processoCotacaoMaterialCadastroVm.Requisitos); }
public void FiltrarUmProcessoDeCotacaoPorDescricaoDoProdutoRetornaProcessoEsperado() { RemoveQueries.RemoverProcessosDeCotacaoCadastrados(); Produto produto1 = DefaultObjects.ObtemProdutoPadrao(); ProcessoDeCotacaoDeFrete processoDeCotacao1 = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComProdutoEspecifico(produto1); Produto produto2 = DefaultObjects.ObtemProdutoPadrao(); ProcessoDeCotacaoDeFrete processoDeCotacao2 = DefaultObjects.ObtemProcessoDeCotacaoDeFreteComProdutoEspecifico(produto2); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacao1); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeFrete(processoDeCotacao2); UnitOfWorkNh.Session.Clear(); var processosDeCotacao = ObjectFactory.GetInstance <IProcessosDeCotacao>(); IList <ProcessoDeCotacao> processosConsultados = processosDeCotacao.DescricaoDoProdutoContendo(produto2.Descricao).List(); Assert.AreEqual(1, processosConsultados.Count()); Assert.AreEqual(produto2.Descricao, processosConsultados.First().Itens.First().Produto.Descricao); }
public void QuandoConsultaListagemDeUmProcessoQueNaoPossuiItensRetornaObjetoEsperado() { RemoveQueries.RemoverProcessosDeCotacaoCadastrados(); var processoDeCotacaoDeMaterial = new ProcessoDeCotacaoDeMaterial(); processoDeCotacaoDeMaterial.Atualizar(DateTime.Today, "requisitos"); DefaultPersistedObjects.PersistirProcessoDeCotacaoDeMaterial(processoDeCotacaoDeMaterial); var consultaProcesso = ObjectFactory.GetInstance <IConsultaProcessoDeCotacaoDeMaterial>(); KendoGridVm kendoGridVm = consultaProcesso.Listar(new PaginacaoVm() { Page = 1, PageSize = 10, Take = 10 }, new ProcessoCotacaoFiltroVm()); Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros); ProcessoCotacaoMaterialListagemVm processoListagem = kendoGridVm.Registros.Cast <ProcessoCotacaoMaterialListagemVm>().First(); Assert.AreEqual(processoDeCotacaoDeMaterial.Id, processoListagem.Id); Assert.AreEqual("Sem Materiais", processoListagem.Material); Assert.AreEqual("Não Iniciado", processoListagem.Status); Assert.IsNotNull(processoDeCotacaoDeMaterial.DataLimiteDeRetorno); Assert.AreEqual(processoDeCotacaoDeMaterial.DataLimiteDeRetorno.Value.ToShortDateString(), processoListagem.DataTermino); }
public void QuandoConsultaEficienciaNegociacaoRetornaEficienciaDosProcessosFechados() { RemoveQueries.RemoverProcessosDeCotacaoCadastrados(); //cria dois compradores Usuario comprador1 = DefaultObjects.ObtemCompradorDeSuprimentos(); Usuario comprador2 = DefaultObjects.ObtemCompradorDeSuprimentos(); //cria um processo aberto e um fechado para o comprador1 ProcessoDeCotacaoDeMaterial processo11 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAberto(comprador1); var cotacaoMaterial11 = processo11.InformarCotacao(processo11.FornecedoresParticipantes.Single().Fornecedor.Codigo, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "incoterm 2"); var cotacaoItem11 = cotacaoMaterial11.InformarCotacaoDeItem(processo11.Itens.Single(), 100, 0, 50, DateTime.Today.AddDays(5), "obs11"); cotacaoItem11.InformarImposto(Enumeradores.TipoDeImposto.Icms, 12); cotacaoItem11.InformarImposto(Enumeradores.TipoDeImposto.Ipi, 10); cotacaoItem11.InformarImposto(Enumeradores.TipoDeImposto.PisCofins, 9); var processoDeCotacaoItem11 = (ProcessoDeCotacaoDeMaterialItem)processo11.Itens.Single(); //cotacaoItem11.Atualizar(95,50,"obs11"); cotacaoItem11.Selecionar(50); processo11.Fechar(); ProcessoDeCotacaoDeMaterial processo12 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAberto(comprador1); //cria um processo aberto e um fechado para o comprador2 ProcessoDeCotacaoDeMaterial processo21 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAberto(comprador2); var cotacaoMaterial21 = processo21.InformarCotacao(processo21.FornecedoresParticipantes.Single().Fornecedor.Codigo, DefaultObjects.ObtemCondicaoDePagamentoPadrao(), DefaultObjects.ObtemIncotermPadrao(), "incoterm 2"); var cotacaoItem21 = cotacaoMaterial21.InformarCotacaoDeItem(processo21.Itens.Single(), 110, 0, 50, DateTime.Today.AddDays(5), "obs21"); cotacaoItem21.InformarImposto(Enumeradores.TipoDeImposto.Icms, 12); cotacaoItem21.InformarImposto(Enumeradores.TipoDeImposto.Ipi, 10); cotacaoItem21.InformarImposto(Enumeradores.TipoDeImposto.PisCofins, 9); cotacaoItem21.Atualizar(99, 50, "obs21"); cotacaoItem21.Selecionar(50); processo21.Fechar(); var processoDeCotacaoItem21 = (ProcessoDeCotacaoDeMaterialItem)processo21.Itens.Single(); ProcessoDeCotacaoDeMaterial processo22 = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAberto(comprador2); DefaultPersistedObjects.PersistirProcessosDeCotacaoDeMaterial(new List <ProcessoDeCotacaoDeMaterial> { processo11, processo12, processo21, processo22 }); var consulta = ObjectFactory.GetInstance <IConsultaEficienciaDeNegociacao>(); KendoGridVm kendoGridVm = consulta.ConsultarResumo(DefaultObjects.ObtemPaginacaoDefault(), new EficienciaNegociacaoFiltroVm()); //retorna um registro para cada comprador Assert.AreEqual(3, kendoGridVm.QuantidadeDeRegistros); var eficiencias = kendoGridVm.Registros.Cast <EficienciaDeNegociacaoResumoVm>().ToList(); var eficienciaDoComprador1 = eficiencias.Single(x => x.Comprador == comprador1.Nome); Assert.AreEqual(processo11.Id, eficienciaDoComprador1.IdProcessoCotacao); Assert.AreEqual(processoDeCotacaoItem11.Id, eficienciaDoComprador1.IdProcessoCotacaoItem); Assert.AreEqual(cotacaoItem11.ProcessoDeCotacaoItem.Produto.Descricao, eficienciaDoComprador1.Produto); Assert.AreEqual(processoDeCotacaoItem11.RequisicaoDeCompra.Numero, eficienciaDoComprador1.NumeroDaRequisicao); Assert.AreEqual(processoDeCotacaoItem11.RequisicaoDeCompra.NumeroItem, eficienciaDoComprador1.NumeroDoItem); Assert.AreEqual(0, eficienciaDoComprador1.ValorDeEficiencia); Assert.AreEqual(0, eficienciaDoComprador1.PercentualDeEficiencia); var eficienciaDoComprador2 = eficiencias.Single(x => x.Comprador == comprador2.Nome); Assert.AreEqual(processo21.Id, eficienciaDoComprador2.IdProcessoCotacao); Assert.AreEqual(processoDeCotacaoItem21.Id, eficienciaDoComprador2.IdProcessoCotacaoItem); Assert.AreEqual(cotacaoItem21.ProcessoDeCotacaoItem.Produto.Descricao, eficienciaDoComprador2.Produto); Assert.AreEqual(processoDeCotacaoItem21.RequisicaoDeCompra.Numero, eficienciaDoComprador2.NumeroDaRequisicao); Assert.AreEqual(processoDeCotacaoItem21.RequisicaoDeCompra.NumeroItem, eficienciaDoComprador2.NumeroDoItem); Assert.AreEqual(550, eficienciaDoComprador2.ValorDeEficiencia); Assert.AreEqual(10, eficienciaDoComprador2.PercentualDeEficiencia); var eficienciaTotal = eficiencias.Single(x => x.Produto == "TOTAL"); Assert.IsNotNull(eficienciaTotal); Assert.AreEqual(550, eficienciaTotal.ValorDeEficiencia); Assert.AreEqual((decimal)5.24, eficienciaTotal.PercentualDeEficiencia); }