public void SelecionarAlternativaQuestaoConcurso_GravaRespostaCertaOuErrada_TrueSeAcertouFalseSeErrou() { var mock = Substitute.For <IQuestaoData>(); var business = new QuestaoBusiness(mock, null, null, null); var questaoId = 1; var matricula = 0; var respostaCerta = "C"; var respostaErrada = "A"; var questao = QuestaoRecursoEntityTestData.ObterQuestaoForumRecursoExisteAnaliseProfCabeRecurso(); var alternativas = QuestaoRecursoEntityTestData.ObterAlternativasGabaritoOficialLetraC(); mock.GetConcursoQuestoesAlunoFavorita(questaoId, matricula).ReturnsNull(); mock.ObterAlternativasComEstatisticaFavorita(questaoId).Returns(alternativas); mock.InserirQuestaoConcursoAlunoFavoritas(null).ReturnsForAnyArgs(1); var qtd = business.SelecionarAlternativaQuestaoConcurso(questaoId, matricula, respostaCerta); mock.Received().InserirQuestaoConcursoAlunoFavoritas( Arg.Is <tblConcursoQuestoes_Aluno_Favoritas>( f => f.bitResultadoResposta.HasValue && f.bitResultadoResposta.Value)); business.SelecionarAlternativaQuestaoConcurso(questaoId, matricula, respostaErrada); mock.Received().InserirQuestaoConcursoAlunoFavoritas( Arg.Is <tblConcursoQuestoes_Aluno_Favoritas>( f => !f.bitResultadoResposta.HasValue || !f.bitResultadoResposta.Value)); Assert.AreEqual(1, qtd); }
public void SelecionarAlternativaQuestaoConcurso_RespostaExistenteSalvarSegundoChar_LetraColunaPrimeiroEColunaNovaResposta() { var mock = Substitute.For <IQuestaoData>(); var business = new QuestaoBusiness(mock, null, null, null); var questaoId = 1; var matricula = 0; var novaLetra = "D"; var velhaLetra = "A"; var questao = QuestaoRecursoEntityTestData.ObterQuestaoForumRecursoExisteAnaliseProfCabeRecurso(); var alternativas = QuestaoRecursoEntityTestData.ObterAlternativasGabaritoOficialLetraC(); mock.GetConcursoQuestoesAlunoFavorita(questaoId, matricula).Returns(new tblConcursoQuestoes_Aluno_Favoritas { charResposta = velhaLetra, charRespostaNova = novaLetra }); mock.ObterAlternativasComEstatisticaFavorita(questaoId).Returns(alternativas); mock.UpdateQuestoesConcursoAlunoFavoritas(new tblConcursoQuestoes_Aluno_Favoritas()).ReturnsForAnyArgs(1); var qtd = business.SelecionarAlternativaQuestaoConcurso(questaoId, matricula, novaLetra); mock.Received().UpdateQuestoesConcursoAlunoFavoritas( Arg.Is <tblConcursoQuestoes_Aluno_Favoritas>( f => f.charResposta == velhaLetra && f.charRespostaNova == novaLetra)); Assert.AreEqual(1, qtd); }