public async Task<IActionResult> SignOut(KioskSignOutDTO signOut) { var session = await _sessionRepo.Find(x => x.PersonId == signOut.PersonId && x.OutTime == null); if (!(session is Session)) throw new TCSException("You aren't signed in."); session.OutTime = DateTime.Now; var result = await _sessionRepo.Update(session); return Ok(result); }
public async void PUT_Session_Out_StudentSignedIn_ShouldReturn200WithSignedOutSession() { var client = _factory.CreateClient(); var signOut = new KioskSignOutDTO() { PersonId = 61 }; var response = await client.PutAsJsonAsync("api/sessions/out", signOut); Assert.Equal(HttpStatusCode.OK, response.StatusCode); var session = await response.Content.ReadAsAsync <Session> (); Assert.NotNull(session.OutTime); }
public async void PUT_Sessions_Out_StudentNotSignedIn_ShouldReturn500() { var signOut = new KioskSignOutDTO() { PersonId = 35 }; var client = _factory.CreateClient(); var response = await client.PutAsJsonAsync("api/sessions/out", signOut); Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode); var errorMessage = await response.Content.ReadAsAsync <ErrorMessage> (); Assert.Equal("You aren't signed in.", errorMessage.Message); }