示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }