On Thu, Jul 31, 2008 at 2:02 PM, Leslie Freeman <[EMAIL PROTECTED]> wrote: > Hello, > I'm trying to spec a plugin that includes a module that adds functionality > to ActionController below is what I've come up with: > > # vendor/plugins/custom_attribute_fu/spec/active_record_spec.rb > require File.dirname(__FILE__) + '/spec_helper' > > class TestPerson < ActiveRecord::Base > end > > class TestPeopleController < ActionController::Base > #calling defines_custom_attributes should add the > custom_attribute_definitions method, I've defined it explicitly for now to > just get the tests running > #defines_custom_attributes > > def custom_attribute_definitions > end > end > > describe TestPeopleController do > > describe "handling GET /custom_attribute_definitions" do > > before(:each) do > @controller = TestPeopleController.new > @request = ActionController::TestRequest.new > @response = ActionController::TestResponse.new > end > > def do_get > get :custom_attribute_definitions > end > > it "should be successful" do > do_get > response.should be_success > end > > end > end > > When I run the spec I get: > > 1) > ActionView::TemplateError in 'TestPeopleController handling GET > /custom_attribute_definitions should be successful' > undefined method `custom_attribute_definitions' for TestPerson(id: integer, > name: string):Class > > What I don't understand is that why get :custom_attribute_definitions is > trying to call that method on TestPerson rather than TestPersonController. > > I'm sure there's a better way to set this up - any advice would be greatly > appreciated!
I get a very different result. Here's what I did: $ rails foo $ cd foo $ script/plugin install git://github.com/dchelimsky/rspec.git $ script/plugin install git://github.com/dchelimsky/rspec-rails.git $ script/generate rspec $ mkdir vendor/plugins/custom_attribute_fu $ mkdir vendor/plugins/custom_attribute_fu/spec $ touch vendor/plugins/custom_attribute_fu/spec/spec_helper.rb $ touch vendor/plugins/custom_attribute_fu/spec/active_record_spec.rb Then I added the text you posted above to active_record_spec.rb and the following to spec_helper.rb: require File.join(File.dirname(__FILE__), *%w[.. .. .. .. spec spec_helper]) Then, from the RAILS_ROOT: $ rake spec:plugins F 1) ActionView::MissingTemplate in 'TestPeopleController handling GET /custom_attribute_definitions should be successful' This is with rails 2.1 and the latest rspec (from git). Am I doing something different from what you did? _______________________________________________ rspec-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/rspec-users
