public void Deveria_atualizar_provas() { //arrange int mes = DateTime.Now.Month; int ano = DateTime.Now.Year; Prova prova1 = new ProvaDataBuilder().Sobre("Design Patterns").NaData(DateTime.Now) .ComNotaDe(new Aluno(1, "Rech"), 7) .ComNotaDe(new Aluno(2, "Wesley"), 10) .ComNotaDe(new Aluno(3, "Guilherme"), 4) .Build(); Prova prova2 = new ProvaDataBuilder().Sobre("Herança").NaData(DateTime.Now) .ComNotaDe(new Aluno(1, "Rech"), 7) .ComNotaDe(new Aluno(2, "Wesley"), 10) .ComNotaDe(new Aluno(3, "Guilherme"), 4) .Build(); Mock<ProvaDao> provaDaoFalso = new Mock<ProvaDao>(); provaDaoFalso.Setup(x => x.SelecionarProvasPendentesFeedback(mes, ano)) .Returns(new List<Prova> { prova1, prova2 }); //action FeedbackService feedback = new FeedbackService(provaDaoFalso.Object, Mock.Of<GeradorFeedback>()); feedback.GerarFeedbackAlunos(mes, ano); //assert provaDaoFalso.Verify(x => x.Atualizar(prova1)); provaDaoFalso.Verify(x => x.Atualizar(prova2)); }
public void Deveria_cancelar_feedback_mensal_provas() { //arrange int mes = DateTime.Now.Month; int ano = DateTime.Now.Year; Prova prova1 = new ProvaDataBuilder().Sobre("Design Patterns").NaData(DateTime.Now) .ComNotaDe(new Aluno(1, "Rech"), 7) .ComNotaDe(new Aluno(2, "Wesley"), 10) .ComNotaDe(new Aluno(3, "Guilherme"), 4) .Build(); Prova prova2 = new ProvaDataBuilder().Sobre("Herança").NaData(DateTime.Now) .ComNotaDe(new Aluno(1, "Rech"), 7) .ComNotaDe(new Aluno(2, "Wesley"), 10) .ComNotaDe(new Aluno(3, "Guilherme"), 4) .Build(); List<Prova> provas = new List<Prova> { prova1, prova2 }; Mock<ProvaDao> provaDaoFalso = new Mock<ProvaDao>(); provaDaoFalso.Setup(x => x.SelecionarProvasPendentesFeedback(mes, ano)) .Returns(new List<Prova> { prova1, prova2 }); Mock<GeradorFeedback> geradorFalso = new Mock<GeradorFeedback>(); geradorFalso.Setup(x => x.SalvarPdf(It.IsAny<FeedbackMensal>())).Throws<Exception>(); //action FeedbackService feedback = new FeedbackService(provaDaoFalso.Object, geradorFalso.Object); feedback.GerarFeedbackAlunos(mes, ano); //assert provaDaoFalso.Verify(x => x.CancelarFeedback(provas)); }