public async Task <IActionResult> GetTestByLinkAsync([FromRoute] string link, [FromRoute] bool isPreview) { var attendeeId = 0; if (link == null) { return(BadRequest()); } if (!await _testConductRepository.IsTestInValidDateWindow(link, isPreview)) { return(NotFound()); } if (isPreview == false) { await HttpContext.Session.LoadAsync(); attendeeId = HttpContext.Session.GetInt32(_stringConstants.AttendeeIdSessionKey).Value; if (!await IsAttendeeValid(attendeeId)) { return(NotFound()); } } var testDetails = await _testRepository.GetTestByLinkAsync(link); if (isPreview == false) { await _testRepository.SetStartTestLogAsync(attendeeId); } return(Ok(testDetails)); }
public async Task SetStartTestLog() { var test = CreateTest("Mathematics"); await _testRepository.CreateTestAsync(test, "5"); var testAttendee = CreateTestAttendee(test.Id); var testLogs = new TestLogs() { Id = 1, TestAttendeeId = testAttendee.Id, VisitTestLink = DateTime.UtcNow, FillRegistrationForm = DateTime.UtcNow, StartTest = default(DateTime) }; _trappistDbContext.TestLogs.Add(testLogs); await _trappistDbContext.SaveChangesAsync(); await _testRepository.SetStartTestLogAsync(testAttendee.Id); var attendeeStartTestLog = _trappistDbContext.TestLogs.Where(x => x.TestAttendeeId == testAttendee.Id).Select(x => x.StartTest).FirstOrDefault(); testLogs.StartTest = attendeeStartTestLog; Assert.True(testLogs.StartTest != default(DateTime)); }