public void PreviewForDraftPostTest() { IRepository<Post> postRepo = new SimpleRepository<Post>(new InMemoryRepositoryDataSource<Post>(new List<Post> { new Post { Status = PostStatus.Published, Path ="2013/04/10/some-other-post", Posted = new DateTime(2013,4,10), Author = new User{ Email = "" }, BlogId = 1 }, new Post { Id = 1, Status = PostStatus.Draft, Path ="2013/04/14/some-post", Posted = new DateTime(2013,4,14), Author = new User{ Email = "", FirstName = "Joe", LastName = "Bloggs" }, DraftBody = "asdf", DraftTitle = "qwerty", BlogId = 1 } })); PostController sut = new PostController(postRepo, null, _blogRepo, _mockHttpContext.Object); var result = (ViewResult)sut.Preview(1); Assert.IsNotNull(result); var model = result.Model as PostModel; Assert.IsNotNull(model); var md = new MarkdownDeep.Markdown(); Assert.AreEqual("Joe Bloggs", model.Author.Name); Assert.AreEqual(md.Transform("asdf"), model.Body); Assert.AreEqual("qwerty", model.Title); }
public void CantPreviewPostFromAnotherBlog() { IRepository<Post> postRepo = new SimpleRepository<Post>(new InMemoryRepositoryDataSource<Post>(new List<Post> { new Post { Status = PostStatus.Published, Path ="2013/04/10/some-other-post", Posted = new DateTime(2013,4,10), Author = new User{ Email = "" }, BlogId = 1 }, new Post { Id = 1, Status = PostStatus.Draft, Path ="2013/04/14/some-post", Posted = new DateTime(2013,4,14), Author = new User{ Email = "", FirstName = "Joe", LastName = "Bloggs" }, DraftBody = "asdf", DraftTitle = "qwerty", BlogId = 2 } })); PostController sut = new PostController(postRepo, null, _blogRepo, _mockHttpContext.Object); var result = sut.Preview(1); Assert.IsInstanceOfType(result, typeof(HttpStatusCodeResult)); Assert.AreEqual((int)HttpStatusCode.NotFound,((HttpStatusCodeResult)result).StatusCode); }