public void EntaoOServidorDeveraComunicarOColaboradorQueNoCronogramaAsSeguintesTarefaSEstaoEmEdicao(string colaborador, string cronograma, Table table) { string oidTarefa; string key; IEnumerable <EdicaoTarefaHelper> edicoes = table.CreateSet <EdicaoTarefaHelper>(); foreach (var edicao in edicoes) { oidTarefa = StepCronograma.GetOidTarefaNoCronograma(cronograma, edicao.Tarefa); key = StepContextUtil.CriarKeyTarefaJaEstavamEmEdicao(colaborador, oidTarefa, edicao.Autor); ControleDeEsperaUtil.AguardarAte(() => { return(StepContextUtil.CenarioAtualContemAChave(key)); }); Assert.IsTrue(StepContextUtil.CenarioAtualContemAChave(key), string.Format("{0} deveria ter sido avisado de que a tarefa {1} estava em edição pelo colaborador {2}" + " no cronograma {3}", colaborador, edicao.Tarefa, edicao.Autor, cronograma)); } }
public void EntaoOServidorDeveraRecusarAEdicaoDoNomeDoCronogramaParaOColaborador(string cronograma, string login) { string oidCronograma = StepCronograma.GetOidCronograma(cronograma); WexMultiAccessClientMock cliente = StepContextUtil.GetAccessClientNoContexto(login, oidCronograma); List <MensagemDto> mensagens = null; MensagemDto mensagem = null; ControleDeEsperaUtil.AguardarAte(() => { mensagens = new List <MensagemDto>(cliente.MensagensRecebidas); mensagem = mensagens.FirstOrDefault(o => o.Propriedades[Constantes.OIDCRONOGRAMA].ToString() == oidCronograma && o.Tipo == CsTipoMensagem.EdicaoNomeCronogramaRecusada); return(mensagem != null); }); Assert.IsNotNull(mensagem, "Deveria ter recebido a mensagem do permissão de edição do nome do cronograma"); Assert.AreEqual(login, mensagem.Propriedades[Constantes.AUTOR_ACAO], string.Format("O proprietario da mensagem deveria ser o colaborador {0}", login)); }
public void EntaoOServidorNaoDeveComunicarAoSColaboradorEsDeQueASTarefaSRecebeuRamAtualizacaoOesNoCronograma(string colaboradores, string naoUsado, string tarefasOutroCronograma, string naoUsado2, string outroCronograma) { string[] logins = colaboradores.Replace("\'", "").Split(',').Select(o => o.Trim()).ToArray(); string[] tarefas = tarefasOutroCronograma.Replace("\'", "").Split(',').Select(o => o.Trim()).ToArray(); string oidTarefa; string key; for (int i = 0; i < logins.Length; i++) { for (int x = 0; x < tarefas.Length; x++) { oidTarefa = StepCronograma.GetOidTarefaNoCronograma(outroCronograma, tarefas[x]); key = StepContextUtil.CriarKeyRecebeuAtualizacaoEdicaoTarefa(logins[i], oidTarefa); ControleDeEsperaUtil.AguardarAte(() => { return(StepContextUtil.CenarioAtualContemAChave(key)); }); Assert.IsFalse(StepContextUtil.CenarioAtualContemAChave(key), string.Format("{0} não deveria ter sido comunicado da atualização da tarefa {1} que pertence outro cronograma '{2}'", logins[i], tarefas[x], outroCronograma)); } } }
public void EntaoOCronogramaNaoDeveComunicarAoSColaboradorEsDeQueEstaOSendoExcluidaSTarefaSNoCronograma(string cronograma, string colaboradoresString, string naoUsada1, string outroCronograma) { List <string> colaboradores = colaboradoresString.Replace("\'", "").Split(',').Select(o => o.Trim()).ToList(); Dictionary <string, bool> colaboradoresAvisados = new Dictionary <string, bool>(); //Montando Dicionário em que nenhum colaborador foi avisado sobre a exclusão foreach (string colaboradorAtual in colaboradores) { colaboradoresAvisados.Add(colaboradorAtual, false); } WexMultiAccessClientMock clientAtual; string oidCronograma = StepCronograma.GetOidCronograma(cronograma); string oidOutroCronograma = StepCronograma.GetOidCronograma(outroCronograma); bool foiComunicado; List <MensagemDto> mensagens = null; MensagemDto mensagem; foreach (var colaboradorAtual in colaboradores) { foiComunicado = false; clientAtual = StepContextUtil.GetAccessClientNoContexto(colaboradorAtual, oidCronograma); ControleDeEsperaUtil.AguardarAte(() => { mensagens = new List <MensagemDto>(clientAtual.MensagensRecebidas); mensagem = mensagens.FirstOrDefault( o => o.Tipo == CsTipoMensagem.ExclusaoTarefaFinalizada && !o.Propriedades[Constantes.OIDCRONOGRAMA].ToString().Equals(oidOutroCronograma) ); if (mensagem != null) { foiComunicado = true; } return(foiComunicado); }); Assert.IsFalse(foiComunicado, string.Format("{0} não deveria ser comunicado de que houve exclusão em um cronograma diferente ('{1}')", colaboradorAtual, outroCronograma)); } }
public void EntaoOServidorDeveraConterNaListaDeColaboradoresConectadosOColaboradorNoCronograma(string login, string cronograma) { string oidCronograma = StepCronograma.GetOidCronograma(cronograma); Assert.IsTrue(manager.ColaboradorConectado(login, oidCronograma), "Deveria ter sido encontrado como colaborador conectado"); }