public Answer Add(Answer answer) { using (IUnitOfWork unitOfWork = context.CreateUnitOfWork()) { if (answer.QuestionId <= 0) { throw new ArgumentOutOfRangeException( nameof(answer.QuestionId), answer.QuestionId, "QuestionId must be greater than 0."); } if (answerRepo.Find(x => x.AnswerSort == answer.AnswerSort && x.QuestionId == answer.QuestionId).Any()) { throw new ArgumentException("Answer in this sort position already exists.", nameof(answer.AnswerSort)); } int newAnswerId = answerRepo.Insert(answer); if (newAnswerId <= 0) { throw new FailedOperationException("Failed to insert Answer.", answer); } unitOfWork.SaveChanges(); return(answerRepo.GetById(newAnswerId)); } }
public void Desactivateing(int id) { AnswerRepository repository = new AnswerRepository(); AnswersEntity entity = repository.GetById(id); entity.status = false; repository.update(entity); }
public void testGetById() { // Arrange int count = repo.All().Count(); Answer c = repo.All().FirstOrDefault(); Assert.NotNull(c); // Act Answer actual = repo.GetById(c.Id); // Assert Assert.NotNull(actual); }
public void GetAnswerById_ProvidingNonExistingId_ThrowException() { var options = new DbContextOptionsBuilder <AskContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new AskContext(options); IAnswerRepository answerRepository = new AnswerRepository(context); //ASSERT Assert.ThrowsException <ArgumentNullException>(() => answerRepository.GetById(14)); }
public void GetAnswerById_Successful() { var options = new DbContextOptionsBuilder <AskContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new AskContext(options); IQuestionRepository questionRepository = new QuestionRepository(context); IAnswerRepository answerRepository = new AnswerRepository(context); //ACT DateTime date = DateTime.Now; var question = new QuestionTO { IsResolved = false, Message = "Je n'arrive pas à faire un test", Title = "Problème avec Tests", Date = date, AuthorId = 1 }; var question2 = new QuestionTO { IsResolved = false, Message = "Comment créer un projet MVC 6", Title = "MVC6", Date = date, AuthorId = 2 }; var question3 = new QuestionTO { IsResolved = false, Message = "Comment faire boucle foreach", Title = "foreach", Date = date, AuthorId = 2 }; var addedQuestion = questionRepository.Create(question); var addedQuestion2 = questionRepository.Create(question2); var addedQuestion3 = questionRepository.Create(question3); context.SaveChanges(); var answer = new AnswerTO { Message = "En fait, c'est facile il faut toujorus faire des tests", AuthorId = 2, AssociatedQuestion = addedQuestion, }; var answer2 = new AnswerTO { Message = "Oui c'est trop facile les tests avec InMemory", AuthorId = 3, AssociatedQuestion = addedQuestion, }; var answer3 = new AnswerTO { Message = "Tu dois d'abord créer un projet web app avec .Net Core", AuthorId = 1, AssociatedQuestion = addedQuestion2, }; var addedAnswer = answerRepository.Create(answer); var addedAnswer2 = answerRepository.Create(answer2); var addedAnswer3 = answerRepository.Create(answer3); context.SaveChanges(); //ACT var test = answerRepository.GetById(2); //ASSERT Assert.AreEqual("Oui c'est trop facile les tests avec InMemory", test.Message); }
public void GetAnswerById_ProvidingNoId_ThrowException() { var options = new DbContextOptionsBuilder <AskContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new AskContext(options); IQuestionRepository questionRepository = new QuestionRepository(context); IAnswerRepository answerRepository = new AnswerRepository(context); //ARRANGE DateTime date = DateTime.Now; var question = new QuestionTO { IsResolved = false, Message = "Je n'arrive pas à faire un test", Title = "Problème avec Tests", Date = date, AuthorId = 1 }; var addedQuestion = questionRepository.Create(question); context.SaveChanges(); var answer = new AnswerTO { Message = "En fait, c'est facile il faut toujorus faire des tests", AuthorId = 2, AssociatedQuestion = addedQuestion, }; //ASSERT Assert.ThrowsException <ArgumentException>(() => answerRepository.GetById(question.Id)); }
public AnswersEntity GetById(int id) { AnswerRepository repository = new AnswerRepository(); return(repository.GetById(id)); }