Sha256: 67753a5d16f3d5f9ed7c7328397ac802d3effc040f81ecafeba198e2cf42920d

Contents?: true

Size: 1.46 KB

Versions: 4

Compression:

Stored size: 1.46 KB

Contents

require File.expand_path('../test_helper', File.dirname(__FILE__))

class SofaBlog::CommentTest < ActiveSupport::TestCase
  
  def test_fixtures_validity
    SofaBlog::Comment.all.each do |comment|
      assert comment.valid?, comment.errors.full_messages.to_yaml
    end
  end
  
  def test_validations
    comment = SofaBlog::Comment.new
    assert comment.invalid?
    assert_has_errors_on comment, [:post_id, :content, :name, :email]
  end
  
  def test_creation
    assert_difference 'SofaBlog::Comment.count' do
      sofa_blog_posts(:default).comments.create!(
        :content  => 'Test Content',
        :name     => 'Tester',
        :email    => 'tester@test.test'
      )
    end
  end
  
  def test_scope_approved
    comment = sofa_blog_comments(:default)
    assert comment.is_approved?
    assert_equal 1, SofaBlog::Comment.approved.count
    assert_equal comment, SofaBlog::Comment.approved.first
  end
  
  def test_approve_and_disapprove!
    comment = sofa_blog_comments(:default)
    post    = comment.post
    
    assert comment.is_approved?
    assert_equal 1, post.comments_count
    assert_equal 1, post.approved_comments_count
    
    comment.disapprove!
    assert !comment.is_approved?
    post.reload
    assert_equal 1, post.comments_count
    assert_equal 0, post.approved_comments_count
    
    comment.approve!
    assert comment.is_approved?
    post.reload
    assert_equal 1, post.comments_count
    assert_equal 1, post.approved_comments_count
  end
  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sofa_blog-0.1.3 test/unit/comment_test.rb
sofa_blog-0.1.2 test/unit/comment_test.rb
sofa_blog-0.1.1 test/unit/comment_test.rb
sofa_blog-0.1.0 test/unit/comment_test.rb