public void AddPostToThreadSetPostThreadToAddedThread() { DiscussionThread thread = new DiscussionThread(); Post post = new Post(); Assert.IsNull(post.Thread); thread.AddPost(post); Assert.AreEqual(thread, post.Thread); }
public void CanSavePost() { Post post = new Post(); post.Thread = GetThread_Persistent(); post.Title = "First Post"; post.Content = "Content"; post.Author = post.Thread.Forum.Manager; Repository<Post>.Save(post); UnitOfWork.Current.TransactionalFlush(); UnitOfWork.CurrentSession.Evict(post); Post fromDb = Repository<Post>.Get(post.Id); Assert.AreNotSame(post, fromDb); Assert.AreEqual("First Post", fromDb.Title); Assert.AreEqual("Content", fromDb.Content); Assert.AreEqual(post.Author.Id, fromDb.Author.Id); Assert.AreEqual(post.Thread.Id, fromDb.Thread.Id); }
public void ThreadPostsPersistenceByReachability() { Post post = new Post(); DiscussionThread discussionThread = GetThread_Persistent(); discussionThread.AddPost(post); post.Title = "First Post"; post.Content = "Content"; post.Author = post.Thread.Forum.Manager; UnitOfWork.Current.TransactionalFlush(); UnitOfWork.CurrentSession.Evict(post); UnitOfWork.CurrentSession.Evict(discussionThread); Post fromDb = Repository<Post>.Get(post.Id); Assert.IsNotNull(fromDb); Assert.AreNotSame(post, fromDb); DiscussionThread threadFromDb = fromDb.Thread; Assert.AreNotSame(discussionThread, threadFromDb); Assert.AreEqual(discussionThread.Id, threadFromDb.Id); Assert.IsTrue(threadFromDb.Posts.Contains(fromDb)); }