public void OpeningTimes_Returns_List_Of_Opening_Times()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 05);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION
                }
            };

            var openingTimes = service.OpeningTimes;

            Assert.AreEqual(7, openingTimes.Count);
            Assert.AreEqual("9:30am - 5:00pm", openingTimes[DayOfWeek.Monday]);
            Assert.AreEqual("9:30am - 5:00pm", openingTimes[DayOfWeek.Tuesday]);
            Assert.AreEqual("9:30am - 5:00pm", openingTimes[DayOfWeek.Wednesday]);
            Assert.AreEqual("9:30am - 5:00pm", openingTimes[DayOfWeek.Thursday]);
            Assert.AreEqual("9:30am - 5:00pm", openingTimes[DayOfWeek.Friday]);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Saturday]);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Sunday]);
        }
        public void NextOpenDayRotaSessions_returns_all_session_for_current_day()
        {
            var clock   = new StaticClock(DayOfWeek.Thursday, 09, 05);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_MORNING_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_AFTERNOON_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION
                }
            };

            var todaysOpeningTimes = service.NextOpenDayRotaSessions;

            Assert.AreEqual(2, todaysOpeningTimes.Count());
            Assert.AreEqual(DayOfWeek.Thursday, todaysOpeningTimes.First().Day);
            Assert.IsTrue(_serviceViewModelTestHelper.IsSameTime(todaysOpeningTimes.First().OpeningTime, _serviceViewModelTestHelper.THURSDAY_MORNING_SESSION.StartTime));
            Assert.IsTrue(_serviceViewModelTestHelper.IsSameTime(todaysOpeningTimes.First().ClosingTime, _serviceViewModelTestHelper.THURSDAY_MORNING_SESSION.EndTime));


            Assert.AreEqual(DayOfWeek.Thursday, todaysOpeningTimes.ToList()[1].Day);
            Assert.IsTrue(_serviceViewModelTestHelper.IsSameTime(todaysOpeningTimes.ToList()[1].OpeningTime, _serviceViewModelTestHelper.THURSDAY_AFTERNOON_SESSION.StartTime));
            Assert.IsTrue(_serviceViewModelTestHelper.IsSameTime(todaysOpeningTimes.ToList()[1].ClosingTime, _serviceViewModelTestHelper.THURSDAY_AFTERNOON_SESSION.EndTime));
        }
        public void IsOpen_Returns_True_When_Service_Open_All_Hours()
        {
            var service = new NHS111.Models.Models.Web.ServiceViewModel()
            {
                OpenAllHours = true,
            };

            Assert.IsTrue(service.IsOpen);
        }
        public void ServiceOpeningTimesMessage_Returns_Closed_When_Not_Open_All_Hours_And_No_Rotasessions()
        {
            var service = new NHS111.Models.Models.Web.ServiceViewModel()
            {
                OpenAllHours = false,
            };

            Assert.AreEqual("", service.NextOpeningTimePrefixMessage);
            Assert.AreEqual("Closed", service.ServiceOpeningTimesMessage);
        }
        public void IsOpen_Returns_False_When_Service_Has_No_Rota_Sessions()
        {
            var clock   = new StaticClock(DayOfWeek.Sunday, 16, 2);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
            };

            Assert.IsFalse(service.IsOpen);
        }
Ejemplo n.º 6
0
        public void CurrentStatus_Returns_24Hours_When_Service_Open_All_Hours()
        {
            var service = new NHS111.Models.Models.Web.ServiceViewModel()
            {
                OpenAllHours = true,
            };

            Assert.AreEqual("Open today: 24 hours", service.CurrentStatus);
            Assert.AreEqual("Open today: 24 hours", service.ServiceOpeningTimesMessage);
        }
        public void ServiceOpeningTimesMessage_Returns_Next_Day_Closed_Today()
        {
            var clock   = new StaticClock(DayOfWeek.Wednesday, 12, 30);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.TUESDAY_SESSION
                }
            };

            Assert.AreEqual("Opens Tuesday:", service.NextOpeningTimePrefixMessage);
            Assert.AreEqual("Opens Tuesday: 09:30 until 17:00", service.ServiceOpeningTimesMessage);
        }
        public void OpeningTimes_Multiple_Rota_Sessions_Time_After_All_Returns_Closed()
        {
            var clock   = new StaticClock(DayOfWeek.Thursday, 18, 00);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.THURSDAY_MORNING_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_AFTERNOON_SESSION
                },
            };

            Assert.AreEqual("Closed", service.CurrentStatus);
        }
        public void OpeningTimes_Multiple_Rota_Sessions_Time_InBetween_Afternoon_Session_Returns_Afternoon_Opening()
        {
            var clock   = new StaticClock(DayOfWeek.Thursday, 15, 00);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.THURSDAY_MORNING_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_AFTERNOON_SESSION
                },
            };

            Assert.AreEqual("Open today: 13:00 until 18:00", service.CurrentStatus);
            Assert.AreEqual("Open today: 13:00 until 18:00", service.ServiceOpeningTimesMessage);
        }
        public void ServiceOpeningTimesMessage_Returns_First_Session_Of_Two_On_Same_Day_Closed_Today()
        {
            var clock   = new StaticClock(DayOfWeek.Friday, 12, 30);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.THURSDAY_AFTERNOON_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_MORNING_SESSION
                }
            };

            Assert.AreEqual("Opens Thursday:", service.NextOpeningTimePrefixMessage);
            Assert.AreEqual("Opens Thursday: 08:30 until 11:00", service.ServiceOpeningTimesMessage);
        }
        public void OpeningTimes_Multiple_Rota_Sessions_Time_At_End_Of_First_Session_Returns_Morning()
        {
            var clock   = new StaticClock(DayOfWeek.Thursday, 10, 59);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.THURSDAY_MORNING_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_AFTERNOON_SESSION
                },
            };

            Assert.AreEqual("Open today: 08:30 until 11:00", service.CurrentStatus);
            Assert.AreEqual("Open today: 08:30 until 11:00", service.ServiceOpeningTimesMessage);
        }
