public void GetEntriesForMonth_WithEntriesNotInCache_RetrievesFromRepositoryAndInsertsInCache() { // arrange var entry = new Entry(PostType.BlogPost) { Title = "Testing Cacher" }; var dateTime = DateTime.ParseExact("20090123", "yyyyMMdd", CultureInfo.InvariantCulture); var context = new Mock <ISubtextContext>(); context.Setup(c => c.Blog).Returns(new Blog { Id = 1001 }); context.Setup(c => c.Cache["EntryMonth:Date200901Blog1001"]).Returns(null); context.Setup(c => c.Repository.GetPostsByMonth(1, 2009)).Returns(new List <Entry> { entry }); // act var cachedEntries = Cacher.GetEntriesForMonth(dateTime, context.Object); // assert Assert.AreEqual(entry, cachedEntries.First()); context.Verify(c => c.Cache["EntryMonth:Date200901Blog1001"]); }
/// <summary> /// Load all entries for the selected month. /// </summary> private void LoadMonthData() { _monthEntries = Cacher.GetEntriesForMonth(entryCal.SelectedDate, SubtextContext); if (_monthEntries == null) { Trace.Warn("SubTextBlogCalendar Error: Cacher.GetMonth"); _dateCount = 0; } else { _dateCount = _monthEntries.Count; } _currentDateIndex = _dateCount - 1; }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); try { DateTime dt = SubtextContext.RequestContext.GetDateFromRequest(); Days.EntryListItems = Cacher.GetEntriesForMonth(dt, SubtextContext); Days.EntryListTitle = string.Format(CultureInfo.InvariantCulture, "{0} " + Resources.Label_Entries, dt.ToString("MMMM yyyy", CultureInfo.CurrentCulture)); Globals.SetTitle( string.Format(CultureInfo.InvariantCulture, "{0} - {1} " + Resources.Label_Entries, Blog.Title, dt.ToString("MMMM yyyy", CultureInfo.CurrentCulture)), Context); } catch (FormatException) { HttpHelper.SetFileNotFoundResponse(); } }