public void FormatarEmailPadrao_TodosOsParametrosValidos_RetornaListaEmails() { var usuario1 = new Usuario("*****@*****.**", "Usuário 1", "Cargo 1") { Id = 1 }; var usuario2 = new Usuario("*****@*****.**", "Usuário 2", "Cargo 2") { Id = 2, Senha = "A#SESR3" }; var usuario3 = new Usuario("*****@*****.**", "Usuário 3", "Cargo 3") { Id = 3 }; var usuario4 = new Usuario("*****@*****.**", "Usuário 4", "Cargo 4") { Id = 4, Senha = "A#SEsd98f" }; var eleitor1 = new Eleitor("Eleitor 1", "*****@*****.**") { Id = 1, Usuario = usuario1, Cargo = "Cargo 1" }; var eleitor2 = new Eleitor("Eleitor 2", "*****@*****.**") { Id = 2, Usuario = usuario2, Cargo = "Cargo 2" }; var eleitor3 = new Eleitor("Eleitor 3", "*****@*****.**") { Id = 3, Usuario = usuario3, Cargo = "Cargo 3" }; var eleitor4 = new Eleitor("Eleitor 4", "*****@*****.**") { Id = 4, Usuario = usuario4, Cargo = "Cargo 4" }; eleicao.AdicionarEleitor(eleitor1); eleicao.AdicionarEleitor(eleitor2); eleicao.AdicionarEleitor(eleitor3); eleicao.AdicionarEleitor(eleitor4); eleicao.PassarParaProximaEtapa(); eleicao.PassarParaProximaEtapa(); var inscricao1 = eleicao.FazerInscricao(eleitor1, "Objetivos 1"); inscricao1.Id = 1; var inscricao2 = eleicao.FazerInscricao(eleitor3, "Objetivos 3"); inscricao2.Id = 2; eleicao.AprovarInscricao(1, usuario1); eleicao.AprovarInscricao(2, usuario1); eleicao.PassarParaProximaEtapa(); Assert.Throws <CustomException>(() => eleicao.PassarParaProximaEtapa(true)); ComunicadoEleicaoBaseService comunicadoEleicao = new ComunicadoErroMudancaEtapaService(eleicao); var emails = comunicadoEleicao.FormatarEmails(); var mensagemEsperadaBuilder = new StringBuilder(); mensagemEsperadaBuilder.Append("Ocorreu um erro ao finalizar a etapa atual da eleição da CIPA, que está sendo realizada na "); mensagemEsperadaBuilder.Append("empresa Soluções TI, inscrita no CNPJ 30.271.795/0001-33. Por favor, verifique."); mensagemEsperadaBuilder.Append("\n<br><br>\n"); mensagemEsperadaBuilder.Append("Mensagem de erro: <strong>Esta eleição ainda não atingiu os 50% de participação de todos os funcionários, conforme exigido pela NR-5."); mensagemEsperadaBuilder.Append("</strong>\n<br>\n"); mensagemEsperadaBuilder.Append("Etapa Atual: <strong>Votação</strong>\n<br>\n"); mensagemEsperadaBuilder.Append("Etapa Posterior: <strong>Finalização da Eleição</strong>\n<br><br>\n"); mensagemEsperadaBuilder.Append("Obs.: A etapa atual deverá ser finalizada manualmente. Para isso, clique no botão \"Próxima Etapa\" do cronograma."); Assert.Collection(emails, (Email email) => { Assert.Equal(mensagemEsperadaBuilder.ToString(), email.Mensagem); Assert.Collection(email.DestinatariosLista, destinatario => { Assert.Equal("*****@*****.**", destinatario); }); } ); }
public void FormatarEmailPadrao_TodosOsParametrosValidos_RetornaListaEmails() { var usuario1 = new Usuario("*****@*****.**", "Usuário 1", "Cargo 1") { Id = 1 }; var usuario2 = new Usuario("*****@*****.**", "Usuário 2", "Cargo 2") { Id = 2, Senha = "A#SESR3" }; var usuario3 = new Usuario("*****@*****.**", "Usuário 3", "Cargo 3") { Id = 3 }; var usuario4 = new Usuario("*****@*****.**", "Usuário 4", "Cargo 4") { Id = 4, Senha = "A#SEsd98f" }; var eleitor1 = new Eleitor("Eleitor 1", "*****@*****.**") { Id = 1, Usuario = usuario1, Cargo = "Cargo 1" }; var eleitor2 = new Eleitor("Eleitor 2", "*****@*****.**") { Id = 2, Usuario = usuario2, Cargo = "Cargo 2" }; var eleitor3 = new Eleitor("Eleitor 3", "*****@*****.**") { Id = 3, Usuario = usuario3, Cargo = "Cargo 3" }; var eleitor4 = new Eleitor("Eleitor 4", "*****@*****.**") { Id = 4, Usuario = usuario4, Cargo = "Cargo 4" }; eleicao.AdicionarEleitor(eleitor1); eleicao.AdicionarEleitor(eleitor2); eleicao.AdicionarEleitor(eleitor3); eleicao.AdicionarEleitor(eleitor4); eleicao.PassarParaProximaEtapa(); eleicao.PassarParaProximaEtapa(); // Inscrições var inscricao1 = eleicao.FazerInscricao(eleitor1, "Objetivos 1"); var inscricao2 = eleicao.FazerInscricao(eleitor2, "Objetivos 2"); var inscricao3 = eleicao.FazerInscricao(eleitor3, "Objetivos 3"); var inscricao4 = eleicao.FazerInscricao(eleitor4, "Objetivos 4"); inscricao1.AprovarInscricao(usuario1); inscricao3.AprovarInscricao(usuario1); var emails = comunicadoEleicao.FormatarEmails(); var hoje = RetornarDataAbreviada(DateTime.Now.HorarioBrasilia().Date); var mensagemSenhaCadastrada = new StringBuilder(); mensagemSenhaCadastrada.Append("2020, 2020/2021, No 1º dia do mês de Janeiro de 2020, Soluções TI, "); mensagemSenhaCadastrada.Append("inscrita no CNPJ 30.271.795/0001-33, entre os dias 2 de Janeiro de 2020 "); mensagemSenhaCadastrada.Append($"e {hoje}, no dia 4 de Janeiro de 2020, "); mensagemSenhaCadastrada.Append($"Gestor, Técnico do SESMT, {hoje}, "); mensagemSenhaCadastrada.Append("<ol><li><strong>Eleitor 1</strong><br><small>Cargo 1</small></li>"); mensagemSenhaCadastrada.Append("<li><strong>Eleitor 3</strong><br><small>Cargo 3</small></li></ol>, "); mensagemSenhaCadastrada.Append("https://cipa.4uptech.com.br/autenticacao/login"); var mensagemSenhaNaoCadastrada1 = new StringBuilder(); mensagemSenhaNaoCadastrada1.Append("2020, 2020/2021, No 1º dia do mês de Janeiro de 2020, Soluções TI, "); mensagemSenhaNaoCadastrada1.Append("inscrita no CNPJ 30.271.795/0001-33, entre os dias 2 de Janeiro de 2020 "); mensagemSenhaNaoCadastrada1.Append($"e {hoje}, no dia 4 de Janeiro de 2020, "); mensagemSenhaNaoCadastrada1.Append($"Gestor, Técnico do SESMT, {hoje}, "); mensagemSenhaNaoCadastrada1.Append("<ol><li><strong>Eleitor 1</strong><br><small>Cargo 1</small></li>"); mensagemSenhaNaoCadastrada1.Append("<li><strong>Eleitor 3</strong><br><small>Cargo 3</small></li></ol>, "); mensagemSenhaNaoCadastrada1.Append($"https://cipa.4uptech.com.br/autenticacao/cadastro/{usuario1.CodigoRecuperacao.ToString()}"); var mensagemSenhaNaoCadastrada2 = new StringBuilder(); mensagemSenhaNaoCadastrada2.Append("2020, 2020/2021, No 1º dia do mês de Janeiro de 2020, Soluções TI, "); mensagemSenhaNaoCadastrada2.Append("inscrita no CNPJ 30.271.795/0001-33, entre os dias 2 de Janeiro de 2020 "); mensagemSenhaNaoCadastrada2.Append($"e {hoje}, no dia 4 de Janeiro de 2020, "); mensagemSenhaNaoCadastrada2.Append($"Gestor, Técnico do SESMT, {hoje}, "); mensagemSenhaNaoCadastrada2.Append("<ol><li><strong>Eleitor 1</strong><br><small>Cargo 1</small></li>"); mensagemSenhaNaoCadastrada2.Append("<li><strong>Eleitor 3</strong><br><small>Cargo 3</small></li></ol>, "); mensagemSenhaNaoCadastrada2.Append($"https://cipa.4uptech.com.br/autenticacao/cadastro/{usuario3.CodigoRecuperacao.ToString()}"); Assert.Collection(emails, (Email email) => { Assert.Equal(mensagemSenhaCadastrada.ToString(), email.Mensagem); Assert.Collection(email.DestinatariosLista, destinatario => { Assert.Equal("*****@*****.**", destinatario); }, destinatario => { Assert.Equal("*****@*****.**", destinatario); }); }, (Email email) => { Assert.Equal(mensagemSenhaNaoCadastrada1.ToString(), email.Mensagem); Assert.Collection(email.DestinatariosLista, destinatario => { Assert.Equal("*****@*****.**", destinatario); }); }, (Email email) => { Assert.Equal(mensagemSenhaNaoCadastrada2.ToString(), email.Mensagem); Assert.Collection(email.DestinatariosLista, destinatario => { Assert.Equal("*****@*****.**", destinatario); }); } ); }