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); }
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); }
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); }
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); }
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); }