On 1 May 2011, at 18:29, Pablo L. de Miranda wrote:

> I'm building a application using subdomains feature like basecamp. To
> create the correct link reference I use a with_subdomain function whch
> take the subdmain name and create a subdomain name like
> subdomain.mydomain.com.
> So to teste that a account information view have the link to right
> domain I wrote the test above:
> describe SubdomainController do
>  render_views
>  it "should have a link to subdomain" do
>        post :create, :subdomain => @attr
>        response.should have_selector('a', :href =>
> with_subdomain('test'), :content => with_subdomain('test'))
>      end
> end
> 
> But I get the error message below:
> 
> NoMethodError:
>       undefined method `with_subdomain' for
> #<RSpec::Core::ExampleGroup::Nested_5::Nested_2::Nested_2:0x8ebf124>
> 
> And I included the url_helper that has the function on my
> ApplicationController like this:
> 
> class ApplicationController < ActionController::Base
>  include UrlHelper
> 
> end
> 
> So, if you have any idea what is wrong, where I miss, please help me.

You're calling the 'with_subdomain' method from within your spec file, but you 
haven't included the module it's defined in (UrlHelper) in your spec file. So, 
in the context of that spec, 'with_subdomain' is not defined -- the fact that 
you've included it in your ApplicationController class doesn't affect the code 
in the spec.

As an aside, is this example intended to test that the 'with_subdomain' method 
is working correctly? Because it looks like you're specifying that "the output 
of with_subdomain should equal the output of with_subdomain", which will always 
pass, even if with_subdomain is actually outputting the wrong thing. That's 
fine if you're speccing with_subdomain elsewhere (i.e. in a helper spec), but I 
thought it was worth pointing out.

Chris

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to