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