public async Task <JsonResult> QQGetByQuizInfo(string id) { try { var data = QuizQuestionService.GetByQuizInfo(Guid.Parse(id)); return(Success(QuizQuestionsVM.MsToVMs(data))); } catch { return(Failed(MessageUtility.ServerError())); } }
public void Should_Generate_Random_Quiz_Questions() { // Arrange var randomCounter = new Dictionary <string, int>(); var mockQuizQuestionRepository = new Mock <IQuizQuestionRepository>(); mockQuizQuestionRepository.Setup(m => m.GetAll()).Returns(GetMockQuizQuestions()); var service = new QuizQuestionService(mockQuizQuestionRepository.Object, new Mock <IValidationDictionary>().Object); // Act for (var i = 1; i < 500; i++) { var question = service.GetRandomQuizQuestion(); if (randomCounter.ContainsKey(question.Question)) { randomCounter[question.Question]++; } else { randomCounter.Add(question.Question, 1); } } // Assert // NOTE: In this instance since it's not easy to truly test for random, I'm outputting the // result for a quick check by eye. foreach (var key in randomCounter.Keys) { Console.WriteLine($"{key} was retrieved {randomCounter[key]} times"); } }
public QuizQuestionController(AuthenticationService authenticationService, LogService logService, UserService userService, LabGroupService labGroupService, LabCourseService labCourseService, QuizQuestionService quizQuestionService, TokenService tokenService) { _authenticationService = authenticationService; _logService = logService; _userService = userService; _labGroupService = labGroupService; _labCourseService = labCourseService; _quizQuestionService = quizQuestionService; _tokenService = tokenService; }
public async Task <JsonResult> QQRemove() { try { var id = Guid.Parse(Request.Form["id"]); var qiid = Guid.Parse(Request.Form["qiid"]); if (QuizQuestionService.Remove(id, qiid)) { return(Success("")); } return(Failed(MessageUtility.ServerError())); } catch { return(Failed(MessageUtility.ServerError())); } }
public void Should_Get_Random_Quiz_Question_From_Repository() { // Arrange var mockQuizQuestionRepository = new Mock <IQuizQuestionRepository>(); mockQuizQuestionRepository.Setup(m => m.GetAll()).Returns(GetMockQuizQuestions()); var service = new QuizQuestionService(mockQuizQuestionRepository.Object, new Mock <IValidationDictionary>().Object); // Act service.GetRandomQuizQuestion(); // Assert mockQuizQuestionRepository.Verify(m => m.GetAll(), Times.Once); }
public async Task <JsonResult> QQUpdate() { try { var id = Guid.Parse(Request.Form["id"]); var qi = Guid.Parse(Request.Form["qi"]); var question = Request.Form["quest"]; var point = int.Parse(Request.Form["point"]); if (QuizQuestionService.Update(id, qi, question, point)) { return(Success("")); } return(Failed(MessageUtility.ServerError())); } catch { return(Failed(MessageUtility.ServerError())); } }
public async Task <JsonResult> QQInsert() { try { var id = Guid.Parse(Request.Form["id"]); var quest = Request.Form["quest"]; var qi = Guid.Parse(Request.Form["qi"]); var order = int.Parse(Request.Form["order"]); var point = int.Parse(Request.Form["point"]); var status = Guid.Parse(Request.Form["status"]); if (QuizQuestionService.Insert(id, quest, qi, order, point, status)) { return(Success(id.ToString())); } return(Failed(MessageUtility.ServerError())); } catch { return(Failed(MessageUtility.ServerError())); } }
public void Should_Not_Error_On_Generating_Random_Questions_If_No_Questions_Configured() { // Arrange var randomCounter = new Dictionary <string, int>(); var mockQuizQuestionRepository = new Mock <IQuizQuestionRepository>(); mockQuizQuestionRepository.Setup(m => m.GetAll()).Returns(new List <QuizQuestion>()); var service = new QuizQuestionService(mockQuizQuestionRepository.Object, new Mock <IValidationDictionary>().Object); // Act var question = service.GetRandomQuizQuestion(); // Assert mockQuizQuestionRepository.Verify(m => m.GetAll(), Times.Once); Assert.IsNull(question); }
public void Should_Not_Save_Invalid_QuizQuestions() { // Arrange var mockQuizQuestionRepository = new Mock <IQuizQuestionRepository>(); var mockValidationDictionary = new MockValidationDictionary(); var service = new QuizQuestionService(mockQuizQuestionRepository.Object, mockValidationDictionary); // Act bool result = service.AddNewQuizQuestion(new QuizQuestionViewModel { Question = "Q", Answer = "" }); // Assert Assert.IsFalse(mockValidationDictionary.IsValid); Assert.IsTrue(mockValidationDictionary.Errors.ContainsKey("Answer")); mockQuizQuestionRepository.Verify(m => m.AddQuestion(It.IsAny <QuizQuestion>()), Times.Never); mockQuizQuestionRepository.Verify(m => m.SaveChanges(), Times.Never); }
public void Should_Call_Save_Methods_When_Question_Saved() { // Arrange var mockQuizQuestionRepository = new Mock <IQuizQuestionRepository>(); var mockValidationDictionary = new MockValidationDictionary(); var service = new QuizQuestionService(mockQuizQuestionRepository.Object, mockValidationDictionary); // Act var result = service.AddNewQuizQuestion(new QuizQuestionViewModel { Question = "Q", Answer = "A" }); // Assert Assert.IsTrue(mockValidationDictionary.IsValid); // Should be perfectly valid and therefore ... mockQuizQuestionRepository.Verify(m => m.AddQuestion(It.IsAny <QuizQuestion>()), Times.Once); // ... changes are made to the table ... mockQuizQuestionRepository.Verify(m => m.SaveChanges(), Times.Once); // ... and saved ... Assert.IsTrue(result); // ... returning true }
public QuizQuestionServiceTests() { _dbContext = DbContextProvider.GetSqlServerDbContext(); _quizQuestionService = new QuizQuestionService(_dbContext); }