public static QuizDetailsViewModel ToQuizDetailsViewModel(this Quiz quiz, IQuestionService questions, IAnswerService answers, IQuizResultService quizResultService, IRepo <QuizRating> quizRatings) { var vm = new QuizDetailsViewModel(); var stats = quizResultService.GetStatistics(quiz.Id); vm.AvgLevel = stats.AvgLevel; vm.AvgRating = stats.AvgRating; vm.AvgScore = stats.AvgScore; vm.TotalPoints = stats.TotalPoints; vm.AvgScorePercent = stats.AvgScorePercent; vm.AvgTime = stats.AvgTime; vm.AvgTimePercent = stats.AvgTimePercent; vm.TotalTime = stats.TotalTime; vm.Quiz = quiz.ToQuizViewModel(questions, answers); return(vm); }
public QuizDetailsViewModel ToQuizDetailsViewModel(Quiz quiz) { var vm = new QuizDetailsViewModel(); var stats = _quizResultService.GetStatistics(quiz.Id); vm.AvgLevel = stats.AvgLevel; vm.AvgRating = stats.AvgRating; vm.AvgScore = stats.AvgScore; vm.TotalPoints = stats.TotalPoints; vm.AvgScorePercent = stats.AvgScorePercent; vm.AvgTime = stats.AvgTime; vm.AvgTimePercent = stats.AvgTimePercent; vm.TotalTime = stats.TotalTime; vm.Quiz = ToQuizViewModel(quiz); return(vm); }
public async Task GetQuizByIdAsyncShouldReturnCorrectModel() { var quizId = await this.CreateQuizAsync("Test quiz", null, "testquizpass"); var model = new QuizDetailsViewModel() { Id = quizId, Name = "Test quiz", Description = null, Timer = null, Password = "******", EventName = null, }; var resultModel = await this.Service.GetQuizByIdAsync <QuizDetailsViewModel>(quizId); Assert.IsAssignableFrom <QuizDetailsViewModel>(resultModel); Assert.Equal(model.Id, resultModel.Id); Assert.Equal(model.Name, resultModel.Name); Assert.Equal(model.Description, resultModel.Description); Assert.Equal(model.Timer, resultModel.Timer); Assert.Equal(model.Password, resultModel.Password); Assert.Equal(model.EventName, resultModel.EventName); }