public void NaoDeveRetornarNenhumaAlteracaoRelevante() { Guid oidTarefa = Guid.NewGuid(); CronogramaTarefaGridItem tarefa = new CronogramaTarefaGridItem() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, OidSituacaoPlanejamentoTarefa = oidTarefa }; CronogramaTarefaGridItem tarefaAlterada = new CronogramaTarefaGridItem() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, OidSituacaoPlanejamentoTarefa = oidTarefa }; var alteracao = TarefaEditada.VerificarAlteracoesRelevantes(tarefa, tarefaAlterada); CollectionAssert.AreEqual(new List <int>(), alteracao, "Não deveria haver alteracoes relevantes"); }
public void DeveValidarQuandoHouverAlteracaoRelevanteNaEstimativaRestante() { Guid oidTarefa = Guid.NewGuid(); CronogramaTarefaGridItem tarefa = new CronogramaTarefaGridItem() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, OidSituacaoPlanejamentoTarefa = oidTarefa }; CronogramaTarefaGridItem tarefaAlterada = new CronogramaTarefaGridItem() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 5, NbRealizado = 0, OidSituacaoPlanejamentoTarefa = oidTarefa }; var alteracao = TarefaEditada.VerificarAlteracoesRelevantes(tarefa, tarefaAlterada); Assert.AreEqual((int)CsTipoCampoEditado.EstimativaRestante, alteracao.First(), "Deveria ter sido alterada a estimativa restante da tarefa"); }
public void DeveValidarQuandoHouverAlteracaoRelevanteNaEstimativaRestanteEstimativaInicialENoOidSituacaoPlanejamento() { Guid oidTarefa = Guid.NewGuid(); Guid oidTarefa2 = Guid.NewGuid(); CronogramaTarefaGridItem tarefa = new CronogramaTarefaGridItem() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, OidSituacaoPlanejamentoTarefa = oidTarefa }; CronogramaTarefaGridItem tarefaAlterada = new CronogramaTarefaGridItem() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 2, NbEstimativaRestante = 5, NbRealizado = 0, OidSituacaoPlanejamentoTarefa = oidTarefa2 }; var alteracao = TarefaEditada.VerificarAlteracoesRelevantes(tarefa, tarefaAlterada); CollectionAssert.AreEqual(new List <int>() { (int)CsTipoCampoEditado.SituacaoPlanejamento, (int)CsTipoCampoEditado.EstimativaInicial, (int)CsTipoCampoEditado.EstimativaRestante }, alteracao, "Deveria ter verificado a alteração na estimativa restante e na estimativa inicial"); }
public void DeveValidarQuandoHouverAlteracaoRelevanteNoOidDaSituacaoPlanejamentoDaTarefa() { Func <Guid> criarNovoOid = () => Guid.NewGuid(); CronogramaTarefaGridItem tarefa = new CronogramaTarefaGridItem() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, OidSituacaoPlanejamentoTarefa = criarNovoOid() }; CronogramaTarefaGridItem tarefaAlterada = new CronogramaTarefaGridItem() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, OidSituacaoPlanejamentoTarefa = criarNovoOid() }; var alteracao = TarefaEditada.VerificarAlteracoesRelevantes(tarefa, tarefaAlterada); CollectionAssert.AreEqual(new List <int>() { (int)CsTipoCampoEditado.SituacaoPlanejamento }, alteracao, "Deveria ter sido alterada a situação de planejamento da tarefa"); }
public void DevePermitirEdicaoSituacaoPlanejamentoParaAndamentoApenasQuandoPossuirHorasParaConsumir() { CronogramaTarefaDto novaTarefa = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, }; CronogramaTarefaDto novaTarefaComEstimativa = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = ConversorTimeSpan.ConverterHorasDeStringParaTicks("8:00"), NbRealizado = 0, }; CronogramaTarefaDto tarefaConsumidaParcialmente = new CronogramaTarefaDto() { CsLinhaBaseSalva = true, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = ConversorTimeSpan.ConverterHorasDeStringParaTicks("4:00"), NbRealizado = ConversorTimeSpan.ConverterHorasDeStringParaTicks("4:00"), }; CronogramaTarefaDto tarefaPronta = new CronogramaTarefaDto() { CsLinhaBaseSalva = true, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = 0, NbRealizado = ConversorTimeSpan.ConverterHorasDeStringParaTicks("8:00"), }; CronogramaTarefaDto tarefaCancelada = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = 0, NbRealizado = 0, }; string mensagem; Assert.IsFalse(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(novaTarefa, CsTipoPlanejamento.Execução, out mensagem), "Não deveria permitir setar a situação como execução pois não foi estimada uma quantidade de horas a ser realizada a tarefa."); Assert.IsTrue(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(novaTarefaComEstimativa, CsTipoPlanejamento.Execução, out mensagem), "Deveria permitir setar a situação como execução pois foi estimada uma quantidade de horas a ser realizada a tarefa."); Assert.IsTrue(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaConsumidaParcialmente, CsTipoPlanejamento.Execução, out mensagem), "Deveria permitir setar a situação como execução pois ainda há horas restantes para executar a tarefa."); Assert.IsFalse(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaPronta, CsTipoPlanejamento.Execução, out mensagem), "Não deveria permitir setar a situação como execução pois foram consumidas todas as horas de execução da tarefa."); Assert.IsFalse(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaCancelada, CsTipoPlanejamento.Execução, out mensagem), "Não deveria permitir setar a situação como execução pois após o cancelamento não há horas restantes para trabalhar na tarefa."); }
public void HouveMudancasSituacaoPlanejamentoModificadaTest() { CronogramaTarefaGridItem tarefaAtual; Guid oidCronograma = Guid.NewGuid(); Guid oidSituacaoPlanejamento = Guid.NewGuid(); tarefaAtual = CriarTarefa(oidCronograma, oidSituacaoPlanejamento); TarefaEditada tarefaEmEdicao = new TarefaEditada(tarefaAtual); tarefaAtual.OidSituacaoPlanejamentoTarefa = Guid.NewGuid(); Assert.IsTrue(tarefaEmEdicao.HouveMudancas(tarefaAtual), "Deveria alertar que houve mudança, pois foi modificado a situação planejamento da tarefa"); }
public void HouveMudancasDescricaoColaboradorModificadaTest() { CronogramaTarefaGridItem tarefaAtual; Guid oidCronograma = Guid.NewGuid(); Guid oidSituacaoPlanejamento = Guid.NewGuid(); tarefaAtual = CriarTarefa(oidCronograma, oidSituacaoPlanejamento); TarefaEditada tarefaEmEdicao = new TarefaEditada(tarefaAtual); Assert.IsFalse(tarefaEmEdicao.HouveMudancas(tarefaAtual)); tarefaAtual.TxDescricaoColaborador = "Gabriel Matos"; Assert.IsTrue(tarefaEmEdicao.HouveMudancas(tarefaAtual), "Deveria alertar que houve mudança, pois foi modificada a descrição dos colaboradores da tarefa"); }
public void HouveMudancasEstimativaRestanteModificadaTest() { CronogramaTarefaGridItem tarefaAtual; Guid oidCronograma = Guid.NewGuid(); Guid oidSituacaoPlanejamento = Guid.NewGuid(); tarefaAtual = CriarTarefa(oidCronograma, oidSituacaoPlanejamento); TarefaEditada tarefaEmEdicao = new TarefaEditada(tarefaAtual); tarefaAtual.NbEstimativaRestante = 0; Assert.IsFalse(tarefaEmEdicao.HouveMudancas(tarefaAtual), "As mudanças nulas não devem ser registradas"); tarefaAtual.NbEstimativaRestante = new TimeSpan(12, 0, 0).Ticks; Assert.IsTrue(tarefaEmEdicao.HouveMudancas(tarefaAtual), "Deveria alertar que houve mudança, pois foi modificada a estimativa restante da tarefa"); }
public void HouveMudancasObservacaoModificadaTest() { CronogramaTarefaGridItem tarefaAtual; Guid oidCronograma = Guid.NewGuid(); Guid oidSituacaoPlanejamento = Guid.NewGuid(); tarefaAtual = CriarTarefa(oidCronograma, oidSituacaoPlanejamento); TarefaEditada tarefaEmEdicao = new TarefaEditada(tarefaAtual); tarefaAtual.TxObservacaoTarefa = ""; Assert.IsFalse(tarefaEmEdicao.HouveMudancas(tarefaAtual), "As mudanças nulas não devem ser registradas"); tarefaAtual.TxObservacaoTarefa = "Nova Observacao Tarefa"; Assert.IsTrue(tarefaEmEdicao.HouveMudancas(tarefaAtual), "Deveria alertar que houve mudança, pois foi modificada a observação da tarefa"); }
public void HouveMudancasEsforcoRealizadoModificadaTest() { CronogramaTarefaGridItem tarefaAtual; Guid oidCronograma = Guid.NewGuid(); Guid oidSituacaoPlanejamento = Guid.NewGuid(); tarefaAtual = CriarTarefa(oidCronograma, oidSituacaoPlanejamento); TarefaEditada tarefaEmEdicao = new TarefaEditada(tarefaAtual); tarefaAtual.NbRealizado = 0; Assert.IsFalse(tarefaEmEdicao.HouveMudancas(tarefaAtual), "As mudanças nulas não devem ser registradas"); tarefaAtual.NbRealizado = ConversorTimeSpan.ConverterHorasDeStringParaTicks("12:00"); Assert.IsTrue(tarefaEmEdicao.HouveMudancas(tarefaAtual), "Deveria alertar que houve mudança, pois foi modificado esforço realizado da tarefa"); }
public void DevePermitirEdicaoSituacaoPlanejamentoParaProntoSePossuirEstimativaInicial() { CronogramaTarefaDto novaTarefa = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, }; CronogramaTarefaDto novaTarefaComEstimativa = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = ConversorTimeSpan.ConverterHorasDeStringParaTicks("8:00"), NbRealizado = 0, }; CronogramaTarefaDto tarefaConsumidaParcialmente = new CronogramaTarefaDto() { CsLinhaBaseSalva = true, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = ConversorTimeSpan.ConverterHorasDeStringParaTicks("4:00"), NbRealizado = ConversorTimeSpan.ConverterHorasDeStringParaTicks("4:00"), }; CronogramaTarefaDto tarefaCanceladaParcialmenteRealizada = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = ConversorTimeSpan.ConverterHorasDeStringParaTicks("6:00"), NbRealizado = ConversorTimeSpan.ConverterHorasDeStringParaTicks("2:00"), }; string mensagem; Assert.IsFalse(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(novaTarefa, CsTipoPlanejamento.Encerramento, out mensagem), "Não deve permitir ir para o estado de pronto pois não possui uma estimativa inicial de duração"); Assert.IsTrue(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(novaTarefaComEstimativa, CsTipoPlanejamento.Encerramento, out mensagem), "Deve permitir pois a tarefa já possui uma estimativa inicial de duração."); Assert.IsTrue(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaConsumidaParcialmente, CsTipoPlanejamento.Encerramento, out mensagem), "Deve permitir pois a tarefa já possui uma estimativa inicial de duração"); Assert.IsTrue(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaCanceladaParcialmenteRealizada, CsTipoPlanejamento.Encerramento, out mensagem), "Deve permitir a edição pois a tarefa já possui uma estimativa inicial de duração."); }
public void RnValidarTarefaEditadaQuandoEstimativaInicialSejaAlteradaTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento1 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); //cria cronograma Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento1, new DateTime(), new DateTime(), true); //cria colaborador Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); //adiciona colaborador como responsável pela tarefa string responsaveis = colaborador1.NomeCompleto; List <CronogramaTarefa> tarefasImpactadas; DateTime dataHoraAcao = new DateTime(); //cria tarefa a partir da RnIncluirTarefa em CronogramaTarefa CronogramaTarefa novaTarefa = CronogramaTarefaBo.CriarCronogramaTarefa(cronograma1.Oid, "Tarefa 01", situacaoPlanejamento1, DateTime.Now, responsaveis, colaborador1.Usuario.UserName, out tarefasImpactadas, ref dataHoraAcao, "Criar método1", 3, 0); //recupera a tarefa criada CronogramaTarefa tarefa = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(novaTarefa.Oid, o => o.Tarefa.SituacaoPlanejamento); //criar um Dto da tarefa e repassa as informações para poder utilizar o método que está sendo testado CronogramaTarefaGridItem tarefaDto = new CronogramaTarefaGridItem(); tarefaDto.OidCronogramaTarefa = tarefa.Oid; tarefaDto.TxDescricaoSituacaoPlanejamentoTarefa = tarefa.Tarefa.SituacaoPlanejamento.TxDescricao; tarefaDto.NbEstimativaInicial = tarefa.Tarefa.NbEstimativaInicial; tarefaDto.NbEstimativaRestante = tarefa.Tarefa.NbEstimativaRestante; //adiciona tarefa na lista de tarefas antigas (antes de serem alteradas) List <CronogramaTarefaGridItem> tarefasAntigas = new List <CronogramaTarefaGridItem>(); tarefasAntigas.Add(tarefaDto); //cria uma tarefa Dto alterada e modifica o campo situação de planejamento CronogramaTarefaGridItem tarefaDtoAlterada = new CronogramaTarefaGridItem(); tarefaDtoAlterada.OidCronogramaTarefa = tarefaDto.OidCronogramaTarefa; tarefaDtoAlterada.TxDescricaoSituacaoPlanejamentoTarefa = tarefaDto.TxDescricaoSituacaoPlanejamentoTarefa; tarefaDtoAlterada.NbEstimativaInicial = 5; tarefaDtoAlterada.NbEstimativaRestante = tarefaDto.NbEstimativaRestante; //adiciona a tarefa na lista de tarefas modificadas. List <CronogramaTarefaGridItem> tarefasAtualizadas = new List <CronogramaTarefaGridItem>(); tarefasAtualizadas.Add(tarefaDtoAlterada); //valida os campos alterados Hashtable camposAlterados = TarefaEditada.ValidarCamposRelevantesAlterados(tarefasAntigas, tarefasAtualizadas); List <int> campos = new List <int>(); campos = (List <int>)camposAlterados[tarefaDto.OidCronogramaTarefa]; Assert.AreEqual(1, campos.Count, "Deveria ter sido alterado apenas um campo."); Assert.AreEqual((int)CsTipoCampoEditado.EstimativaInicial, campos[0], "O campo alterado deveria ser do mesmo Tipo"); Assert.AreNotEqual(tarefaDto.NbEstimativaInicial, tarefaDtoAlterada.NbEstimativaInicial, "Não deveriam ser iguais, pois o campo foi alterado."); }
public void DevePermitirEdicaoSituacaoPlanejamentoParaNaoIniciadoApenasQuandoNaoFoiRealizadoNenhumEsforco() { CronogramaTarefaDto novaTarefa = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 0, NbEstimativaRestante = 0, NbRealizado = 0, }; CronogramaTarefaDto novaTarefaComEstimativa = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = ConversorTimeSpan.ConverterHorasDeStringParaTicks("8:00"), NbRealizado = 0, }; CronogramaTarefaDto tarefaConsumidaParcialmente = new CronogramaTarefaDto() { CsLinhaBaseSalva = true, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = ConversorTimeSpan.ConverterHorasDeStringParaTicks("4:00"), NbRealizado = ConversorTimeSpan.ConverterHorasDeStringParaTicks("4:00"), }; CronogramaTarefaDto tarefaPronta = new CronogramaTarefaDto() { CsLinhaBaseSalva = true, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = 0, NbRealizado = ConversorTimeSpan.ConverterHorasDeStringParaTicks("8:00"), }; CronogramaTarefaDto tarefaCancelada = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = 0, NbRealizado = 0, }; CronogramaTarefaDto tarefaCanceladaParcialmenteRealizada = new CronogramaTarefaDto() { CsLinhaBaseSalva = false, DtAtualizadoEm = DateTime.Now, NbEstimativaInicial = 8, NbEstimativaRestante = ConversorTimeSpan.ConverterHorasDeStringParaTicks("6:00"), NbRealizado = ConversorTimeSpan.ConverterHorasDeStringParaTicks("2:00"), }; string mensagem; Assert.IsTrue(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(novaTarefa, CsTipoPlanejamento.Planejamento, out mensagem), "Deve poder estar na situação de não iniciado pois não foi realizado nenhum esforço"); Assert.IsTrue(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(novaTarefaComEstimativa, CsTipoPlanejamento.Planejamento, out mensagem), "Deve poder estar na situação de não iniciado pois não foi realizado nenhum esforço."); Assert.IsFalse(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaConsumidaParcialmente, CsTipoPlanejamento.Planejamento, out mensagem), "Não deve poder estar na situação de não iniciado pois foi estimado um esforço realizado."); Assert.IsFalse(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaPronta, CsTipoPlanejamento.Planejamento, out mensagem), "Não deve poder estar na situação de não iniciado pois a tarefa já foi executada."); Assert.IsTrue(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaCancelada, CsTipoPlanejamento.Planejamento, out mensagem), "Deve poder estar na situação de não iniciado pois não foi realizado nenhum esforço."); Assert.IsFalse(TarefaEditada.ValidarEdicaoSituacaoPlanejamento(tarefaCanceladaParcialmenteRealizada, CsTipoPlanejamento.Planejamento, out mensagem), "Não deve poder estar na situação de não iniciado pois foi realizado um esforço parcial na tarefa."); }