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 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 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 DeveCriarUmRespectivoItemDeTrabalhoParaAsTarefasQueForemCriadas() { Assert.Inconclusive("Falta correção de ItemDeTrabalho"); Cronograma cronograma = new Cronograma(); cronograma.TxDescricao = "Cronograma1"; contexto.Cronograma.Add(cronograma); SituacaoPlanejamento situacao = new SituacaoPlanejamento(); situacao.CsTipo = CsTipoPlanejamento.Planejamento; situacao.TxDescricao = "Nao iniciado"; contexto.SituacaoPlanejamento.Add(situacao); Colaborador colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); contexto.SaveChanges(); DateTime dat2 = DateTime.Now; List <CronogramaTarefa> tarefasList = new List <CronogramaTarefa>(); CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "T1", situacao, DateTime.Now, "", "gabriel.matos", out tarefasList, ref dat2, ""); CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "T2", situacao, DateTime.Now, "", "gabriel.matos", out tarefasList, ref dat2, ""); CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "T3", situacao, DateTime.Now, "", "gabriel.matos", out tarefasList, ref dat2, ""); CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "T4", situacao, DateTime.Now, "", "gabriel.matos", out tarefasList, ref dat2, ""); List <Tarefa> tarefas = contexto.Tarefa.ToList(); //List<ItemDeTrabalho> itens = new XPCollection<ItemDeTrabalho>( contexto ).ToList(); //List<Guid> oidTarefas = new List<Guid>( tarefas.Select( o => o.Oid ) ); //List<Guid> itensTrabalhoOid = new List<Guid>( itens.Select( o => o.Oid ) ); //CollectionAssert.AreEquivalent( itensTrabalhoOid, oidTarefas, "Itens de trabalho deveria conter o oid de todas as tarefas criadas" ); }
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 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 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 SelecionarCorColaboradorQuandoHouverColaboradorECronogramaMasNaoHouverCronogramaColaboradorConfigTest() { ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); string cor = CronogramaColaboradorConfigBo.EscolherCorColaborador("gabriel.matos", cronograma.Oid); Assert.IsNotNull(cor, "Deveria ter criado uma cor para o colaborador"); string corSelecionada = CronogramaColaboradorConfigBo.EscolherCorColaborador("gabriel.matos", cronograma.Oid); Assert.AreEqual(cor, corSelecionada, "A cor selecionada deveria ser a mesma cor que foi escolhida da primeira vez"); }
public void DadoQueExistamOsUsuarios(Table table) { for (int position = 0; position < table.RowCount; position++) { string username = table.Rows[position][table.Header.ToList()[0]]; Colaborador c = ColaboradorFactoryEntity.CriarColaborador(contexto, username, false); contexto.SaveChanges(); ColaboradoresDic.Add(username, c); } }
public void SelecionarCorColaboradorTest() { ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.SalvarCronogramaColaboradorConfig(contexto, "gabriel.matos", cronograma.Oid); string cor = CronogramaColaboradorConfigBo.EscolherCorColaborador("gabriel.matos", cronograma.Oid); Assert.IsNotNull(cor, "Deveria ter selecionado uma cor para o colaborador"); string cor2 = CronogramaColaboradorConfigBo.EscolherCorColaborador("gabriel.matos", cronograma.Oid); Assert.AreEqual(cor, cor2, "Ao ser chamado pela segunda vez, deveria retornar a mesma cor escolhida que foi escolhida na primeira vez"); }
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 DadoTerColaboradorEsColaborador01Colaborador02Colaborador03Colaborador04(string colaboradores, string naousado) { foreach (string colaborador in colaboradores.Split(',')) { string value01; // Valores encontrados value01 = colaborador.Substring(1, colaborador.Length - 2); // retiradas das aspas simples ColaboradoresDic.Add(value01, ColaboradorFactoryEntity.CriarColaborador(contexto, value01)); } }
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 CriarColaboradorCronogramaConfigTest() { ColaboradorFactoryEntity.CriarColaborador(contexto, "gabriel.matos", true); Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); CronogramaColaboradorConfig config = CronogramaColaboradorConfigDao.SalvarCronogramaColaboradorConfig(contexto, "gabriel.matos", cronograma.Oid); Assert.IsNotNull(config, "Deveria ter sido criado o CronogramaColaborador Config para o Colabordor atual"); CronogramaColaboradorConfig config2 = CronogramaColaboradorConfigDao.SalvarCronogramaColaboradorConfig(contexto, "gabriel.matos", cronograma.Oid); Assert.AreEqual(config.Oid, config2.Oid, "Deveria possuir as mesmas configurações"); }
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 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 DeveAlterarUltimoProjetoSelecionadoQuandoUsuarioSelecionarOutroProjetoTest() { ColaboradorUltimoFiltro colaboradorUltimoFiltro = ColaboradorUltimoFiltroBO.CriarColaboradorUltimoFiltroPadrao(contexto); Colaborador colaborador = ColaboradorFactoryEntity.CriarColaborador(contexto, "anderson.lins", colaboradorUltimoFiltro.Oid); Projeto projeto = ProjetoFactoryEntity.Criar(contexto, 10, "ProjetoTest"); Guid oidUltimoProjetoSelecionadoAntigo = ColaboradorUltimoFiltroBO.ConsultarUltimoProjetoSelecionadoPorColaborador(colaborador.Oid); ColaboradorUltimoFiltroBO.SalvarUltimoProjetoSelecionado(colaborador.Oid, projeto.Oid); Guid oidUltimoProjetoSelecionadoAtualizado = ColaboradorUltimoFiltroBO.ConsultarUltimoProjetoSelecionadoPorColaborador(colaborador.Oid); Assert.AreNotEqual(oidUltimoProjetoSelecionadoAntigo, oidUltimoProjetoSelecionadoAtualizado, "Oids deveriam ser diferentes, caso contrário não salvou a alteração."); }
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 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 DadoQueExistamOsColaboradores(Table table) { for (int position = 0; position < table.RowCount; position++) { string nome = table.Rows[position][table.Header.ToList()[0]]; string superior = table.Rows[position][table.Header.ToList()[1]]; string admissao = table.Rows[position][table.Header.ToList()[2]]; Colaborador c = ColaboradorFactoryEntity.CriarColaborador(contexto, nome, true); c.DtAdmissao = DateTime.Parse(admissao); if (superior != null && !superior.Equals("")) { c.OidCoordenador = ColaboradoresDic[superior].Oid; } ColaboradoresDic.Add(nome, c); contexto.SaveChanges(); } }
public void ConsultarCronogramaColaboradorConfigTest() { Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); string[] logins = new string[] { "gabriel.matos", "anderson.lins", "adriava.silva", "amanda.silva", "ana.marques" }; List <Colaborador> colaboradores = new List <Colaborador>(); Dictionary <string, string> dicionarioConfigs = new Dictionary <string, string>(); string cor = null; for (int i = 0; i < logins.Length; i++) { colaboradores.Add(ColaboradorFactoryEntity.CriarColaborador(contexto, logins[i], true)); cor = CronogramaColaboradorConfigBo.EscolherCorColaborador(logins[i], cronograma.Oid); dicionarioConfigs.Add(logins[i], cor); } List <CronogramaColaboradorConfig> configs = CronogramaColaboradorConfigDao.ConsultarCronogramaColaboradorConfig(logins.ToList(), cronograma.Oid); Dictionary <string, string> resultadoListagemConfigs = configs.ToDictionary(o => o.Colaborador.Usuario.UserName, o => o.Cor.ToString()); CollectionAssert.AreEquivalent(dicionarioConfigs, resultadoListagemConfigs); }
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 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"); }
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 CriarTarefaQuandoSituacaoPlanejamentoNaoForPadraoTest() { //Situação planejamento SituacaoPlanejamento situacaoPlanejamento1 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S1", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Execução, CsPadraoSistema.Não, true); SituacaoPlanejamento situacaoPlanejamento2 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S2", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Impedimento, CsPadraoSistema.Não, true); SituacaoPlanejamento situacaoPlanejamento3 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S3", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Planejamento, CsPadraoSistema.Não, true); SituacaoPlanejamento situacaoPlanejamento4 = CronogramaFactoryEntity.CriarSituacaoPlanejamento(contexto, "S4", CsTipoSituacaoPlanejamento.Ativo, CsTipoPlanejamento.Cancelamento, CsPadraoSistema.Não, 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 tarefa1 = new Tarefa(); tarefa1 = TarefaBo.CriarTarefa("Tarefa 01", situacaoPlanejamento1, dtInicio, colaborador1.Usuario.UserName, "Criar método1", responsaveis, 3); Tarefa tarefa2 = new Tarefa(); tarefa2 = TarefaBo.CriarTarefa("Tarefa 02", situacaoPlanejamento2, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método2", responsaveis, 3); Tarefa tarefa3 = new Tarefa(); tarefa3 = TarefaBo.CriarTarefa("Tarefa 03", situacaoPlanejamento3, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método3", responsaveis, 3); Tarefa tarefa4 = new Tarefa(); tarefa4 = TarefaBo.CriarTarefa((string)"Tarefa 04", situacaoPlanejamento4, dtInicio, colaborador1.Usuario.UserName, (string)"Criar método4", responsaveis, 3); //busca tarefa criada Tarefa tarefaCriada1 = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa1.Oid); Tarefa tarefaCriada2 = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa2.Oid); Tarefa tarefaCriada3 = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa3.Oid); Tarefa tarefaCriada4 = contexto.Tarefa.FirstOrDefault(o => o.Oid == tarefa4.Oid); //verifica se existe Assert.IsNotNull(tarefaCriada1, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa1.Oid, tarefaCriada1.Oid, "Deveria ter criado uma tarefa com os mesmos dados"); Assert.IsNotNull(tarefaCriada2, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa2.Oid, tarefaCriada2.Oid, "Deveria ter criado uma tarefa com os mesmos dados"); Assert.IsNotNull(tarefaCriada3, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa3.Oid, tarefaCriada3.Oid, "Deveria ter criado uma tarefa com os mesmos dados"); Assert.IsNotNull(tarefaCriada4, "Deveria retornar uma tarefa."); Assert.AreEqual(tarefa4.Oid, tarefaCriada4.Oid, "Deveria ter criado uma tarefa com os mesmos dados"); //verifica se os responsáveis são os mesmos. Assert.AreEqual("Anderson Lins,Pedro Lins,Joao Lins", tarefa1.TxResponsaveis, "Deveria retornar 3 responsáveis cadastrados na tarefa."); Assert.AreEqual("Anderson Lins,Pedro Lins,Joao Lins", tarefa2.TxResponsaveis, "Deveria retornar 3 responsáveis cadastrados na tarefa."); Assert.AreEqual("Anderson Lins,Pedro Lins,Joao Lins", tarefa3.TxResponsaveis, "Deveria retornar 3 responsáveis cadastrados na tarefa."); Assert.AreEqual("Anderson Lins,Pedro Lins,Joao Lins", tarefa4.TxResponsaveis, "Deveria retornar 3 responsáveis cadastrados na tarefa."); //Verifica Situação Planejamento Assert.AreEqual(situacaoPlanejamento1.Oid, tarefa1.OidSituacaoPlanejamento); Assert.AreEqual(situacaoPlanejamento2.Oid, tarefa2.OidSituacaoPlanejamento); Assert.AreEqual(situacaoPlanejamento3.Oid, tarefa3.OidSituacaoPlanejamento); Assert.AreEqual(situacaoPlanejamento4.Oid, tarefa4.OidSituacaoPlanejamento); }