Пример #1
0
        public void QuandoConsultaQuotasEmUmaDeterminadaDataRetornaListaDeQuotasDeTodosOsFornecedoresDaquelaData()
        {
            RemoveQueries.RemoverQuotasCadastradas();
            Quota quota = DefaultObjects.ObtemQuotaDeCarregamento();

            DefaultPersistedObjects.PersistirQuota(quota);

            var consultaQuota = ObjectFactory.GetInstance <IConsultaQuota>();
            IList <QuotaConsultarVm> quotas = consultaQuota.QuotasDaData(quota.Data);

            Assert.AreEqual(1, quotas.Count);
        }
Пример #2
0
        public void QuandoConsultaQuotaEmUmaDataQueNaoPossuiQuotaRetornaFalso()
        {
            //RemoveQueries.RemoverQuotasCadastradas();
            var quota = new Quota(Enumeradores.MaterialDeCarga.Soja, DefaultObjects.ObtemTransportadoraPadrao(),
                                  "1000", DateTime.Today, 1200);

            DefaultPersistedObjects.PersistirQuota(quota);

            var consultaQuota = ObjectFactory.GetInstance <IConsultaQuota>();

            Assert.IsFalse(consultaQuota.PossuiQuotaNaData(DateTime.Today.AddDays(-10)));
        }
Пример #3
0
        public void ConsigoConsultarUmAgendamentoPeloNumeroDaNotaFiscal()
        {
            Quota quota = DefaultObjects.ObtemQuotaDeDescarregamento();
            //AgendamentoDeDescarregamento agendamento = DefaultObjects.ObtemAgendamentoDeDescarregamento(quota);
            var agendamentoVm = new AgendamentoDeDescarregamentoSalvarVm
            {
                IdQuota       = quota.Id,
                Placa         = "IOQ5338",
                IdAgendamento = 0,
                NotasFiscais  = new List <NotaFiscalVm>
                {
                    new NotaFiscalVm
                    {
                        Numero            = "1234",
                        Serie             = "1",
                        DataDeEmissao     = DateTime.Today.ToShortDateString(),
                        CnpjDoEmitente    = "123",
                        NomeDoEmitente    = "Emitente",
                        CnpjDoContratante = "666",
                        NomeDoContratante = "contratante",
                        NumeroDoContrato  = "4001",
                        Peso  = 100,
                        Valor = 150
                    }
                }
            };

            quota.InformarAgendamento(agendamentoVm);

            DefaultPersistedObjects.PersistirQuota(quota);

            var consultaQuota = ObjectFactory.GetInstance <IConsultaQuota>();

            UnitOfWorkNh.Session.Clear();

            var filtro = new ConferenciaDeCargaFiltroVm
            {
                CodigoTerminal = "1000",
                NumeroNf       = "1234"/*,
                                        * CodigoRealizacaoDeAgendamento = (int) Enumeradores.RealizacaoDeAgendamento.NaoRealizado*/
            };
            KendoGridVm kendoGridVm = consultaQuota.Consultar(new PaginacaoVm {
                Page = 1, PageSize = 10, Take = 10
            }, filtro);

            Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros);
        }
Пример #4
0
        public void ConsigoFiltrarQuotaPorTerminal()
        {
            RemoveQueries.RemoverQuotasCadastradas();
            Quota quota1 = DefaultObjects.ObtemQuotaDeDescarregamentoParaTerminalEspecifico("1000");
            Quota quota2 = DefaultObjects.ObtemQuotaDeDescarregamentoParaTerminalEspecifico("2000");

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota2);

            var           quotas            = ObjectFactory.GetInstance <IQuotas>();
            IList <Quota> quotasConsultadas = quotas.DoTerminal("1000").List();

            Assert.AreEqual(1, quotasConsultadas.Count());
            var quotaConsultada = quotasConsultadas.First();

            Assert.AreEqual("1000", quotaConsultada.CodigoTerminal);
        }
