public void OpeningTimes_Returns_List_Of_Opening_Times()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 05);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    MONDAY_SESSION,
                    TUESDAY_SESSION,
                    WEDNESDAY_SESSION,
                    THURSDAY_SESSION,
                    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 IsOpen_Returns_False_When_Service_Has_No_Rota_Sessions()
        {
            var clock   = new StaticClock(DayOfWeek.Sunday, 16, 2);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
            };

            Assert.IsFalse(service.IsOpen);
        }
        public void ServiceOpeningTimesMessage_Returns_Next_Day_Closed_Today()
        {
            var clock   = new StaticClock(DayOfWeek.Wednesday, 12, 30);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    TUESDAY_SESSION
                }
            };

            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 ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    THURSDAY_MORNING_SESSION,
                    THURSDAY_AFTERNOON_SESSION
                },
            };

            Assert.AreEqual("Closed", service.CurrentStatus);
        }
        public void ServiceOpeningTimesMessage_Returns_First_Session_Of_Two_On_Same_Day_Closed_Today()
        {
            var clock   = new StaticClock(DayOfWeek.Friday, 12, 30);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    THURSDAY_AFTERNOON_SESSION,
                    THURSDAY_MORNING_SESSION
                }
            };

            Assert.AreEqual("Opens Thursday: 08:30 until 11:00", service.ServiceOpeningTimesMessage);
        }
        public void OpeningTimes_Multiple_Rota_Sessions_Time_InBetween_Afternoon_Session_Returns_Afternoon_Opening()
        {
            var clock   = new StaticClock(DayOfWeek.Thursday, 15, 00);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    THURSDAY_MORNING_SESSION,
                    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 OpeningTimes_Multiple_Rota_Sessions_Time_At_End_Of_First_Session_Returns_Morning()
        {
            var clock   = new StaticClock(DayOfWeek.Thursday, 10, 59);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    THURSDAY_MORNING_SESSION,
                    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);
        }
        public void CurrentStatus_Returns_Open_Today_Midnight()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 6, 40);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    MONDAY_SESSION,
                    TUESDAY_SESSION,
                    WEDNESDAY_SESSION,
                    THURSDAY_SESSION,
                    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
                        }
                    },
                    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);
        }
        public void CurrentStatus_Returns_Closed_When_No_Rota_Session_For_Today()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 05);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    MONDAY_SESSION,
                    TUESDAY_SESSION,
                    WEDNESDAY_SESSION,
                    THURSDAY_SESSION,
                    FRIDAY_SESSION
                }
            };

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

            Assert.IsFalse(service.IsOpen);
        }
Exemplo n.º 11
0
        public void ServiceOpeningTimesMessage_Returns_Correct_Open_Day_After_Tomorrow_Times()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 22, 35);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    MONDAY_SESSION,
                    TUESDAY_SESSION,
                    WEDNESDAY_SESSION,
                    THURSDAY_SESSION,
                    FRIDAY_SESSION,
                }
            };

            Assert.AreEqual("Opens Monday: 09:30 until 17:00", service.ServiceOpeningTimesMessage);
        }
Exemplo n.º 12
0
        public void ServiceOpeningTimesMessage_Returns_Tomorrow_Closed_Today()
        {
            var clock   = new StaticClock(DayOfWeek.Wednesday, 12, 30);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    MONDAY_SESSION,
                    TUESDAY_SESSION,
                    THURSDAY_SESSION,
                    FRIDAY_SESSION,
                    SATURDAY_SESSION,
                    SUNDAY_SESSION
                }
            };

            Assert.AreEqual("Opens tomorrow: 09:30 until 17:00", service.ServiceOpeningTimesMessage);
        }
Exemplo n.º 13
0
        public void OpeningTimes_Null_Rota_Sessions_Returns_Closed()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 05);
            var service = new 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]);
        }
Exemplo n.º 14
0
        public void CurrentStatus_Returns_Closed_When_Time_After_Todays_Closing()
        {
            var clock   = new StaticClock(DayOfWeek.Wednesday, 19, 05);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    MONDAY_SESSION,
                    TUESDAY_SESSION,
                    WEDNESDAY_SESSION,
                    THURSDAY_SESSION,
                    FRIDAY_SESSION,
                    SATURDAY_SESSION,
                    SUNDAY_SESSION
                }
            };

            Assert.AreEqual("Closed", service.CurrentStatus);
        }
Exemplo n.º 15
0
        public void OpeningTimes_For_Open_All_Hours_Returns_Empty_List()
        {
            var clock   = new StaticClock(DayOfWeek.Saturday, 12, 05);
            var service = new ServiceViewModel(clock)
            {
                OpenAllHours = true,
                RotaSessions = new[]
                {
                    MONDAY_SESSION,
                    TUESDAY_SESSION,
                    WEDNESDAY_SESSION,
                    THURSDAY_SESSION,
                    FRIDAY_SESSION
                }
            };

            var openingTimes = service.OpeningTimes;

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

            Assert.IsFalse(service.IsOpen);
        }
Exemplo n.º 17
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 ServiceViewModel(clock)
            {
                OpenAllHours = false,
                RotaSessions = new[]
                {
                    MONDAY_SESSION,
                    TUESDAY_SESSION,
                    WEDNESDAY_SESSION,
                    THURSDAY_SESSION,
                    FRIDAY_SESSION,
                    SATURDAY_SESSION,
                    SUNDAY_SESSION
                }
            };

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