public void EnviarComentarioVotoForumPos_TestarEnviarEmailSeVotoEnviado_MetodoChamado()
        {
            var mock     = Substitute.For <IQuestaoData>();
            var business = new QuestaoBusiness(mock, null, null, null);

            var questaoId  = 1;
            var matricula  = 0;
            var comentario = "Comentario novo pos";
            var voto       = QuestaoRecurso.StatusOpiniao.Contra;

            mock.EnviarVotoComentarioForum(
                Arg.Any <int>(), Arg.Any <int>(), Arg.Any <string>(),
                Arg.Any <string>(), Arg.Any <QuestaoRecurso.TipoForumRecurso>()).Returns(1);

            var result = business.EnviarComentarioVotoForumPos(
                questaoId, matricula, voto.GetDescription(), comentario
                );

            Assert.AreEqual(1, result);
            mock.Received().EnviarVotoComentarioForum(
                questaoId, matricula, voto.GetDescription(),
                comentario, QuestaoRecurso.TipoForumRecurso.Pos);

            mock.Received().EnvioEmailComentarioForumPosAsync(
                questaoId, matricula, comentario, voto == QuestaoRecurso.StatusOpiniao.Favor);
        }
        public void EnviarComentarioVotoForumPos_TestarEnviarSeAlunoNaoVotou_Um()
        {
            var mock     = Substitute.For <IQuestaoData>();
            var business = new QuestaoBusiness(mock, null, null, null);

            var questaoId  = 1;
            var matricula  = 0;
            var comentario = "Comentario novo";

            mock.AlunoJaVotouForumQuestao(questaoId, matricula, QuestaoRecurso.TipoForumRecurso.Pos).Returns(false);
            mock.EnviarVotoComentarioForum(
                0, 0, null, null, new QuestaoRecurso.TipoForumRecurso()
                ).ReturnsForAnyArgs(1);


            var result = business.EnviarComentarioVotoForumPos(
                questaoId, matricula, QuestaoRecurso.StatusOpiniao.Favor.GetDescription(), comentario
                );


            Assert.AreEqual(1, result);
            mock.Received().EnviarVotoComentarioForum(
                Arg.Is <int>(questaoId), Arg.Is <int>(matricula), Arg.Is <string>(QuestaoRecurso.StatusOpiniao.Favor.GetDescription()),
                Arg.Is <string>(comentario), Arg.Is <QuestaoRecurso.TipoForumRecurso>(QuestaoRecurso.TipoForumRecurso.Pos));
        }