public void Entry_not_in_database_returns_null()
        {
            var testableStore = new TestableStore();

            using (var session = testableStore.OpenSession())
            {
                var entryFactory = new EntryFactory(session);
                var entry = entryFactory.CreateFromSlug("non-existent");

                Assert.Null(entry);
            }
        }
        public ActionResult ViewEntry(string pageSlug, string entrySlug)
        {
            var pageFactory = new PageFactory(this.session);
            var page = pageFactory.CreateFromSlug(pageSlug);
            if (page == null)
            {
                return new HttpNotFoundResult("No such page.");
            }

            var entryFactory = new EntryFactory(this.session);
            var entry = entryFactory.CreateFromSlug(entrySlug);
            if (entry == null)
            {
                return new HttpNotFoundResult("No such entry.");
            }

            var entryToEntryViewModelMapper = new EntryToEntryViewModelMapper(this.session, this.Url);
            var entryViewModel = entryToEntryViewModelMapper.Map(entry);

            entryViewModel.PageSlug = pageSlug;

            return this.View(entryViewModel);
        }
 private static Entry GetEntryUsingFactory(IDocumentSession session, string slug)
 {
     var entryFactory = new EntryFactory(session);
     return entryFactory.CreateFromSlug(slug);
 }