deleting a forum topic should delete its posts
This commit is contained in:
@@ -2,7 +2,7 @@ class ForumTopic < ActiveRecord::Base
|
||||
attr_accessible :title, :original_post_attributes
|
||||
belongs_to :creator, :class_name => "User"
|
||||
belongs_to :updater, :class_name => "User"
|
||||
has_many :posts, :class_name => "ForumPost", :order => "forum_posts.id asc", :foreign_key => "topic_id"
|
||||
has_many :posts, :class_name => "ForumPost", :order => "forum_posts.id asc", :foreign_key => "topic_id", :dependent => :destroy
|
||||
has_one :original_post, :class_name => "ForumPost", :order => "forum_posts.id asc", :foreign_key => "topic_id"
|
||||
before_validation :initialize_creator, :on => :create
|
||||
before_validation :initialize_updater
|
||||
|
||||
@@ -74,7 +74,16 @@ class ForumTopicsControllerTest < ActionController::TestCase
|
||||
end
|
||||
|
||||
context "destroy action" do
|
||||
setup do
|
||||
@post = Factory.create(:forum_post, :topic_id => @forum_topic.id)
|
||||
end
|
||||
|
||||
should "destroy the topic and any associated posts" do
|
||||
assert_difference(["ForumPost.count", "ForumTopic.count"], -1) do
|
||||
post :destroy, {:id => @forum_topic.id}, {:user_id => @user.id}
|
||||
end
|
||||
assert_redirected_to(forum_topics_path)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -42,5 +42,19 @@ class ForumTopicTest < ActiveSupport::TestCase
|
||||
assert_equal(@second_user.id, @topic.updater_id)
|
||||
end
|
||||
end
|
||||
|
||||
context "with multiple posts that has been deleted" do
|
||||
setup do
|
||||
5.times do
|
||||
Factory.create(:forum_post, :topic_id => @topic.id)
|
||||
end
|
||||
end
|
||||
|
||||
should "delete any associated posts" do
|
||||
assert_difference("ForumPost.count", -5) do
|
||||
@topic.destroy
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user