public ActionResult Index()
        {
            var model = _cacheService?.GetCache("WorkingHoursModel");

            if (model != null)
            {
                return(View((HoursViewModel)model));
            }
            HoursDropdownMapper.CacheHoursDropdown();
            return(RedirectToRoute($"~/Error/PageErrorFound/?msg={ErrorMessage}"));
        }
        public void Index_GetView_IfDropdownIsCached()
        {
            var countofHoursInCachedDropdown = 13;
            var defaultSelectedValue         = -1;

            // Arrange
            HoursDropdownMapper.CacheHoursDropdown();
            var cacheService = IocContainer.Resolve <ICacheService>();
            var controller   = new PayoutController(cacheService);
            // Act
            var result = controller.Index() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(countofHoursInCachedDropdown, ((HoursViewModel)result.Model)?.StartTimeHours.Count());
            Assert.AreEqual(countofHoursInCachedDropdown, ((HoursViewModel)result.Model)?.BedTimeHours.Count());
            Assert.AreEqual(countofHoursInCachedDropdown, ((HoursViewModel)result.Model)?.EndTimeHours.Count());
            Assert.AreEqual(defaultSelectedValue, ((HoursViewModel)result.Model)?.SelectedStartTimeHours);
            Assert.AreEqual(defaultSelectedValue, ((HoursViewModel)result.Model)?.SelectedBedTimeHours);
            Assert.AreEqual(defaultSelectedValue, ((HoursViewModel)result.Model)?.SelectedEndTimeHours);
            Assert.IsNotNull(result);
        }