public void ExcluirCronogramaQuandoExistirTarefasComHistoricoNoCronogramaTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamentoNaoIniciado = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); SituacaoPlanejamento situacaoPlanejamentoEmAndamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); Colaborador colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamentoNaoIniciado, new DateTime(), new DateTime(), true); List <CronogramaTarefa> tarefasReordenadas = new List <CronogramaTarefa>(); DateTime dataHoraDaAcao = new DateTime(); CronogramaTarefa cronogramaTarefa = CronogramaBo.CriarTarefa(cronograma1.Oid, (string)"Tarefa 01", situacaoPlanejamentoNaoIniciado.Oid.ToString(), DateTime.Today, colaborador.Usuario.UserName, "", "", out tarefasReordenadas, ref dataHoraDaAcao, 5); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa((Guid)cronogramaTarefa.OidTarefa, colaborador.Usuario.UserName, new TimeSpan(3, 0, 0), DateTime.Now, new TimeSpan(8, 0, 0), new TimeSpan(11, 0, 0), "comentário", new TimeSpan(2, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TarefaHistoricoTrabalho historicoCriado = TarefaHistoricoTrabalhoDao.ConsultarTarefaHistoricoAtualPorOidTarefa((Guid)cronogramaTarefa.OidTarefa); bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsNotNull(historicoCriado, "Deveria ter criado um histórico pra tarefa"); Assert.IsTrue(cronogramaExcluido, "Deveria ser true, pois o cronograma exclui quaisquer tarefas associadas a ele."); }
public void ExcluirTarefaQuandoNaoExistirTarefaParaExcluir() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); List <Guid> oidTarefas = new List <Guid>(); oidTarefas.Add(tarefa.Oid); List <Guid> oidTarefasExcluidas = new List <Guid>(); TarefaBo.ExcluirTarefa(contexto, oidTarefas); oidTarefasExcluidas = TarefaBo.ExcluirTarefa(contexto, oidTarefas); Tarefa tarefaExcluida = TarefaDao.ConsultarTarefaPorOid(tarefa.Oid); Assert.AreEqual(0, oidTarefasExcluidas.Count, "Não deve existir nenhuma tarefa na lista, pois nenhuma tarefa foi deletada (pois a tarefa já estava deletada)"); Assert.IsNull(tarefaExcluida, "Deveria ser nulo, pois a tarefa deveria ter sido excluida."); }
public void CriarTarefaQuandoSituacaoPlanejamentoPadraoNaoExistirTest() { //Situação planejamento SituacaoPlanejamento situacaoPlanejamento1 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = String.Format("{0}", colaborador1.NomeCompleto); //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa1 = new Tarefa(); tarefa1 = TarefaBo.CriarTarefa("Tarefa 01", null, dtInicio, colaborador1.Usuario.UserName, "Criar método1", responsaveis, 3); //busca tarefa criada Tarefa tarefaCriada1 = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa1.Oid); //verifica se existe Assert.IsNotNull(tarefaCriada1, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa1, tarefaCriada1, "Deveria ter criado uma tarefa com os mesmos dados"); //verifica se os responsáveis são os mesmos. Assert.AreEqual("Anderson,Pedro,Joao", tarefa1.TxResponsaveis, "Deveria retornar 3 responsáveis cadastrados na tarefa."); //Verifica Situação Planejamento Assert.AreEqual(situacaoPlanejamento1, tarefa1.SituacaoPlanejamento); }
public void CriarTarefaQuandoHouverUmResponsavelApenasTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); //busca tarefa criada Tarefa tarefaCriada = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa.Oid); //verifica se existe Assert.IsNotNull(tarefaCriada, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa.Oid, tarefaCriada.Oid, "Deveria ter criado uma tarefa com os mesmos dados"); }
public void CriarCapacidadeDePlanejamentoParaOCronogramaAtualQuandoHouverCapacidadeCadastradaParaODiaAtual() { var situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); var cronograma = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(2013, 11, 1), new DateTime(2013, 11, 10), true); var capacidadePlan = new CronogramaCapacidadePlan() { Cronograma = cronograma, DtDia = new DateTime(2013, 11, 1), HorasCapacidade = TimeSpan.Zero, HorasDiaAnterior = TimeSpan.Zero, HorasPlanejadas = TimeSpan.Zero }; CronogramaCapacidadePlanDao.CriarCapacidadePlanejamento(contexto, cronograma, capacidadePlan); var segundaCapacidadePlan = new CronogramaCapacidadePlan() { Cronograma = cronograma, DtDia = new DateTime(2013, 11, 1), HorasCapacidade = TimeSpan.Zero, HorasDiaAnterior = TimeSpan.Zero, HorasPlanejadas = TimeSpan.Zero }; CronogramaCapacidadePlanDao.CriarCapacidadePlanejamento(contexto, cronograma, segundaCapacidadePlan); }
public void CriarTarefaQuandoLogSofrerAlteracaoPorOutroUsuarioTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); Colaborador colaborador2 = ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); tarefa.TxDescricao = "Tarefa Alterada"; tarefa.DtAtualizadoEm = DateUtil.ConsultarDataHoraAtual(); tarefa.AtualizadoPor = colaborador2; contexto.SaveChanges(); DateUtil.CurrentDateTime = (DateTime)tarefa.DtAtualizadoEm; Assert.AreEqual("Tarefa Alterada", tarefa.TxDescricao); Assert.AreEqual(DateUtil.CurrentDateTime, tarefa.DtAtualizadoEm); Assert.AreEqual(colaborador2, tarefa.AtualizadoPor); }
public void EditarTarefaQuandoLinhaBaseNaoEstiverSalvaTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronogramaPadrao1 = CronogramaBo.CriarCronogramaPadrao(contexto); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dataInicio = DateTime.Now; List <CronogramaTarefa> tarefaImpactadas; DateTime dataHoraAcao = new DateTime(); CronogramaTarefa novaTarefa = CronogramaTarefaBo.CriarCronogramaTarefa(cronogramaPadrao1.Oid, (string)"Tarefa 01", situacaoPlanejamento, dataInicio, responsaveis, colaborador1.Usuario.UserName, out tarefaImpactadas, ref dataHoraAcao, (string)"Criar método", 3, 0); //busca tarefa criada CronogramaTarefa tarefaCriada = contexto.CronogramaTarefa.FirstOrDefault(o => o.Oid == novaTarefa.Oid); //Alterando responsaveis Colaborador colaborador2 = ColaboradorFactoryEntity.CriarColaborador(contexto, "pedro.lins", true); colaborador2.Usuario.UserName = "******"; Colaborador colaborador3 = ColaboradorFactoryEntity.CriarColaborador(contexto, "joao.lins", true); colaborador3.Usuario.UserName = "******"; string responsaveisAlterado = String.Format("{0},{1}", colaborador2.NomeCompleto, colaborador3.NomeCompleto); //cria situação planejamento alterada SituacaoPlanejamento situacaoPlanejamento2 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S2", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Cancelamento, CsPadraoSistema.Sim, true); string txDescricaoAlterada = "Tarefa 01 alterada"; string txObservacaoAlterada = "Criar método alterado"; Int16 EstimativaInicialHoraAlterada = 4; TarefaBo.EditarTarefa(tarefaCriada.Oid.ToString(), txDescricaoAlterada, situacaoPlanejamento2.Oid.ToString(), colaborador1.Usuario.UserName, txObservacaoAlterada, responsaveisAlterado, EstimativaInicialHoraAlterada, new TimeSpan(0), new TimeSpan(0), false, dataInicio); //busca tarefa criada CronogramaTarefa tarefaAlterada = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(tarefaCriada.Oid, o => o.Tarefa.SituacaoPlanejamento, o => o.Tarefa.TarefaResponsaveis); DateUtil.CurrentDateTime = (DateTime)tarefaAlterada.Tarefa.DtAtualizadoEm; Assert.AreEqual(DateUtil.CurrentDateTime, tarefaAlterada.Tarefa.DtAtualizadoEm, "As datas devem ser iguais."); Assert.AreEqual(txDescricaoAlterada, tarefaAlterada.Tarefa.TxDescricao, "Devem ser as mesmas, pois a descrição foi alterada."); Assert.AreEqual(txObservacaoAlterada, tarefaAlterada.Tarefa.TxObservacao, "Devem ser as mesmas, pois a data foi alterada."); Assert.AreEqual(EstimativaInicialHoraAlterada, tarefaAlterada.Tarefa.NbEstimativaInicial, ""); Assert.AreEqual(situacaoPlanejamento2.Oid, tarefaAlterada.Tarefa.OidSituacaoPlanejamento, ""); Assert.AreEqual(responsaveisAlterado, tarefaAlterada.Tarefa.TxResponsaveis); }
public void ConsultarCronogramaTarefasPorOidCronogramaQuandoExistirMaisDeUmaTarefa() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = DateTime.Now; DateTime dataHoraAcao = new DateTime(); List <CronogramaTarefa> tarefasImpactadas; //cria tarefa CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 01", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 02", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 03", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 04", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 05", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas, ref dataHoraAcao, 3, 0); //lista de oid tarefas. List <CronogramaTarefa> cronogramaTarefas = new List <CronogramaTarefa>(); cronogramaTarefas = CronogramaTarefaDao.ConsultarCronogramaTarefasPorOidCronograma(cronograma1.Oid); Assert.AreEqual(1, cronogramaTarefas[0].NbID, "Deveria ser 1, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); Assert.AreEqual(2, cronogramaTarefas[1].NbID, "Deveria ser 2, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); Assert.AreEqual(3, cronogramaTarefas[2].NbID, "Deveria ser 3, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); Assert.AreEqual(4, cronogramaTarefas[3].NbID, "Deveria ser 4, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); Assert.AreEqual(5, cronogramaTarefas[4].NbID, "Deveria ser 5, pois o método de busca deveria ordenar adequadamente a partir do NbId de cada tarefa"); }
public void CriarContexto() { situacoesPlanejamento = new List <SituacaoPlanejamento>(); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true)); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true)); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Cancelado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Cancelamento, CsPadraoSistema.Não, true)); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Impedimento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Impedimento, CsPadraoSistema.Não, true)); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Pronto", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Encerramento, CsPadraoSistema.Não, true)); }
public void ExcluirCronogramaQuandoCronogramaNaoPossuirTarefasENaoPossuirUltimaSelecaoParaUmUsuarioTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsTrue(cronogramaExcluido, "Deveria ser verdadeiro, pois o cronograma não possui tarefas e ele ainda existe"); }
public void ExcluirTarefaQuandoExistirHistoricoELogAlteracao() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); TarefaHistoricoTrabalho tarefaHistorico = new TarefaHistoricoTrabalho(); tarefaHistorico.OidTarefa = tarefa.Oid; tarefaHistorico.OidColaborador = colaborador1.Oid; tarefaHistorico.DtRealizado = DateTime.Now; tarefaHistorico.HoraFinal = new TimeSpan(10, 0, 0); tarefaHistorico.HoraInicio = new TimeSpan(5, 0, 0); tarefaHistorico.HoraRealizado = new TimeSpan(4, 0, 0); tarefaHistorico.HoraRestante = new TimeSpan(6, 0, 0); tarefaHistorico.TxComentario = "Comentario"; contexto.TarefaHistoricoTrabalho.Add(tarefaHistorico); contexto.SaveChanges(); List <Guid> oidTarefas = new List <Guid>(); oidTarefas.Add(tarefa.Oid); List <Guid> oidTarefasExcluidas = new List <Guid>(); oidTarefasExcluidas = TarefaBo.ExcluirTarefa(contexto, oidTarefas); Tarefa tarefaExcluida = TarefaDao.ConsultarTarefaPorOid(tarefa.Oid); TarefaHistoricoTrabalho tarefaHistoricoExcluido = contexto.TarefaHistoricoTrabalho.FirstOrDefault(o => o.OidTarefa == tarefa.Oid); TarefaLogAlteracao tarefaLogExcluido = contexto.TarefaLogAlteracao.FirstOrDefault(o => o.OidTarefa == tarefa.Oid); Assert.AreEqual(1, oidTarefasExcluidas.Count, "Deve ter excluido uma tarefa"); Assert.AreEqual(tarefa.Oid, oidTarefasExcluidas[0], "Deve ter excluido a tarefa com este oid"); Assert.IsNull(tarefaExcluida, "Deveria ser nulo, pois a tarefa deveria ter sido excluida."); Assert.IsNotNull(tarefaHistoricoExcluido, "Não deveria ser nulo, pois a tarefa deveria ter sido excluida, mas o historico permanece."); Assert.IsNotNull(tarefaLogExcluido, "Não deveria ser nulo, pois a tarefa deveria ter sido excluida, mas o Log permanece."); }
public void Inicializar() { situacoesPlanejamento = new List <SituacaoPlanejamento>(); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true)); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true)); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Cancelado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Cancelamento, CsPadraoSistema.Não, true)); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Impedimento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Impedimento, CsPadraoSistema.Não, true)); situacoesPlanejamento.Add(CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Pronto", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Encerramento, CsPadraoSistema.Não, true)); Cronograma = CronogramaBo.CriarCronogramaPadrao(); _tarefasImpactadas = new List <CronogramaTarefa>(); _dataAcao = new DateTime(); }
public void EditarTarefaQuandoAlterarHorasRestantesEHorasRealizadoTarefaTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronogramaPadrao1 = CronogramaBo.CriarCronogramaPadrao(contexto); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dataInicio = DateTime.Now; List <CronogramaTarefa> tarefasImpactadas; DateTime dataHoraAcao = new DateTime(); CronogramaTarefa novaTarefa = CronogramaTarefaBo.CriarCronogramaTarefa(cronogramaPadrao1.Oid, (string)"Tarefa 01", situacaoPlanejamento, dataInicio, responsaveis, colaborador1.Usuario.UserName, out tarefasImpactadas, ref dataHoraAcao, (string)"Criar método", 3, 0); //busca tarefa criada CronogramaTarefa tarefaCriada = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(novaTarefa.Oid, o => o.Tarefa.SituacaoPlanejamento); //Salvando a linha de base bool salvarLinhaBaseTarefa = true; TimeSpan estimativaRestante = tarefaCriada.Tarefa.EstimativaInicialHora; string responsaveisAlterado = colaborador1.NomeCompleto; TarefaBo.EditarTarefa(tarefaCriada.Oid.ToString(), tarefaCriada.Tarefa.TxDescricao, tarefaCriada.Tarefa.SituacaoPlanejamento.Oid.ToString(), colaborador1.Usuario.UserName, tarefaCriada.Tarefa.TxObservacao, responsaveisAlterado, tarefaCriada.Tarefa.NbEstimativaInicial, estimativaRestante, new TimeSpan(0), salvarLinhaBaseTarefa, dataInicio); //busca tarefa criada CronogramaTarefa tarefaAlterada = contexto.CronogramaTarefa.FirstOrDefault(o => o.Oid == tarefaCriada.Oid); //Alterando Estimativa Restante da tarefa TimeSpan estimativaRestanteAlterada = new TimeSpan(1, 0, 0); TimeSpan horasRealizado = new TimeSpan(2, 0, 0); TarefaBo.EditarTarefa(tarefaCriada.Oid.ToString(), tarefaCriada.Tarefa.TxDescricao, tarefaCriada.Tarefa.SituacaoPlanejamento.Oid.ToString(), colaborador1.Usuario.UserName, tarefaCriada.Tarefa.TxObservacao, responsaveisAlterado, tarefaCriada.Tarefa.NbEstimativaInicial, estimativaRestanteAlterada, horasRealizado, salvarLinhaBaseTarefa, DateTime.Now); //busca tarefa criada CronogramaTarefa tarefaAlteradaHorario = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(tarefaCriada.Oid, o => o.Tarefa.SituacaoPlanejamento); Assert.AreEqual(new TimeSpan(3, 0, 0), tarefaCriada.Tarefa.EstimativaInicialHora, "Deve ser a mesma estimativa inicial."); Assert.AreEqual(estimativaRestanteAlterada, tarefaAlteradaHorario.Tarefa.EstimativaRestanteHora, "Deve ter alterado a estimativa restante."); Assert.AreEqual(horasRealizado, tarefaAlteradaHorario.Tarefa.EstimativaRealizadoHora, "Deve ter alterado as horas realizado."); }
public void DadoQueExistaMASSituacaoOesDePlanejamentoASeguir(Table table) { CsPadraoSistema padraoSistema = CsPadraoSistema.Não; CsTipoPlanejamento tipoPlanejamento = CsTipoPlanejamento.Cancelamento; for (int i = 0; i < table.RowCount; i++) { padraoSistema = SituacaoPlanejamentoBddHelper.ConverterSituacaoPadraoSistemaStrinParaSituacaoPadraoSistemaDomain(table.Rows[i][table.Header.ToList()[3]]); tipoPlanejamento = SituacaoPlanejamentoBddHelper.ConverterTipoPlanejamentoStringParaTipoPlanejamentoDomain(table.Rows[i][table.Header.ToList()[0]]); CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, table.Rows[i][table.Header.ToList()[1]], CsTipoSituacaoPlanejamento.Ativo, tipoPlanejamento, padraoSistema); } }
public void ExcluirCronogramaQuandoCronogramaPossuirTarefasENaoPossuirUltimaSelecaoTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); CronogramaTarefa cronogramaTarefa = CronogramaFactoryEntity.CriarTarefa(contexto, 1, "Tarefa 01", "", situacaoPlanejamento, 0, new TimeSpan(), colaborador, cronograma1, null, true); bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsTrue(cronogramaExcluido, "Deveria ser true, pois o cronograma exclui quaisquer tarefas associadas a ele."); }
public void ConsultarUltimoCronogramaSelecionadoQuandoUmUsuarioPossuirUmCronogramaAnteriormenteSelecinadoTest() { SituacaoPlanejamento situacaoPlanejamento1 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Situacao 01", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); User usuario01 = CronogramaFactoryEntity.CriarUsuario(contexto, "anderson.lins", "Anderson", "Lins", "*****@*****.**", true); Cronograma cronograma01 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma01", situacaoPlanejamento1, DateTime.Now, DateTime.Now, true); CronogramaUltimaSelecaoDao.SalvarUltimoCronogramaSelecionado(contexto, usuario01.UserName, cronograma01.Oid); Cronograma cronogramaUsuario01 = CronogramaUltimaSelecaoDao.ConsultarUltimoCronogramaSelecionado(contexto, usuario01.UserName); Assert.AreEqual(cronograma01, cronogramaUsuario01, "Deve ser o mesmo Cronograma, pois salvou como último cronograma selecionado para este usuário"); }
public void ExcluirCronogramaQuandoCronogramaNaoExistirMaisTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); Guid oidCronograma = cronograma1.Oid; contexto.Cronograma.Remove(cronograma1); contexto.SaveChanges(); bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, oidCronograma); Assert.IsFalse(cronogramaExcluido, "Deveria ser falo, pois o cronograma não deveria existir mais."); }
public void AtualizarDadosTarefaQuandoJáExistirColaboradorNaListaDeResponsaveisTest() { //Cria situação planejamento SituacaoPlanejamento situacaoPlanejamentoNaoIniciado = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true); //Cria situação planejamento SituacaoPlanejamento situacaoPlanejamentoEmAndamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = String.Format("{0}", colaborador1.NomeCompleto); //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa1 = new Tarefa(); tarefa1 = TarefaBo.CriarTarefa("Tarefa 01", situacaoPlanejamentoNaoIniciado, dtInicio, colaborador1.Usuario.UserName, "Criar método1", responsaveis, 5); //busca tarefa criada Tarefa tarefaCriada = TarefaDao.ConsultarTarefaPorOid(tarefa1.Oid, o => o.SituacaoPlanejamento); //simulando passagem de parâmetros ao criar um histórico. TarefaBo.AtualizarDadosTarefa(tarefaCriada.Oid, colaborador1, situacaoPlanejamentoEmAndamento, new TimeSpan(3, 0, 0), new TimeSpan(2, 0, 0), tarefaCriada.CsLinhaBaseSalva); Tarefa tarefaAlterada = TarefaDao.ConsultarTarefaPorOid(tarefaCriada.Oid, o => o.SituacaoPlanejamento); List <string> responsaveisTarefa = new List <string>(tarefaAlterada.TxResponsaveis.Split(',')); //Responsável Tarefa Assert.AreEqual(1, responsaveisTarefa.Count, "Deveria ter um responsável, pois foi adicionado apenas 1 colaborador pela tarefa."); Assert.AreEqual(colaborador1.NomeCompleto, responsaveisTarefa.First(), "Deveriam ser iguais, pois é o único cadastrado."); //Situacao Planejamento Assert.AreEqual(tarefaAlterada.OidSituacaoPlanejamento, situacaoPlanejamentoEmAndamento.Oid, "Deveria ser o mesmo Oid, pois a tarefa foi alterada para Em Andamento."); //Estimativas Assert.AreEqual(new TimeSpan(2, 0, 0), tarefaAlterada.NbEstimativaRestante.ToTimeSpan(), "Deveriam ser iguais, pois a tarefa possui 5 horas de estimativa inicial e foram realizadas 3 horas, então sobram 2"); Assert.AreEqual(new TimeSpan(3, 0, 0), tarefaAlterada.NbRealizado.ToTimeSpan(), "Deveria ser 3 horas, pois foram realizadas 3 horas na tarefa e o historico foi salvo."); }
public void CriarContextoTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); //cria cronograma Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "C1", situacaoPlanejamento, new DateTime(), new DateTime(), true); Cronograma cronograma2 = CronogramaFactoryEntity.CriarCronograma(contexto, "C2", situacaoPlanejamento, new DateTime(), new DateTime(), true); Cronograma cronograma3 = CronogramaFactoryEntity.CriarCronograma(contexto, "C3", situacaoPlanejamento, new DateTime(), new DateTime(), true); cronogramas.Add(cronograma1); cronogramas.Add(cronograma2); cronogramas.Add(cronograma3); }
public void CriarTarefaQuandoTarefasForemImpactadasTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); Cronograma cronograma2 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 02", situacaoPlanejamento, new DateTime(), new DateTime(), true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); List <CronogramaTarefa> tarefasImpactadas1; List <CronogramaTarefa> tarefasImpactadas2; DateTime dataHoraAcao = new DateTime(); //cria tarefas cronograma1 CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 01", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas1, ref dataHoraAcao, 3, 0); List <CronogramaTarefa> lstCronoTarefa1 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma1.Oid).ToList(); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 02", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas1, ref dataHoraAcao, 3, lstCronoTarefa1[0].NbID); lstCronoTarefa1 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma1.Oid).ToList(); CronogramaBo.CriarTarefa(cronograma1.Oid, "Tarefa 03", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas1, ref dataHoraAcao, 3, lstCronoTarefa1[0].NbID); lstCronoTarefa1 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma1.Oid).ToList(); CronogramaBo.CriarTarefa(cronograma2.Oid, "Tarefa 01", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas2, ref dataHoraAcao, 3, 0); List <CronogramaTarefa> lstCronoTarefa2 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma2.Oid).ToList(); CronogramaBo.CriarTarefa(cronograma2.Oid, "Tarefa 02", situacaoPlanejamento.Oid.ToString(), dtInicio, colaborador1.Usuario.UserName, "Criar método", responsaveis, out tarefasImpactadas2, ref dataHoraAcao, 3, lstCronoTarefa2[0].NbID); lstCronoTarefa2 = contexto.CronogramaTarefa.Where(o => o.OidCronograma == cronograma2.Oid).ToList(); Assert.IsNotNull(lstCronoTarefa1); Assert.AreEqual(3, lstCronoTarefa1.Count); Assert.AreEqual(2, tarefasImpactadas1.Count); Assert.IsNotNull(lstCronoTarefa2); Assert.AreEqual(2, lstCronoTarefa2.Count); }
public void CriarCapacidadeDePlanejamentoParaOCronogramaAtualQuandoNaoHouverCapacidadeCadastradaParaODiaAtual() { var situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); var cronograma = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(2013, 11, 1), new DateTime(2013, 11, 10), true); var capacidadePlan = new CronogramaCapacidadePlan() { Cronograma = cronograma, DtDia = new DateTime(2013, 11, 1), HorasCapacidade = TimeSpan.Zero, HorasDiaAnterior = TimeSpan.Zero, HorasPlanejadas = TimeSpan.Zero }; CronogramaCapacidadePlanDao.CriarCapacidadePlanejamento(contexto, cronograma, capacidadePlan); var capacidadePlanEsperada = CronogramaCapacidadePlanDao.ConsultarCronogramaCapacidadePlanPorOid(contexto, capacidadePlan.Oid); Assert.IsTrue(capacidadePlan.Equals(capacidadePlanEsperada), "Deveria possuir os mesmos valores"); }
public void ConsultarHorarioUltimaTarefaDiaColaboradorQuandoColaboradorTiverRealizadoTarefaNoDia() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamentoNaoIniciado = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); SituacaoPlanejamento situacaoPlanejamentoEmAndamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); //colaborador1 Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamentoNaoIniciado, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 5); //Salvando linha base tarefa tarefa.CsLinhaBaseSalva = true; contexto.Entry <Tarefa>(tarefa).State = System.Data.EntityState.Modified; contexto.SaveChanges(); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa.Oid, colaborador1.Usuario.UserName, new TimeSpan(3, 0, 0), DateTime.Now, new TimeSpan(8, 0, 0), new TimeSpan(11, 0, 0), "comentário", new TimeSpan(2, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); //colaborador2 Colaborador colaborador2 = ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa.Oid, colaborador2.Usuario.UserName, new TimeSpan(1, 0, 0), DateTime.Now, new TimeSpan(13, 0, 0), new TimeSpan(14, 0, 0), "comentário historico 2", new TimeSpan(1, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TimeSpan nbHoraFinal = TarefaHistoricoTrabalhoDao.ConsultarHorarioUltimaTarefaDiaColaborador(contexto, colaborador1.Usuario.UserName, DateTime.Now); Assert.AreEqual(new TimeSpan(11, 0, 0), nbHoraFinal, "Deveria ser o mesmo horário, pois o colaborador 1 realizou uma tarefa de 8 às 11 no dia."); }
public void ExcluirCronogramaQuandoCronogramaNaoPossuirTarefasEPossuirUltimaSelecaoTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); User usuario = CronogramaFactoryEntity.CriarUsuario(contexto, "anderson.lins", "Anderson", "Lins", "*****@*****.**", true); CronogramaUltimaSelecao ultimaSelecao = new CronogramaUltimaSelecao(); ultimaSelecao.DataAcesso = DateTime.Now; ultimaSelecao.Usuario = usuario; ultimaSelecao.OidUltimoCronograma = cronograma1.Oid; ultimaSelecao.Cronograma = cronograma1; bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsTrue(cronogramaExcluido, "Deveria ser verdadeiro, pois o cronograma não possui tarefas associadas a ele."); }
public void ExcluirCronogramaQuandoCronogramaPossuirTarefasEUltimaSelecaoParaUmUsuarioTest() { SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronograma1 = CronogramaFactoryEntity.CriarCronograma(contexto, "Cronograma 01", situacaoPlanejamento, new DateTime(), new DateTime(), true); Colaborador colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", new DateTime(), "*****@*****.**", "Anderson", "", "Lins", "anderson.lins", null, true); CronogramaTarefa cronogramaTarefa = CronogramaFactoryEntity.CriarTarefa(contexto, 1, "Tarefa 01", "", situacaoPlanejamento, 0, new TimeSpan(), colaborador, cronograma1, null, true); CronogramaUltimaSelecao ultimaSelecao = new CronogramaUltimaSelecao(); ultimaSelecao.DataAcesso = DateTime.Now; ultimaSelecao.Usuario = colaborador.Usuario; ultimaSelecao.OidUltimoCronograma = cronograma1.Oid; ultimaSelecao.Cronograma = cronograma1; bool cronogramaExcluido = CronogramaBo.ExcluirCronograma(contexto, cronograma1.Oid); Assert.IsTrue(cronogramaExcluido, "Deveria ser true, pois o cronograma exclui quaisquer tarefas associadas a ele."); }
public void CriarTarefaQuandoHouverUmOuMaisResponsaveisTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); Colaborador colaborador2 = ColaboradorFactoryEntity.CriarColaborador(contexto, "pedro.lins", true); colaborador2.Usuario.UserName = "******"; Colaborador colaborador3 = ColaboradorFactoryEntity.CriarColaborador(contexto, "joao.lins", true); colaborador3.Usuario.UserName = "******"; string responsaveis = String.Format("{0},{1},{2}", colaborador1.NomeCompleto, colaborador2.NomeCompleto, colaborador3.NomeCompleto); //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); //busca tarefa criada Tarefa tarefaCriada = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa.Oid); //verifica se existe Assert.IsNotNull(tarefaCriada, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa.Oid, tarefaCriada.Oid, "Deveria ter criado uma tarefa com os mesmos dados"); //verifica se os responsáveis são os mesmos. Assert.AreEqual(responsaveis, tarefaCriada.TxResponsaveis, "Deveria ser a mesma string com os mesmos colaboradores."); }
public void EditarTarefaQuandoSalvarLinhaBaseTarefaTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Cronograma cronogramaPadrao1 = CronogramaBo.CriarCronogramaPadrao(contexto); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dataInicio = DateTime.Now; List <CronogramaTarefa> tarefasImpactadas; DateTime dataHoraAcao = new DateTime(); CronogramaTarefa novaTarefa = CronogramaTarefaBo.CriarCronogramaTarefa(cronogramaPadrao1.Oid, (string)"Tarefa 01", situacaoPlanejamento, dataInicio, responsaveis, colaborador1.Usuario.UserName, out tarefasImpactadas, ref dataHoraAcao, (string)"Criar método", 3, 0); //busca tarefa criada CronogramaTarefa tarefaCriada = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(novaTarefa.Oid, o => o.Tarefa.SituacaoPlanejamento, o => o.Cronograma, o => o.Tarefa.AtualizadoPor.Usuario.Person, o => o.Tarefa); bool salvarLinhaBaseTarefa = true; TimeSpan estimativaRestante = TarefaDao.ConsultarTarefaPorOid((Guid)tarefaCriada.OidTarefa).EstimativaRestanteHora; string responsaveisTarefaEdicao = colaborador1.NomeCompleto; TarefaBo.EditarTarefa(tarefaCriada.Oid.ToString(), tarefaCriada.Tarefa.TxDescricao, tarefaCriada.Tarefa.SituacaoPlanejamento.Oid.ToString(), colaborador1.Usuario.UserName, tarefaCriada.Tarefa.TxObservacao, responsaveisTarefaEdicao, tarefaCriada.Tarefa.NbEstimativaInicial, estimativaRestante, new TimeSpan(0), salvarLinhaBaseTarefa, dataInicio); //busca tarefa criada CronogramaTarefa tarefaAlterada = CronogramaTarefaDao.ConsultarCronogramaTarefaPorOid(tarefaCriada.Oid, o => o.Tarefa.SituacaoPlanejamento, o => o.Cronograma, o => o.Tarefa.AtualizadoPor.Usuario.Person, o => o.Tarefa.LogsAlteracao, o => o.Tarefa.TarefaHistoricoTrabalhos, o => o.Tarefa.TarefaResponsaveis); Assert.AreEqual(salvarLinhaBaseTarefa, tarefaAlterada.Tarefa.CsLinhaBaseSalva, "Deveria ter salvo a linha de base"); Assert.AreEqual(estimativaRestante, tarefaAlterada.Tarefa.NbEstimativaRestante.ToTimeSpan(), "Deveria ter mudado a estimativa restando, pois salvou a linha de base"); }
public void CriarTarefaQuandoCriarLogPrimeiraVezTest() { //cria situação planejamento SituacaoPlanejamento situacaoPlanejamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Sim, true); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; //iníco tarefa DateTime dtInicio = new DateTime(); //cria tarefa Tarefa tarefa = new Tarefa(); tarefa = TarefaBo.CriarTarefa((string)"Tarefa 01", situacaoPlanejamento, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método", responsaveis, 3); DateUtil.CurrentDateTime = (DateTime)tarefa.DtAtualizadoEm; Assert.AreEqual(DateUtil.CurrentDateTime, tarefa.DtAtualizadoEm); Assert.AreEqual(colaborador1.NomeCompleto, TarefaDao.ConsultarTarefaPorOid(tarefa.Oid, o => o.AtualizadoPor.Usuario.Person).AtualizadoPor.NomeCompleto); }
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 DevePesquisarADataEHoraDaUltimaHoraTrabalhadaPeloColaborador() { #region Construção Cenário SituacaoPlanejamento situacaoPlanejamentoNaoIniciado = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); SituacaoPlanejamento situacaoPlanejamentoEmAndamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); Cronograma cronograma1 = new Cronograma() { DtInicio = new DateTime(2013, 02, 1), DtFinal = new DateTime(2013, 02, 15), TxDescricao = "WexCronograma1", SituacaoPlanejamento = situacaoPlanejamentoEmAndamento }; contexto.Cronograma.Add(cronograma1); contexto.SaveChanges(); Cronograma cronograma2 = new Cronograma() { DtInicio = new DateTime(2013, 02, 1), DtFinal = new DateTime(2013, 02, 16), TxDescricao = "WexCronograma2", SituacaoPlanejamento = situacaoPlanejamentoEmAndamento }; contexto.Cronograma.Add(cronograma2); contexto.SaveChanges(); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); string responsaveis = colaborador1.NomeCompleto; Tarefa tarefa1 = new Tarefa() { DtInicio = new DateTime(2013, 02, 25), CsLinhaBaseSalva = true, TxDescricao = "Cria método Cadastro", TxResponsaveis = colaborador1.NomeCompleto, NbEstimativaInicial = 8, SituacaoPlanejamento = situacaoPlanejamentoNaoIniciado, AtualizadoPor = colaborador1 }; contexto.Tarefa.Add(tarefa1); contexto.SaveChanges(); Tarefa tarefa2 = new Tarefa() { DtInicio = new DateTime(2013, 02, 25), CsLinhaBaseSalva = true, TxDescricao = "Criar método Exclusão", TxResponsaveis = colaborador1.NomeCompleto, NbEstimativaInicial = 4, SituacaoPlanejamento = situacaoPlanejamentoNaoIniciado, AtualizadoPor = colaborador1 }; contexto.Tarefa.Add(tarefa2); contexto.SaveChanges(); #endregion CronogramaTarefa cronogramaTarefa = new CronogramaTarefa() { Cronograma = cronograma1, NbID = 1, Tarefa = tarefa1 }; contexto.CronogramaTarefa.Add(cronogramaTarefa); contexto.SaveChanges(); CronogramaTarefa cronogramaTarefa2 = new CronogramaTarefa() { Cronograma = cronograma2, NbID = 1, Tarefa = tarefa2 }; contexto.CronogramaTarefa.Add(cronogramaTarefa2); contexto.SaveChanges(); DateTime dataRealizado = DateTime.Now; TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa1.Oid, colaborador1.Usuario.UserName, new TimeSpan(2, 0, 0), dataRealizado, new TimeSpan(8, 0, 0), new TimeSpan(10, 0, 0), "comentário", new TimeSpan(6, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa1.Oid, colaborador1.Usuario.UserName, new TimeSpan(1, 0, 0), dataRealizado, new TimeSpan(11, 0, 0), new TimeSpan(12, 0, 0), "comentário", new TimeSpan(2, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa2.Oid, colaborador1.Usuario.UserName, new TimeSpan(1, 0, 0), dataRealizado, new TimeSpan(10, 0, 0), new TimeSpan(11, 0, 0), "comentário", new TimeSpan(3, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TarefaHistoricoTrabalhoDto historicoTrabalhoMaisRecente = TarefaHistoricoTrabalhoBo.ConsultarUltimoEsforcoRealizadoColaboradorDto(contexto, colaborador1.Usuario.UserName); Assert.IsNotNull(historicoTrabalhoMaisRecente, "Deveria ter encontrado pois foi criado histórico para tarefa"); Assert.AreEqual(dataRealizado, historicoTrabalhoMaisRecente.DtRealizado, "Deveria ser a mesma data realizada"); Assert.AreEqual(new TimeSpan(12, 0, 0), historicoTrabalhoMaisRecente.NbHoraFinal, "O horário final deveria ser igual ao horário final do ultimo esforço do colaborador"); }
public void ConsultarHorarioUltimaTarefaDiaColaboradorQuandoColaboradorTiverRealizadoTarefasEmDiferentesCronogramas() { #region Construção Cenário SituacaoPlanejamento situacaoPlanejamentoNaoIniciado = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Não Iniciado", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); SituacaoPlanejamento situacaoPlanejamentoEmAndamento = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "Em Andamento", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Sim, true); Cronograma cronograma1 = new Cronograma() { DtInicio = new DateTime(2013, 02, 1), DtFinal = new DateTime(2013, 02, 15), TxDescricao = "WexCronograma1", SituacaoPlanejamento = situacaoPlanejamentoEmAndamento }; contexto.Cronograma.Add(cronograma1); contexto.SaveChanges(); Cronograma cronograma2 = new Cronograma() { DtInicio = new DateTime(2013, 02, 1), DtFinal = new DateTime(2013, 02, 16), TxDescricao = "WexCronograma2", SituacaoPlanejamento = situacaoPlanejamentoEmAndamento }; contexto.Cronograma.Add(cronograma2); contexto.SaveChanges(); Colaborador colaborador1 = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", true); string responsaveis = colaborador1.NomeCompleto; Tarefa tarefa1 = new Tarefa() { DtInicio = new DateTime(2013, 02, 25), CsLinhaBaseSalva = true, TxDescricao = "Cria método Cadastro", TxResponsaveis = colaborador1.NomeCompleto, NbEstimativaInicial = 8, SituacaoPlanejamento = situacaoPlanejamentoNaoIniciado, AtualizadoPor = colaborador1 }; contexto.Tarefa.Add(tarefa1); contexto.SaveChanges(); Tarefa tarefa2 = new Tarefa() { DtInicio = new DateTime(2013, 02, 25), CsLinhaBaseSalva = true, TxDescricao = "Criar método Exclusão", TxResponsaveis = colaborador1.NomeCompleto, NbEstimativaInicial = 4, SituacaoPlanejamento = situacaoPlanejamentoNaoIniciado, AtualizadoPor = colaborador1 }; contexto.Tarefa.Add(tarefa2); contexto.SaveChanges(); #endregion CronogramaTarefa cronogramaTarefa = new CronogramaTarefa() { Cronograma = cronograma1, NbID = 1, Tarefa = tarefa1 }; contexto.CronogramaTarefa.Add(cronogramaTarefa); contexto.SaveChanges(); CronogramaTarefa cronogramaTarefa2 = new CronogramaTarefa() { Cronograma = cronograma2, NbID = 1, Tarefa = tarefa2 }; contexto.CronogramaTarefa.Add(cronogramaTarefa2); contexto.SaveChanges(); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa1.Oid, colaborador1.Usuario.UserName, new TimeSpan(2, 0, 0), DateTime.Now, new TimeSpan(8, 0, 0), new TimeSpan(10, 0, 0), "comentário", new TimeSpan(6, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TarefaHistoricoTrabalhoBo.CriarHistoricoTarefa(tarefa2.Oid, colaborador1.Usuario.UserName, new TimeSpan(1, 0, 0), DateTime.Now, new TimeSpan(10, 0, 0), new TimeSpan(11, 0, 0), "comentário", new TimeSpan(3, 0, 0), situacaoPlanejamentoEmAndamento.Oid, ""); TimeSpan nbHoraFinal = TarefaHistoricoTrabalhoDao.ConsultarHorarioUltimaTarefaDiaColaborador(contexto, colaborador1.Usuario.UserName, DateTime.Now); Assert.AreEqual(new TimeSpan(11, 0, 0), nbHoraFinal, "A hora final deveria ser igual a 11:00 pois o colaborador investiu esforço realizado " + " em outra tarefa independente do cronograma em que está lançando a hora realizada"); }