38 lines
1.2 KiB
Ruby
38 lines
1.2 KiB
Ruby
require File.dirname(__FILE__) + '/../test_helper'
|
|
|
|
class PostTest < ActiveSupport::TestCase
|
|
context "During moderation a post" do
|
|
setup do
|
|
@post = Factory.create(:post)
|
|
@user = Factory.create(:user)
|
|
end
|
|
|
|
should "be unapproved once and only once" do
|
|
@post.unapprove!("bad", @user, "127.0.0.1")
|
|
assert(@post.is_flagged?, "Post should be flagged.")
|
|
assert_not_nil(@post.unapproval, "Post should have an unapproval record.")
|
|
assert_equal("bad", @post.unapproval.reason)
|
|
|
|
assert_raise(Unapproval::Error) {@post.unapprove!("bad", @user, "127.0.0.1")}
|
|
end
|
|
|
|
should "not unapprove if no reason is given" do
|
|
assert_raise(Unapproval::Error) {@post.unapprove!("", @user, "127.0.0.1")}
|
|
end
|
|
|
|
should "be deleted" do
|
|
@post.delete!
|
|
assert(@post.is_deleted?, "Post should be deleted.")
|
|
end
|
|
|
|
should "be approved" do
|
|
@post.approve!
|
|
assert(!@post.is_pending?, "Post should not be pending.")
|
|
|
|
@deleted_post = Factory.create(:post, :is_deleted => true)
|
|
@deleted_post.approve!
|
|
assert(!@post.is_deleted?, "Post should not be deleted.")
|
|
end
|
|
end
|
|
end
|