57 lines
1.6 KiB
Ruby
57 lines
1.6 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe CommentsHelper do
|
|
describe '.new_comment_form' do
|
|
before do
|
|
@user = alice
|
|
@aspect = @user.aspects.first
|
|
@post = @user.post(:status_message, :text => "hi", :to => @aspect.id)
|
|
end
|
|
it 'renders a new comment form' do
|
|
new_comment_form(@post.id, @user).should ==
|
|
@controller.render_to_string(:partial => 'comments/new_comment',
|
|
:locals => {:post_id => @post.id, :current_user => @user})
|
|
end
|
|
it 'renders it fast the second time' do
|
|
new_comment_form(@post.id, @user)
|
|
time = Benchmark.realtime{
|
|
new_comment_form(@post.id, @user)
|
|
}
|
|
(time*1000).should < 1
|
|
end
|
|
end
|
|
|
|
describe 'commenting_disabled?' do
|
|
include Devise::TestHelpers
|
|
before do
|
|
sign_in alice
|
|
def user_signed_in?
|
|
true
|
|
end
|
|
end
|
|
|
|
it 'returns true if no user is signed in' do
|
|
def user_signed_in?
|
|
false
|
|
end
|
|
commenting_disabled?(stub).should == true
|
|
end
|
|
|
|
it 'returns true if @commenting_disabled is set' do
|
|
@commenting_disabled = true
|
|
commenting_disabled?(stub).should == true
|
|
@commenting_disabled = false
|
|
commenting_disabled?(stub).should == false
|
|
end
|
|
|
|
it 'returns @stream.can_comment? if @stream is set' do
|
|
post = stub
|
|
@stream = stub
|
|
@stream.should_receive(:can_comment?).with(post).and_return(true)
|
|
commenting_disabled?(post).should == false
|
|
|
|
@stream.should_receive(:can_comment?).with(post).and_return(false)
|
|
commenting_disabled?(post).should == true
|
|
end
|
|
end
|
|
end
|