Пример #5
0
        public void ConsultaPrevistoRealizadoFiltraPorFornecedorCorretamente()
        {
            //cria duas quotas, dois fornecedores. Os fornecedores tem agendamentos nas duas quotas.
            //Apenas uma das quotas de cada fornecedor está realizada.
            RemoveQueries.RemoverQuotasCadastradas();

            Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao();

            var quota1 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor1, "1000", DateTime.Today.AddDays(1), 100);
            var quota2 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor1, "1000", DateTime.Today.AddDays(2), 200);
            var quota3 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor2, "1000", DateTime.Today.AddDays(1), 150);
            var quota4 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor2, "1000", DateTime.Today.AddDays(2), 250);

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota2);
            DefaultPersistedObjects.PersistirQuota(quota3);
            DefaultPersistedObjects.PersistirQuota(quota4);

            AgendamentoDeCarregamento agendamento1 = quota1.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm {
                Placa = "IOQ3434", Peso = 30
            });
            AgendamentoDeCarregamento agendamento2 = quota4.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm {
                Placa = "IOQ3435", Peso = 250
            });

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota4);

            quota1.RealizarAgendamento(agendamento1.Id);
            quota4.RealizarAgendamento(agendamento2.Id);

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota4);

            var consultaQuotaRelatorio = ObjectFactory.GetInstance <IConsultaQuotaRelatorio>();
            IList <QuotaPlanejadoRealizadoVm> quotas = consultaQuotaRelatorio.PlanejadoRealizado(
                new RelatorioAgendamentoFiltroVm
            {
                CodigoTerminal   = "1000",
                CodigoFornecedor = fornecedor1.Codigo
            });

            Assert.AreEqual(1, quotas.Count);
        }
Пример #6
0
        public void ConsigoCriarUmaQuotaEConsultarPosteriormente()
        {
            var quota = DefaultObjects.ObtemQuotaDeCarregamento();

            //quota.AdicionarAgendamento(DefaultObjects.ObtemAgendamentoDeCarregamentoComPesoEspecifico(quota, 100));
            DefaultPersistedObjects.PersistirQuota(quota);

            var quotas = ObjectFactory.GetInstance <IQuotas>();

            var quotaConsultada = quotas.BuscaPorId(quota.Id);

            Assert.AreEqual(quota.Id, quotaConsultada.Id);
            Assert.AreEqual(quota.Data, quotaConsultada.Data);
            Assert.AreEqual(quota.CodigoTerminal, quotaConsultada.CodigoTerminal);
            Assert.AreEqual(quota.FluxoDeCarga, quotaConsultada.FluxoDeCarga);
            Assert.AreEqual(quota.Material, quotaConsultada.Material);
            Assert.AreEqual(quota.PesoTotal, quotaConsultada.PesoTotal);
            Assert.AreEqual(quota.Fornecedor.Codigo, quotaConsultada.Fornecedor.Codigo);
            Assert.AreEqual(0, quota.PesoAgendado);
        }
Пример #7
0
        public void ConsigoFiltrarQuotasAPartirDeUmaData()
        {
            RemoveQueries.RemoverQuotasCadastradas();

            var   dataDoFiltro         = DateTime.Today;
            Quota quotaAntesDoPeriodo  = DefaultObjects.ObtemQuotaDeCarregamentoComDataEspecifica(dataDoFiltro.AddDays(-1));
            Quota quotaNoPeriodo       = DefaultObjects.ObtemQuotaDeCarregamentoComDataEspecifica(dataDoFiltro);
            Quota quotaDePoisDoPeriodo = DefaultObjects.ObtemQuotaDeCarregamentoComDataEspecifica(dataDoFiltro.AddDays(1));

            DefaultPersistedObjects.PersistirQuota(quotaAntesDoPeriodo);
            DefaultPersistedObjects.PersistirQuota(quotaNoPeriodo);
            DefaultPersistedObjects.PersistirQuota(quotaDePoisDoPeriodo);

            var quotas = ObjectFactory.GetInstance <IQuotas>();

            IList <Quota> quotasConsultadas = quotas.APartirDe(dataDoFiltro).List();

            Assert.AreEqual(2, quotasConsultadas.Count);
            Assert.IsTrue(quotasConsultadas.Any(x => x.Data == dataDoFiltro));
            Assert.IsTrue(quotasConsultadas.Any(x => x.Data == dataDoFiltro.AddDays(1)));
        }
