diaspora/spec/controllers/friends_controller_spec.rb
2010-06-23 15:25:46 -07:00

60 lines
1.8 KiB
Ruby

require File.dirname(__FILE__) + '/../spec_helper'
describe FriendsController do
render_views
before do
#TODO(dan) Mocking Warden; this is a temp fix
request.env['warden'] = mock_model(Warden, :authenticate? => @user, :authenticate! => @user)
Factory.create(:user)
@friend = Factory.build(:friend)
end
it "index action should render index template" do
get :index
response.should render_template(:index)
end
it "show action should render show template" do
@friend.save
get :show, :id => @friend.id
response.should render_template(:show)
end
it "destroy action should destroy model and redirect to index action" do
@friend.save
delete :destroy, :id => @friend.id
response.should redirect_to(friends_url)
Friend.first(:conditions => {:id => @friend.id}).should be_nil
end
it "new action should render new template" do
get :new
response.should render_template(:new)
end
it "create action should render new template when model is invalid" do
Friend.any_instance.stubs(:valid?).returns(false)
post :create
response.should render_template(:new)
end
it "create action should redirect when model is valid" do
Friend.any_instance.stubs(:valid?).returns(true)
post :create
response.should redirect_to(friend_url(assigns[:friend]))
end
it 'should test that a real creation adds to the database' do
end
it 'should have test that a delete removes a friend from the database' do
end
it 'should display a list of a friends posts on their page' do
friend = Factory.create(:friend)
@status_message = Factory.create(:status_message, :person => friend)
get :show, :id => friend.id
response.body.should include @status_message.message
end
end