[rspec-users] issue with edge rails and urls

Jim Deville james.deville at gmail.com
Mon Aug 27 19:43:16 EDT 2007


On Aug 27, 2007, at 12:52 PM, J.D. Hollis wrote:

> I just switched our project over to Edge Rails, and I'm running into
> this problem with all of my helper methods that call _url methods:
>
> NoMethodError in 'ApplicationHelper home_link should generate a valid
> home link when User.current and Profile.current is not set'
> You have a nil object when you didn't expect it!
> You might have expected an instance of Array.
> The error occurred while evaluating nil.<<
> ./spec/helpers/application_helper_spec.rb:17
>
> Here's the relevant spec:
>
> describe ApplicationHelper, "home_link" do
> 	before(:each) do
> 		User.current = nil
> 		Profile.current = nil
> 	end
>
> 	it "should generate a valid home link when User.current and
> Profile.current is not set" do
> 		home_link.should =~ /#{new_profile_url}/
> 	end
>
> 	it "should generate a valid home link when User.current is set" do
> 	 	User.current = mock_model(User)
> 	 	home_link.should =~ /#{dashboard_url}/
> 	end
>
> 	it "should generate a valid home link when Profile.current is set" do
> 	 	Profile.current = mock_model(Profile)
> 		home_link.should =~ /#{profile_url(Profile.current)}/
> 	end
> end
>
> And the method in ApplicationHelper:
>
> def home_link
>      if User.current.blank?
>        if Profile.current.blank?
>          link_to 'Get Started', new_profile_url
>        else
>          link_to 'My Profile', profile_url(Profile.current)
>        end
>      else
>        link_to 'Dashboard', dashboard_url
>      end
> end
>
> I'm using RSpec 1.0.8 and Rails revision 7360. Any ideas where to
> start looking for a fix or workaround?
>
> Regards,
> J.D.
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
This is fixed in Rspec edge.

Jim


More information about the rspec-users mailing list