public void ThenTheStudentIsMarkedAgainstClass() { var response = ApiCaller.Get <List <UserModel> >(Routes.GetClassAttendance(ScenarioCache.GetId(ModelIdKeys.ClassId))); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.Contains(ScenarioCache.GetId(ModelIdKeys.UserId), response.Data.Select(x => x.Id).ToList()); }
public void WhenTheBlockRoomUnassignmentIsRequested() { var blockId = ScenarioCache.GetId(ModelIdKeys.BlockId); var response = ApiCaller.Delete <ActionReponse <BlockModel> >(Routes.GetBlockRoom(blockId)); ScenarioCache.StoreActionResponse(response); }
public void ThenTheUserDoesntHaveAPass() { var response = ApiCaller.Get <List <PassModel> >(Routes.GetUserPasses(ScenarioCache.GetId(ModelIdKeys.UserId))); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsEmpty(response.Data); }
public void ThenTheStudentIsMarkedAgainstTheEvent() { var response = ApiCaller.Get <StandAloneEventModel>(Routes.GetById(Routes.StandAloneEvent, ScenarioCache.GetId(ModelIdKeys.StandAloneEventId))); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.Contains(ScenarioCache.GetId(ModelIdKeys.UserId), response.Data.ActualStudents.Select(x => x.Id).ToList()); }
public void ThenBlockCanBeRetrieved() { var response = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNotNull(response.Data); }
public void ThenTheBlockIsNotInviteOnly() { var response = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsFalse(response.Data.IsInviteOnly); }
public void ThenTheBlockClassCapacityIs(int classCapacity) { var block = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))).Data; Assert.AreEqual(classCapacity, block.ClassCapacity); ScenarioCache.Store(ModelKeys.Block, block); }
public void WhenTheClassRoomUnassignmentIsRequested() { var classId = ScenarioCache.GetId(ModelIdKeys.ClassId); var response = ApiCaller.Delete <ActionReponse <ClassModel> >(Routes.GetClassRoom(classId)); ScenarioCache.StoreActionResponse(response); }
public void WhenTheBlockIsDeleted() { var blockId = ScenarioCache.GetId(ModelIdKeys.BlockId); var response = ApiCaller.Delete <ActionReponse <BlockModel> >(Routes.GetById(Routes.Blocks, blockId)); ScenarioCache.StoreActionResponse(response); }
public void ThenTheBlockDetailsHasTheRoom() { var block = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))).Data; var roomId = ScenarioCache.GetId(ModelIdKeys.RoomId); Assert.IsNotNull(block.Room); Assert.AreEqual(roomId, block.Room.Id); }
public void ThenTheClassDetailsHasTheRoom() { var theClass = ApiCaller.Get <ClassModel>(Routes.GetById(Routes.Classes, ScenarioCache.GetId(ModelIdKeys.ClassId))).Data; var roomId = ScenarioCache.GetId(ModelIdKeys.RoomId); Assert.IsNotNull(theClass.Room); Assert.AreEqual(roomId, theClass.Room.Id); }
public void ThenTheUserHasAPass() { var response = ApiCaller.Get <List <PassModel> >(Routes.GetUserPasses(ScenarioCache.GetId(ModelIdKeys.UserId))); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNotEmpty(response.Data); ScenarioCache.Store(ModelKeys.Pass, response.Data.Single()); }
public void WhenTheTeacherUnchecksTheStudentIntoTheEvent() { var response = ApiCaller.Delete <ActionReponse <StandAloneEventModel> >( Routes.GetAttendEvent(ScenarioCache.GetId(ModelIdKeys.StandAloneEventId), ScenarioCache.GetId(ModelIdKeys.UserId))); ScenarioCache.StoreActionResponse(response); }
public void GivenThePendingBlockIsToBeHeldInTheRoom() { var block = ScenarioCache.Get <BlockModel>(ModelKeys.Block); var roomId = ScenarioCache.GetId(ModelIdKeys.RoomId); block.Room = new RoomModel(roomId); ScenarioCache.Store(ModelKeys.Block, block); }
public void WhenTheClassTeachersAreChanged() { var classId = ScenarioCache.GetId(ModelIdKeys.ClassId); var response = ApiCaller.Put <ActionReponse <ClassModel> >(ScenarioCache.Get <List <int> >(NewTeacherIdsKey), Routes.GetChangeClassTeachers(ScenarioCache.GetId(ModelIdKeys.ClassId))); ScenarioCache.StoreActionResponse(response); }
public void ThenTheCorrectNumberOfClassesAreCreated() { var response = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))); var block = response.Data; var expectedBlock = ScenarioCache.Get <BlockModel>(ModelKeys.Block); Assert.AreEqual(expectedBlock.NumberOfClasses, block.Classes.Count); }
public void WhenTheTeacherUnchecksTheStudentIn() { var response = ApiCaller.Delete <ActionReponse <ClassModel> >( Routes.GetAttendClass(ScenarioCache.GetId(ModelIdKeys.ClassId), ScenarioCache.GetId(ModelIdKeys.UserId))); ScenarioCache.StoreActionResponse(response); }
public void ThenAllTheClassesInTheBlockDoesNotHaveTheRoom() { var block = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))).Data; foreach (var classModel in block.Classes) { Assert.IsNull(classModel.Room); } }
public void ThenTheBlocksDatesAreInUtc() { var response = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))); var originalBlock = ScenarioCache.Get <BlockModel>(ModelKeys.Block); Assert.AreNotEqual(originalBlock.StartDate.Offset, response.Data.StartDate.Offset); Assert.AreEqual(originalBlock.StartDate.ToUniversalTime(), response.Data.StartDate.ToUniversalTime()); Assert.AreEqual(originalBlock.StartDate.ToLocalTime(), response.Data.StartDate.ToLocalTime()); }
public void WhenTheBlockDetailsReportIsRequested() { var blockId = ScenarioCache.GetId(ModelIdKeys.BlockId); var url = Routes.GetBlockDetailsReport(blockId); var response = ApiCaller.Get <BlockDetailsResponse>(url); ScenarioCache.StoreResponse(response); ScenarioCache.Store(ModelKeys.BlockDetailsReport, response.Data); }
public void ThenTheUserIsRegisteredInTheStandAloneEvent() { var response = ApiCaller.Get <StandAloneEventModel>(Routes.GetById(Routes.StandAloneEvent, ScenarioCache.GetId(ModelIdKeys.StandAloneEventId))); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var user = response.Data.RegisteredStudents.Single(); Assert.AreEqual(ScenarioCache.GetId(ModelIdKeys.UserId), user.Id); }
public void ThenTheUserIsEnroledInTheBlock() { var response = ApiCaller.Get <BlockForRegistrationModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var user = response.Data.EnroledStudents.Single(); Assert.AreEqual(ScenarioCache.GetId(ModelIdKeys.UserId), user.Id); }
public void ThenTheBlocksStartAndEndTimeIsUpdated() { var block = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))).Data; var expectedBlock = ScenarioCache.Get <BlockModel>(ModelKeys.Block); Assert.AreEqual(expectedBlock.StartDate, block.StartDate); Assert.AreEqual(expectedBlock.EndDate, block.EndDate); ScenarioCache.Store(ModelKeys.Block, block); }
public void ThenTheRoomHasTheClassInItsSchedule() { var classId = ScenarioCache.GetId(ModelIdKeys.ClassId); var roomScheduleResponse = ApiCaller.Get <List <EventModel> >( Routes.GetRoomUpcomingSchedule(ScenarioCache.GetId(ModelIdKeys.RoomId))); Assert.AreEqual(HttpStatusCode.OK, roomScheduleResponse.StatusCode); Assert.Contains(classId, roomScheduleResponse.Data.Select(x => x.Id).ToList()); }
public void ThenTheRoomDoesNotHaveTheClassInItsSchedule() { var classId = ScenarioCache.GetId(ModelIdKeys.ClassId); var roomScheduleResponse = ApiCaller.Get <List <EventModel> >(Routes.GetRoomUpcomingSchedule(ScenarioCache.GetId(ModelIdKeys.RoomId))); Assert.AreEqual(HttpStatusCode.OK, roomScheduleResponse.StatusCode); var matchingClass = roomScheduleResponse.Data.SingleOrDefault(x => x.Id == classId); Assert.IsNull(matchingClass); }
public void ThenTheClassesHaveCorrectClassCapacity() { var response = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))); var block = response.Data; var expectedBlock = ScenarioCache.Get <BlockModel>(ModelKeys.Block); Assert.IsTrue(block.Classes.All(x => x.ClassCapacity == block.ClassCapacity)); Assert.AreEqual(expectedBlock.NumberOfClasses, block.Classes.Count); }
public void ThenAllTheClassesInTheBlockHasTheRoom() { var block = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))).Data; var roomId = ScenarioCache.GetId(ModelIdKeys.RoomId); foreach (var classModel in block.Classes) { Assert.IsNotNull(classModel.Room); Assert.AreEqual(roomId, classModel.Room.Id); } }
public void ThenClassesAreCreatedForTheBlock() { var response = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))); var block = response.Data; Assert.IsNotEmpty(block.Classes); foreach (var classModel in block.Classes) { Assert.AreEqual(classModel.StartTime.AddHours(1), classModel.EndTime); } }
public void ThenTheRoomDoesNotHaveTheBlocksClassesInItsSchedule() { var block = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))).Data; var blockClasses = block.Classes; var roomScheduleResponse = ApiCaller.Get <List <EventModel> >( Routes.GetRoomUpcomingSchedule(ScenarioCache.GetId(ModelIdKeys.RoomId))); Assert.AreEqual(HttpStatusCode.OK, roomScheduleResponse.StatusCode); Assert.IsEmpty(roomScheduleResponse.Data.Where(x => x.Id == blockClasses.First().Id)); }
public void ThenTheRoomHasTheClassesInItsSchedule() { var block = ApiCaller.Get <BlockModel>(Routes.GetById(Routes.Blocks, ScenarioCache.GetId(ModelIdKeys.BlockId))).Data; var blockClasses = block.Classes; var roomScheduleResponse = ApiCaller.Get <List <EventModel> >( Routes.GetRoomUpcomingSchedule(ScenarioCache.GetId(ModelIdKeys.RoomId))); Assert.AreEqual(HttpStatusCode.OK, roomScheduleResponse.StatusCode); Assert.Contains(blockClasses.First().Id, roomScheduleResponse.Data.Select(x => x.Id).ToList()); }