Пример #8
0
        public void QuandoConsultaQuotasDeUmDeterminadoFornecedorRetornaListaDeQuotasEmOrdemDecrescenteDeData()
        {
            //cria duas quotas para o mesmo fornecedor
            Fornecedor fornecedor = DefaultObjects.ObtemFornecedorPadrao();
            var        quota1     = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor, "1000", DateTime.Today, 100);
            var        quota2     = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor, "1000", DateTime.Today.AddDays(1), 100);

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota2);

            var         consultaQuota = ObjectFactory.GetInstance <IConsultaQuota>();
            KendoGridVm kendoGridVm   =
                consultaQuota.ListarQuotasDoFornecedor(new PaginacaoVm {
                Page = 1, PageSize = 10, Take = 10
            }, fornecedor.Codigo);

            Assert.AreEqual(2, kendoGridVm.QuantidadeDeRegistros);
            IList <QuotaPorFornecedorVm> quotas = kendoGridVm.Registros.Cast <QuotaPorFornecedorVm>().ToList();

            Assert.IsTrue(Convert.ToDateTime(quotas[0].Data) > Convert.ToDateTime(quotas[1].Data));
        }
Пример #9
0
        public void ConsigoPersistirUmAgendamentoParaAQuotaEConsultarPosteriormente()
        {
            var quota = DefaultObjects.ObtemQuotaDeCarregamento();

            quota.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm
            {
                IdQuota = quota.Id,
                Peso    = 100,
                Placa   = "MNO1234"
            });
            DefaultPersistedObjects.PersistirQuota(quota);

            var quotas = ObjectFactory.GetInstance <IQuotas>();

            var quotaConsultada = quotas.BuscaPorId(quota.Id);

            Assert.IsFalse(NHibernateUtil.IsInitialized(quotaConsultada.Agendamentos));
            var agendamentoConsultado = (AgendamentoDeCarregamento)quotaConsultada.Agendamentos.First();

            Assert.AreEqual(100, agendamentoConsultado.Peso);
            Assert.AreEqual("MNO1234", agendamentoConsultado.Placa);
            Assert.IsFalse(agendamentoConsultado.Realizado);
            Assert.AreEqual(100, agendamentoConsultado.PesoTotal);
        }
