private void ChangeReservationOverlapUnAuthorized(User actor, User owner) { var server = new Server(); var room1 = new Room("room1", "here", 1, true, false, 1); if (actor == owner) { server.database.Users.Add(actor); } else { server.database.Users.Add(actor); server.database.Users.Add(owner); } server.database.Rooms.Add(room1); server.database.SaveChanges(); var controller = new ReservationsController(server.database); controller.SetUserIdentity(owner); var startdate = new DateTime(2000, 1, 1); var enddate = new DateTime(2000, 3, 1); var description = "Reservation"; var otherstartdate = new DateTime(2001, 1, 1); var otherenddate = new DateTime(2001, 3, 1); var tempresult = controller.AddReservation(server.EmailService, startdate, enddate, description, room1.Id); Assert.IsType <OkObjectResult>(tempresult); //IF this is not true, then the addreservation does not work. controller.SetUserIdentity(actor); tempresult = controller.AddReservation(server.EmailService, otherstartdate, otherenddate, description, room1.Id); Assert.IsType <OkObjectResult>(tempresult); var reservation = server.database.Participants.Where(x => x.UserID == owner.Id).First().Reservation; var otherreservation = server.database.Participants.Where(x => x.UserID == actor.Id).First().Reservation; var newstartdate = new DateTime(2000, 2, 1); var neweneddate = new DateTime(2000, 4, 1); var result = controller.ChangeReservation(server.EmailService, otherreservation.Id, newstartdate, neweneddate, null, null, null, true); Assert.IsType <UnauthorizedResult>(result); Assert.Equal(enddate, reservation.EndDate); Assert.Equal(startdate, reservation.StartDate); Assert.Equal(otherenddate, otherreservation.EndDate); Assert.Equal(otherstartdate, otherreservation.StartDate); }
private void ChangeReservationNoOverlapUnauthorized(User actor, User owner, DateTime?newStartTime, DateTime?newEndTime, string newDescription, Room newRoom, bool Force, bool?isActive) { var server = new Server(); var room1 = new Room("room1", "here", 1, true, false, 1); if (actor == owner) { server.database.Users.Add(actor); } else { server.database.Users.Add(actor); server.database.Users.Add(owner); } server.database.Rooms.Add(room1); if (newRoom != null) { server.database.Rooms.Add(newRoom); } server.database.SaveChanges(); var controller = new ReservationsController(server.database); controller.SetUserIdentity(owner); var startdate = new DateTime(2000, 1, 1); var enddate = new DateTime(2000, 3, 1); var description = "Reservation"; var tempresult = controller.AddReservation(server.EmailService, startdate, enddate, description, room1.Id); Assert.IsType <OkObjectResult>(tempresult); //IF this is not true, then the addreservation does not work. controller.SetUserIdentity(actor); var reservation = server.database.Reservations.First(); var result = controller.ChangeReservation(server.EmailService, reservation.Id, newStartTime, newEndTime, newDescription, newRoom == null ? null : (int?)newRoom.Id, isActive, Force); Assert.IsType <UnauthorizedResult>(result); Assert.Equal(startdate, reservation.StartDate); Assert.Equal(enddate, reservation.EndDate); Assert.Equal(description, reservation.Description); Assert.Equal(room1, reservation.Room); Assert.Equal(true, reservation.Active); }