Gordon
2011-Dec-05 22:53 UTC
[rspec-users] How to extend common helper methods to view specs?
Hi, there, I have some methods which I have written as helpers. They are in spec/support/controller_macros.rb (yes, I will change the name soon). The 2 methods, login_user and login_admin_user works in the controller specs BUT fail to work in the view specs when I call them in the view specs. ---------- spec/spec_helper.rb start -------------------------- # This file is copied to spec/ when you run ''rails generate rspec:install'' ENV["RAILS_ENV"] ||= ''test'' require File.expand_path("../../config/environment", __FILE__) require ''rspec/rails'' require ''webrat'' # Requires supporting ruby files with custom matchers and macros, etc, # in spec/support/ and its subdirectories. Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} RSpec.configure do |config| config.include Devise::TestHelpers, :type => :controller config.extend ControllerMacros, :type => :view config.extend ControllerMacros, :type => :controller config.before(:suite) do DatabaseCleaner.strategy = :transaction DatabaseCleaner.clean_with(:truncation) end config.before(:each) do DatabaseCleaner.start end config.after(:each) do DatabaseCleaner.clean end end ---------- spec/spec_helper.rb end -------------------------- i am already extending it to the view (ie. ''config.extend ControllerMacros, :type => :controller''). What am I missing? Thank you Gordon
Justin Ko
2011-Dec-06 02:00 UTC
[rspec-users] How to extend common helper methods to view specs?
On Dec 5, 2011, at 3:53 PM, Gordon wrote:> Hi, there, > > I have some methods which I have written as helpers. > They are in spec/support/controller_macros.rb (yes, I will change the > name soon). > > The 2 methods, login_user and login_admin_user works in the > controller specs BUT fail to work in the view specs when I call them > in the view specs. > > ---------- spec/spec_helper.rb start -------------------------- > > # This file is copied to spec/ when you run ''rails generate > rspec:install'' > ENV["RAILS_ENV"] ||= ''test'' > require File.expand_path("../../config/environment", __FILE__) > require ''rspec/rails'' > require ''webrat'' > > # Requires supporting ruby files with custom matchers and macros, etc, > # in spec/support/ and its subdirectories. > Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} > > RSpec.configure do |config| > > config.include Devise::TestHelpers, :type => :controller > config.extend ControllerMacros, :type => :view > config.extend ControllerMacros, :type => :controller > > config.before(:suite) do > DatabaseCleaner.strategy = :transaction > DatabaseCleaner.clean_with(:truncation) > end > > config.before(:each) do > DatabaseCleaner.start > end > > config.after(:each) do > DatabaseCleaner.clean > end > > > end > > > ---------- spec/spec_helper.rb end -------------------------- > > i am already extending it to the view (ie. ''config.extend > ControllerMacros, :type => :controller''). > > What am I missing? > > Thank you > > Gordon > _______________________________________________ > rspec-users mailing list > rspec-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-usersWhat are you trying to do in the methods? You can probably just stub what you need: https://www.relishapp.com/rspec/rspec-rails/docs/view-specs/view-spec#6