public async void EnvieEmailAsyncTest_deve_chamar_DisconnectAsync() { ConfigureSmtpMock(); var email = GetEmail(); var configuracaoSmtp = GetConfiguracaoSmtp(); var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); await servicoDeEnvioDeEmail.EnvieEmailAsync(configuracaoSmtp, email, _smtpMock.Object); _smtpMock.Verify(s => s.DisconnectAsync(It.IsAny <bool>()), Times.Once); }
public void EnvieEmailAsyncTest_deve_retornar_excecao_quando_ocorrer_algum_erro_no_envio_do_email() { ConfigureSmtpMockComErro(); var email = GetEmail(); var configuracaoSmtp = GetConfiguracaoSmtp(); var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); var ex = Assert.ThrowsAsync <EnvioDeEmailException>(() => servicoDeEnvioDeEmail.EnvieEmailAsync(configuracaoSmtp, email, _smtpMock.Object)); Assert.Equal("Erro ao enviar o e-mail.", ex.Result.Message); }
public async void EnvieEmailAsyncTest_nao_deve_chamar_AuthenticateAsync_quando_nao_requer_autenticacao() { ConfigureSmtpMock(); var email = GetEmail(); var configuracaoSmtp = GetConfiguracaoSmtp(); var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); await servicoDeEnvioDeEmail.EnvieEmailAsync(configuracaoSmtp, email, _smtpMock.Object); _smtpMock.Verify(s => s.AuthenticateAsync(It.IsAny <string>(), It.IsAny <string>()), Times.Never); }
public void EnvieEmailAsyncTest_deve_retornar_excecao_quando_email_de_destino_nao_informado() { ConfigureSmtpMock(); var email = GetEmail(); email.Destino = string.Empty; var configuracaoSmtp = GetConfiguracaoSmtp(); var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); var ex = Assert.ThrowsAsync <ArgumentException>(() => servicoDeEnvioDeEmail.EnvieEmailAsync(configuracaoSmtp, email, _smtpMock.Object)); Assert.Equal("E-mail de destino não informado.", ex.Result.Message); }
public void EnvieEmailAsyncTest_deve_retornar_excecao_quando_nenhum_conteudo_for_informado() { ConfigureSmtpMock(); var email = GetEmail(); email.MensagemDeTexto = string.Empty; email.MensagemHtml = string.Empty; var configuracaoSmtp = GetConfiguracaoSmtp(); var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); var ex = Assert.ThrowsAsync <ArgumentException>(() => servicoDeEnvioDeEmail.EnvieEmailAsync(configuracaoSmtp, email, _smtpMock.Object)); Assert.Equal("Nenhuma mensagem foi informada.", ex.Result.Message); }
public async void EnvieEmailsAsyncTest_deve_chamar_SendAsync() { ConfigureSmtpMock(); var emails = new List <IEmail> { GetEmail(), GetEmail(), GetEmail() }; var configuracaoSmtp = GetConfiguracaoSmtp(); var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); await servicoDeEnvioDeEmail.EnvieEmailsAsync(configuracaoSmtp, emails, _smtpMock.Object); _smtpMock.Verify(s => s.SendAsync(It.IsAny <MimeMessage>()), Times.Exactly(3)); }
public async void EnvieEmailsAsyncTest_deve_chamar_ConnectAsync() { ConfigureSmtpMock(); var emails = new List <IEmail> { GetEmail(), GetEmail(), GetEmail() }; var configuracaoSmtp = GetConfiguracaoSmtp(); var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); await servicoDeEnvioDeEmail.EnvieEmailsAsync(configuracaoSmtp, emails, _smtpMock.Object); _smtpMock.Verify(s => s.ConnectAsync(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <bool>()), Times.Once); }
public void EnvieEmailsAsyncTest_deve_retornar_excecao_quando_assunto_nao_informado() { ConfigureSmtpMock(); var emails = new List <IEmail> { GetEmail(), GetEmail(), GetEmail() }; emails[0].Assunto = string.Empty; var configuracaoSmtp = GetConfiguracaoSmtp(); var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); var ex = Assert.ThrowsAsync <ArgumentException>(() => servicoDeEnvioDeEmail.EnvieEmailsAsync(configuracaoSmtp, emails, _smtpMock.Object)); Assert.Equal("Assunto não informado.", ex.Result.Message); }
public async void EnvieEmailsAsyncTest_deve_chamar_AuthenticateAsync_quando_requer_autenticacao() { ConfigureSmtpMock(); var emails = new List <IEmail> { GetEmail(), GetEmail(), GetEmail() }; var configuracaoSmtp = GetConfiguracaoSmtp(); configuracaoSmtp.RequerAutenticacao = true; var servicoDeEnvioDeEmail = new ServicoDeEnvioDeEmail(); await servicoDeEnvioDeEmail.EnvieEmailsAsync(configuracaoSmtp, emails, _smtpMock.Object); _smtpMock.Verify(s => s.AuthenticateAsync(It.IsAny <string>(), It.IsAny <string>()), Times.Once); }