Ejemplo n.º 12
0
        public void CurrentStatus_Returns_Open_Today_Midnight()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 6, 40);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION,
                    new ServiceCareItemRotaSession()
                    {
                        StartDayOfWeek = NHS111.Models.Models.Web.FromExternalServices.DayOfWeek.Saturday,
                        EndDayOfWeek   = NHS111.Models.Models.Web.FromExternalServices.DayOfWeek.Saturday,
                        StartTime      = new TimeOfDay()
                        {
                            Hours = 0, Minutes = 0
                        },
                        EndTime = new TimeOfDay()
                        {
                            Hours = 7, Minutes = 30
                        }
                    },
                    new ServiceCareItemRotaSession()
                    {
                        StartDayOfWeek = NHS111.Models.Models.Web.FromExternalServices.DayOfWeek.Saturday,
                        EndDayOfWeek   = NHS111.Models.Models.Web.FromExternalServices.DayOfWeek.Saturday,
                        StartTime      = new TimeOfDay()
                        {
                            Hours = 22, Minutes = 0
                        },
                        EndTime = new TimeOfDay()
                        {
                            Hours = 23, Minutes = 59
                        }
                    },
                    _serviceViewModelTestHelper.SUNDAY_SESSION
                }
            };

            Assert.IsTrue(service.IsOpen);
            Assert.AreEqual("Open today: 00:00 until 07:30", service.CurrentStatus);
            Assert.AreEqual("Open today: 00:00 until 07:30", service.ServiceOpeningTimesMessage);
        }
Ejemplo n.º 13
0
        public void CurrentStatus_Returns_Closed_When_No_Rota_Session_For_Today()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 05);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION
                }
            };

            Assert.AreEqual("Closed", service.CurrentStatus);
        }
        public void IsOpen_Returns_False_When_Service_Has_No_Rota_Session_For_Today()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 35);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION
                }
            };

            Assert.IsFalse(service.IsOpen);
        }
        public void OpeningTimes_Null_Rota_Sessions_Returns_Closed()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 05);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false
            };

            var openingTimes = service.OpeningTimes;

            Assert.AreEqual(7, openingTimes.Count);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Monday]);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Tuesday]);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Wednesday]);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Thursday]);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Friday]);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Saturday]);
            Assert.AreEqual("Closed", openingTimes[DayOfWeek.Sunday]);
        }
        public void ServiceOpeningTimesMessage_Returns_Correct_Open_Day_After_Tomorrow_Times()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 22, 35);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION,
                }
            };

            Assert.AreEqual("Opens Monday:", service.NextOpeningTimePrefixMessage);
            Assert.AreEqual("Opens Monday: 09:30 until 17:00", service.ServiceOpeningTimesMessage);
        }
        public void OpeningTimes_For_Open_All_Hours_Returns_Empty_List()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 05);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = true,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION
                }
            };

            var openingTimes = service.OpeningTimes;

            Assert.AreEqual(0, openingTimes.Count);
        }
        public void IsOpen_Returns_False_When_Service_Is_Closed()
        {
            var clock   = new StaticClock(DayOfWeek.Monday, 8, 2);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION,
                    _serviceViewModelTestHelper.SATURDAY_SESSION,
                    _serviceViewModelTestHelper.SUNDAY_SESSION
                }
            };

            Assert.IsFalse(service.IsOpen);
        }
Ejemplo n.º 19
0
        public void CurrentStatus_Returns_Correct_Open_Today_Times_When_Time_Before_Todays_Opening()
        {
            var clock   = new StaticClock(DayOfWeek.Thursday, 7, 30);
            var service = new NHS111.Models.Models.Web.ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    _serviceViewModelTestHelper.MONDAY_SESSION,
                    _serviceViewModelTestHelper.TUESDAY_SESSION,
                    _serviceViewModelTestHelper.WEDNESDAY_SESSION,
                    _serviceViewModelTestHelper.THURSDAY_SESSION,
                    _serviceViewModelTestHelper.FRIDAY_SESSION,
                    _serviceViewModelTestHelper.SATURDAY_SESSION,
                    _serviceViewModelTestHelper.SUNDAY_SESSION
                }
            };

            Assert.AreEqual("Opens today: 09:30 until 17:00", service.CurrentStatus);
            Assert.AreEqual("Opens today: 09:30 until 17:00", service.ServiceOpeningTimesMessage);
        }