public IActionResult TestPassFinished(int testId, int previousesQuestionCorrectAnswersAmount) { this.logger.LogInformation("TestPassFinished(post) action"); string userName = this.User.Identity.Name; string userId = this.dataManager.Users.GetIdByEmail(userName); StatiscticViewModel statiscticViewModel = new StatiscticViewModel() { testId = testId, Result = previousesQuestionCorrectAnswersAmount }; this.servicesManager.Statistics.SaveStatisticEditModelIntoDb(new StatisticEditModel() { userId = userId, testId = testId, Result = previousesQuestionCorrectAnswersAmount }); var testTitle = this.servicesManager.Tests.TestFromDbToViewModelById(testId); var questionsAmount = this.servicesManager.Questions.GetAllViewQuestionsByTestId(testId).Count; double devide = (double)statiscticViewModel.Result / (double)questionsAmount; var percentage = devide * 100; this.ViewBag.TestTitle = testTitle.Title; this.ViewBag.QuestionsAmount = questionsAmount; this.ViewBag.PercentEquivalent = percentage; return(this.View(statiscticViewModel)); }
public void GetAllByUserIdUnit() { var managerMock = new DataManagerMock(new AnswersRepositoryMock(), new QuestionsRepositoryMock(), new TestsRepositoryMock(), new StatisticRepositoryMock(), new UsersRepositoryMock(), new WrittenLetterRepositoryMock()); var statisticService = new StatisticService(managerMock); StatiscticViewModel model = new StatiscticViewModel() { testId = 1, ownerId = "1", Result = 1, PassedAt = DateTime.Parse("01/01/2021") }; StatiscticViewModel model2 = new StatiscticViewModel() { testId = 2, ownerId = "1", Result = 2, PassedAt = DateTime.Parse("01/01/2021") }; const string userId = "1"; var actual = statisticService.GetAllByUserId(userId); Assert.Equal(actual[0].testId, model.testId); Assert.Equal(actual[0].ownerId, model.ownerId); Assert.Equal(actual[0].Result, model.Result); Assert.Equal(actual[1].testId, model2.testId); Assert.Equal(actual[1].ownerId, model2.ownerId); Assert.Equal(actual[1].Result, model2.Result); }