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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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());
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }
Exemple #10
0
        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);
        }
Exemple #11
0
        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);
        }
Exemple #12
0
        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());
        }
Exemple #13
0
        public void WhenTheTeacherUnchecksTheStudentIntoTheEvent()
        {
            var response =
                ApiCaller.Delete <ActionReponse <StandAloneEventModel> >(
                    Routes.GetAttendEvent(ScenarioCache.GetId(ModelIdKeys.StandAloneEventId),
                                          ScenarioCache.GetId(ModelIdKeys.UserId)));

            ScenarioCache.StoreActionResponse(response);
        }
Exemple #14
0
        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);
        }
Exemple #15
0
        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);
        }
Exemple #16
0
        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);
        }
Exemple #18
0
        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);
            }
        }
Exemple #19
0
        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);
        }
Exemple #22
0
        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);
        }
Exemple #24
0
        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());
        }
Exemple #25
0
        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);
        }
Exemple #26
0
        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);
        }
Exemple #27
0
        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);
            }
        }
Exemple #28
0
        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);
            }
        }
Exemple #29
0
        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));
        }
Exemple #30
0
        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());
        }