public void The_holiday_information_for_a_single_person_is_loaded_from_disk_and_sent_to_the_view_when_the_day_changes() { leave.DownloadDateTime = new DateTime(2016, 10, 26); AddPersonsLeave(new DateTime(2016, 10, 28), "Byran"); SaveLeaveToFakeDisk(); var configuration = new InformationRadiatorItemConfiguration(); var presenter = new HolidayCalendarPresenter(configuration); List <HolidayCalendarDay> days = null; DateTime downloadedDate = DateTime.MinValue; presenter.HolidayCalendarUpdate += (sender, e) => { days = e.Days; downloadedDate = e.DownloadedTime; }; timer.Raise(t => t.Tick += null, timer.Object, EventArgs.Empty); Assert.IsNotNull(days); Assert.AreEqual(1, days.Count); Assert.AreEqual(new DateTime(2016, 10, 28), days[0].Date); Assert.AreEqual(1, days[0].PeopleOnLeave.Count); Assert.AreEqual("Byran", days[0].PeopleOnLeave[0]); Assert.AreEqual(new DateTime(2016, 10, 26), downloadedDate); }
public void Only_holiday_information_for_the_next_two_weeks_is_sent_to_the_view() { AddPersonsLeave(factory.Date().AddDays(-1), "Paul"); AddPersonsLeave(factory.Date(), "Steve"); AddPersonsLeave(factory.Date().AddDays(13), "Jenny"); AddPersonsLeave(factory.Date().AddDays(14), "Byran"); SaveLeaveToFakeDisk(); var configuration = new InformationRadiatorItemConfiguration(); var presenter = new HolidayCalendarPresenter(configuration); List <HolidayCalendarDay> days = null; presenter.HolidayCalendarUpdate += (sender, e) => { days = e.Days; }; timer.Raise(t => t.Tick += null, timer.Object, EventArgs.Empty); Assert.IsNotNull(days); Assert.AreEqual(2, days.Count); Assert.AreEqual(factory.Date(), days[0].Date); Assert.AreEqual(1, days[0].PeopleOnLeave.Count); Assert.IsTrue(days[0].PeopleOnLeave.Contains("Steve")); Assert.AreEqual(factory.Date().AddDays(13), days[1].Date); Assert.AreEqual(1, days[1].PeopleOnLeave.Count); Assert.IsTrue(days[1].PeopleOnLeave.Contains("Jenny")); }
/// <summary> /// Function to retrieve index page. /// </summary> /// <returns>Index page</returns> public ActionResult Index() { this.AddBreadcrumbItem(Resources.HolidayCalendar, Url.HolidayCalendarAction()); HolidayCalendarPresenter model = new HolidayCalendarPresenter(); int currentYear = DateTimeHelper.RetrieveCurrentDateTime().Year; model.AssignHolidaySummary(this.holidayService.RetrieveIndianHolidayList(DateTime.Now.Year, SessionData.Instance.UserInfo.Developer.DeveloperID, null)); model.AssignUsHolidaySummary(this.lookupService.RetrieveUsHolidays(currentYear, DateTimeHelper.RetrieveCurrentDate())); return this.View(model); }
public void The_update_timer_is_requested_at_a_5_minute_interval() { var configuration = new InformationRadiatorItemConfiguration(); var presenter = new HolidayCalendarPresenter(configuration); // The interval is in milliseconds Assert.AreEqual(300000, factory.timerInterval); }
public void The_view_is_informed_about_an_error_during_processing_the_holidays() { var configuration = new InformationRadiatorItemConfiguration(); var presenter = new HolidayCalendarPresenter(configuration); HolidayCalendarFactory.Instance = new ErroringHolidayCalendarFactory(); bool errorEventRaised = false; presenter.ErrorLoadingHolidayInformation += (sender, e) => { errorEventRaised = true; }; timer.Raise(t => t.Tick += null, timer.Object, EventArgs.Empty); Assert.IsTrue(errorEventRaised); }