public void CheckInNoUnit() { Nicknames nickname = new Nicknames() { NickName = AlphaNumericStringGenerator.GetString(10), Sid = AlphaNumericStringGenerator.GetStudentIDString() }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Nicknames.Add(nickname); context.SaveChanges(); } CheckInRequest request = new CheckInRequest() { SID = nickname.Sid }; CheckInFacade facade = new CheckInFacade(); CheckInResponse response = facade.CheckIn(request); Assert.AreEqual(HttpStatusCode.BadRequest, response.Status); }
public void CheckInNewStudentNoSID() { Unit unit = new Unit() { Code = AlphaNumericStringGenerator.GetString(8), IsDeleted = false, Name = AlphaNumericStringGenerator.GetString(10), }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Unit.Add(unit); context.SaveChanges(); } CheckInRequest request = new CheckInRequest() { UnitID = unit.UnitId, Nickname = AlphaNumericStringGenerator.GetString(10) }; CheckInFacade facade = new CheckInFacade(); CheckInResponse response = facade.CheckIn(request); Assert.AreEqual(HttpStatusCode.BadRequest, response.Status); }
public IActionResult CheckOut([FromBody] CheckOutRequest request, [FromRoute] int id) { try { var facade = new CheckInFacade(); var response = facade.CheckOut(request, id); switch (response.Status) { case HttpStatusCode.OK: return(Ok(response)); case HttpStatusCode.BadRequest: return(BadRequest(BuildBadRequestMessage(response))); case HttpStatusCode.NotFound: return(NotFound()); case HttpStatusCode.InternalServerError: return(StatusCode(StatusCodes.Status500InternalServerError)); } s_logger.Fatal("This code should be unreachable, unknown result has occured."); } catch (Exception ex) { s_logger.Error(ex, "Unable to check out."); } return(StatusCode(StatusCodes.Status500InternalServerError)); }
public TestEntityFactory() { HelpdeskFacade = new HelpdeskFacade(); UnitsFacade = new UnitsFacade(); TopicsFacade = new TopicsFacade(); QueueFacade = new QueueFacade(); CheckInFacade = new CheckInFacade(); StudentFacade = new StudentFacade(); }
public void CheckOutForced() { Unit unit = new Unit() { Code = AlphaNumericStringGenerator.GetString(8), IsDeleted = false, Name = AlphaNumericStringGenerator.GetString(10), }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Unit.Add(unit); context.SaveChanges(); } CheckInRequest request = new CheckInRequest() { UnitID = unit.UnitId, Nickname = AlphaNumericStringGenerator.GetString(10), SID = AlphaNumericStringGenerator.GetStudentIDString() }; CheckInFacade facade = new CheckInFacade(); CheckInResponse response = facade.CheckIn(request); Assert.AreEqual(HttpStatusCode.OK, response.Status); Assert.IsTrue(response.CheckInID > 0); CheckOutRequest coRequest = new CheckOutRequest() { ForcedCheckout = true }; CheckOutResponse coResponse = facade.CheckOut(coRequest, response.CheckInID); Assert.AreEqual(HttpStatusCode.OK, coResponse.Status); Assert.IsTrue(coResponse.Result); using (helpdesksystemContext context = new helpdesksystemContext()) { Checkinhistory checkOut = context.Checkinhistory.FirstOrDefault(co => co.CheckInId == response.CheckInID); Assert.IsNotNull(checkOut); var baseTime = DateTime.Now.AddMinutes(-1); var addTime = checkOut.CheckoutTime; var timeDiff = baseTime.CompareTo(addTime); Assert.IsTrue(timeDiff == -1); Assert.AreEqual(coRequest.ForcedCheckout, checkOut.ForcedCheckout); } }
public void CheckOutNoCheckInItem() { CheckInFacade facade = new CheckInFacade(); CheckOutRequest request = new CheckOutRequest() { ForcedCheckout = false }; CheckOutResponse coResponse = facade.CheckOut(request, -1); Assert.AreEqual(HttpStatusCode.NotFound, coResponse.Status); }
public void CheckInExistingStudent() { Unit unit = new Unit() { Code = AlphaNumericStringGenerator.GetString(8), IsDeleted = false, Name = AlphaNumericStringGenerator.GetString(10), }; Nicknames nickname = new Nicknames() { NickName = AlphaNumericStringGenerator.GetString(10), Sid = AlphaNumericStringGenerator.GetStudentIDString() }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Unit.Add(unit); context.Nicknames.Add(nickname); context.SaveChanges(); } CheckInRequest request = new CheckInRequest() { UnitID = unit.UnitId, StudentID = nickname.StudentId }; CheckInFacade facade = new CheckInFacade(); CheckInResponse response = facade.CheckIn(request); Assert.AreEqual(HttpStatusCode.OK, response.Status); Assert.IsTrue(response.CheckInID > 0); using (helpdesksystemContext context = new helpdesksystemContext()) { Checkinhistory checkInHistory = context.Checkinhistory.FirstOrDefault(cih => cih.CheckInId == response.CheckInID); var baseTime = DateTime.Now.AddMinutes(-1); var addTime = checkInHistory.CheckInTime; Assert.AreEqual(request.UnitID, checkInHistory.UnitId); var timeDiff = baseTime.CompareTo(addTime); Assert.IsTrue(timeDiff == -1); Assert.AreEqual(request.StudentID, checkInHistory.StudentId); } }
public TestDataCheckIn AddCheckIn(int?studentID = null, string nickname = "", string sID = "", int?unitID = null) { var request = new CheckInRequest(); if (studentID != null) { request.StudentID = studentID; } if (nickname != null) { if (nickname == "" && PopulateEmptyStrings) { request.Nickname = AlphaNumericStringGenerator.GetString(20); } else { request.Nickname = nickname; } } if (sID != null) { if (sID == "" && PopulateEmptyStrings) { request.SID = AlphaNumericStringGenerator.GetStudentIDString(); } else { request.SID = sID; } } if (unitID != null) { request.UnitID = (int)unitID; } var response = CheckInFacade.CheckIn(request); TestDataCheckIn data = new TestDataCheckIn(request, response); return(data); }
public void GetCheckinsTwoCheckedOut() { var checkIn = new Checkinhistory(); var checkIn2 = new Checkinhistory(); var checkIn3 = new Checkinhistory(); var helpdesk = new Helpdesksettings() { Name = AlphaNumericStringGenerator.GetString(8), HasCheckIn = true, IsDeleted = false }; var unit = new Unit() { Code = AlphaNumericStringGenerator.GetString(6), Name = AlphaNumericStringGenerator.GetString(8), IsDeleted = false }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Helpdesksettings.Add(helpdesk); context.Unit.Add(unit); context.SaveChanges(); context.Helpdeskunit.Add(new Helpdeskunit() { HelpdeskId = helpdesk.HelpdeskId, UnitId = unit.UnitId }); var student = new Nicknames() { NickName = AlphaNumericStringGenerator.GetString(8), Sid = AlphaNumericStringGenerator.GetStudentIDString() }; var student2 = new Nicknames() { NickName = AlphaNumericStringGenerator.GetString(8), Sid = AlphaNumericStringGenerator.GetStudentIDString() }; var student3 = new Nicknames() { NickName = AlphaNumericStringGenerator.GetString(8), Sid = AlphaNumericStringGenerator.GetStudentIDString() }; context.Nicknames.Add(student); context.Nicknames.Add(student2); context.Nicknames.Add(student3); context.SaveChanges(); checkIn = new Checkinhistory() { UnitId = unit.UnitId, StudentId = student.StudentId, CheckInTime = DateTime.Now, }; context.Checkinhistory.Add(checkIn); checkIn2 = new Checkinhistory() { UnitId = unit.UnitId, StudentId = student2.StudentId, CheckInTime = DateTime.Now, }; checkIn3 = new Checkinhistory() { UnitId = unit.UnitId, StudentId = student3.StudentId, CheckInTime = DateTime.Now, }; context.Checkinhistory.Add(checkIn); context.Checkinhistory.Add(checkIn2); context.Checkinhistory.Add(checkIn3); context.SaveChanges(); } var facade = new CheckInFacade(); var response = facade.GetCheckInsByHelpdeskId(helpdesk.HelpdeskId); Assert.AreEqual(HttpStatusCode.OK, response.Status); Assert.IsTrue(response.CheckIns.Count == 3); using (helpdesksystemContext context = new helpdesksystemContext()) { checkIn.CheckoutTime = DateTime.Now; checkIn3.ForcedCheckout = true; context.Update(checkIn); context.Update(checkIn3); context.SaveChanges(); } response = facade.GetCheckInsByHelpdeskId(helpdesk.HelpdeskId); Assert.AreEqual(HttpStatusCode.OK, response.Status); Assert.IsTrue(response.CheckIns.Count == 1); }
public void CheckOutWithQueueItems() { Unit unit = new Unit() { Code = AlphaNumericStringGenerator.GetString(8), IsDeleted = false, Name = AlphaNumericStringGenerator.GetString(10), }; Topic topic = new Topic() { Name = AlphaNumericStringGenerator.GetString(10), IsDeleted = false }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Unit.Add(unit); topic.UnitId = unit.UnitId; context.Topic.Add(topic); context.SaveChanges(); } CheckInRequest request = new CheckInRequest() { UnitID = unit.UnitId, Nickname = AlphaNumericStringGenerator.GetString(10), SID = AlphaNumericStringGenerator.GetStudentIDString() }; CheckInFacade facade = new CheckInFacade(); CheckInResponse response = facade.CheckIn(request); Assert.AreEqual(HttpStatusCode.OK, response.Status); Assert.IsTrue(response.CheckInID > 0); Queueitem queueitem = new Queueitem() { StudentId = response.StudentID, TopicId = topic.TopicId, Description = "Check In Unit Test", TimeAdded = DateTime.Now }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Queueitem.Add(queueitem); Checkinqueueitem checkinqueueitem = new Checkinqueueitem() { CheckInId = response.CheckInID, QueueItemId = queueitem.ItemId }; context.Checkinqueueitem.Add(checkinqueueitem); context.SaveChanges(); } CheckOutRequest coRequest = new CheckOutRequest() { ForcedCheckout = false }; CheckOutResponse coResponse = facade.CheckOut(coRequest, response.CheckInID); Assert.AreEqual(HttpStatusCode.OK, coResponse.Status); Assert.IsTrue(coResponse.Result); using (helpdesksystemContext context = new helpdesksystemContext()) { Checkinhistory checkOut = context.Checkinhistory.FirstOrDefault(co => co.CheckInId == response.CheckInID); Queueitem item = context.Queueitem.FirstOrDefault(qi => qi.ItemId == queueitem.ItemId); Assert.IsNotNull(checkOut); var baseTime = DateTime.Now.AddMinutes(-1); var addTime = checkOut.CheckoutTime; var timeDiff = baseTime.CompareTo(addTime); Assert.IsTrue(timeDiff == -1); Assert.AreEqual(coRequest.ForcedCheckout, checkOut.ForcedCheckout); Assert.IsNotNull(item); var baseQueueTime = DateTime.Now.AddMinutes(-1); var removeQueueTime = item.TimeRemoved; var queueTimeDiff = baseQueueTime.CompareTo(removeQueueTime); Assert.IsTrue(queueTimeDiff == -1); } }