Пример #10
0
        public void ConsultaPrevistoRealizadoPorDataRetornaOsValoresAgrupadosCorretamente()
        {
            //cria duas quotas, dois fornecedores. Os fornecedores tem agendamentos nas duas quotas.
            //Apenas uma das quotas de cada fornecedor está realizada.
            RemoveQueries.RemoverQuotasCadastradas();

            Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao();
            Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao();

            var quota1 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor1, "1000", DateTime.Today.AddDays(1), 100);
            var quota2 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor1, "1000", DateTime.Today.AddDays(2), 200);
            var quota3 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor2, "1000", DateTime.Today.AddDays(1), 150);
            var quota4 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor2, "1000", DateTime.Today.AddDays(2), 250);

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota2);
            DefaultPersistedObjects.PersistirQuota(quota3);
            DefaultPersistedObjects.PersistirQuota(quota4);

            AgendamentoDeCarregamento agendamento1 = quota1.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm {
                Placa = "IOQ3434", Peso = 30
            });
            AgendamentoDeCarregamento agendamento2 = quota4.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm {
                Placa = "IOQ3435", Peso = 250
            });

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota4);

            quota1.RealizarAgendamento(agendamento1.Id);
            quota4.RealizarAgendamento(agendamento2.Id);

            DefaultPersistedObjects.PersistirQuota(quota1);
            DefaultPersistedObjects.PersistirQuota(quota4);

            var consultaQuotaRelatorio = ObjectFactory.GetInstance <IConsultaQuotaRelatorio>();
            IList <QuotaPlanejadoRealizadoPorDataVm> quotas = consultaQuotaRelatorio.PlanejadoRealizadoPorData(
                new RelatorioAgendamentoFiltroVm
            {
                CodigoTerminal = "1000"
            });


            Assert.AreEqual(4, quotas.Count);

            //Assert Fornecedor 1 - Dia 1
            QuotaPlanejadoRealizadoPorDataVm planejadoRealizadoFornecedor1 = quotas
                                                                             .First(x => x.NomeDoFornecedor == fornecedor1.Codigo + " - " + fornecedor1.Nome &&
                                                                                    x.Data == DateTime.Today.AddDays(1).ToShortDateString());

            Assert.AreEqual(fornecedor1.Codigo + " - " + fornecedor1.Nome, planejadoRealizadoFornecedor1.NomeDoFornecedor);
            Assert.AreEqual("1000", planejadoRealizadoFornecedor1.CodigoTerminal);
            Assert.AreEqual(quota1.FluxoDeCarga.Descricao(), planejadoRealizadoFornecedor1.FluxoDeCarga);
            Assert.AreEqual(100, planejadoRealizadoFornecedor1.Quota);
            Assert.AreEqual(30, planejadoRealizadoFornecedor1.PesoRealizado);

            //Assert Fornecedor 1 - Dia 2
            planejadoRealizadoFornecedor1 = quotas
                                            .First(x => x.NomeDoFornecedor == fornecedor1.Codigo + " - " + fornecedor1.Nome &&
                                                   x.Data == DateTime.Today.AddDays(2).ToShortDateString());

            Assert.AreEqual(fornecedor1.Codigo + " - " + fornecedor1.Nome, planejadoRealizadoFornecedor1.NomeDoFornecedor);
            Assert.AreEqual("1000", planejadoRealizadoFornecedor1.CodigoTerminal);
            Assert.AreEqual(quota1.FluxoDeCarga.Descricao(), planejadoRealizadoFornecedor1.FluxoDeCarga);
            Assert.AreEqual(200, planejadoRealizadoFornecedor1.Quota);
            Assert.AreEqual(0, planejadoRealizadoFornecedor1.PesoRealizado);

            //Assert Fornecedor 2 - Dia 1
            QuotaPlanejadoRealizadoVm planejadoRealizadoFornecedor2 = quotas
                                                                      .First(x => x.NomeDoFornecedor == fornecedor2.Codigo + " - " + fornecedor2.Nome &&
                                                                             x.Data == DateTime.Today.AddDays(1).ToShortDateString());

            Assert.AreEqual(fornecedor2.Codigo + " - " + fornecedor2.Nome, planejadoRealizadoFornecedor2.NomeDoFornecedor);
            Assert.AreEqual("1000", planejadoRealizadoFornecedor2.CodigoTerminal);
            Assert.AreEqual(quota1.FluxoDeCarga.Descricao(), planejadoRealizadoFornecedor2.FluxoDeCarga);
            Assert.AreEqual(150, planejadoRealizadoFornecedor2.Quota);
            Assert.AreEqual(0, planejadoRealizadoFornecedor2.PesoRealizado);

            //Assert Fornecedor 2 - Dia 2
            planejadoRealizadoFornecedor2 = quotas
                                            .First(x => x.NomeDoFornecedor == fornecedor2.Codigo + " - " + fornecedor2.Nome &&
                                                   x.Data == DateTime.Today.AddDays(2).ToShortDateString());
            Assert.AreEqual(fornecedor2.Codigo + " - " + fornecedor2.Nome, planejadoRealizadoFornecedor2.NomeDoFornecedor);
            Assert.AreEqual("1000", planejadoRealizadoFornecedor2.CodigoTerminal);
            Assert.AreEqual(quota1.FluxoDeCarga.Descricao(), planejadoRealizadoFornecedor2.FluxoDeCarga);
            Assert.AreEqual(250, planejadoRealizadoFornecedor2.Quota);
            Assert.AreEqual(250, planejadoRealizadoFornecedor2.PesoRealizado);
        }