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