MY spec helper contains following code:
This file is copied to ~/spec when you run 'ruby script/generate
rspec’
from the project root directory.
ENV[“RAILS_ENV”] ||= ‘test’
require
File.expand_path(File.join(File.dirname(FILE),’…’,‘config’,‘environment’))
require ‘spec’
require ‘webrat’
require ‘spec/autorun’
require ‘spec/rails’
require File.join( Rails.root, ‘spec’, ‘macros’ )
Uncomment the next line to use webrat’s matchers
#require ‘webrat/integrations/rspec-rails’
Requires supporting files with custom matchers and macros, etc,
in ./support/ and its subdirectories.
Dir[File.expand_path(File.join(File.dirname(FILE),‘support’,’**’,’*.rb’))].each
{|f| require f}
Spec::Runner.configure do |config|
config.include(ModelExampleGroupHelper, :type => :model)
config.include(ControllerExampleGroupHelper, :type => :controller)
If you’re not using ActiveRecord you should remove these
lines, delete config/database.yml and disable :active_record
in your config/boot.rb
config.use_transactional_fixtures = true
config.use_instantiated_fixtures = false
config.fixture_path = RAILS_ROOT + ‘/spec/fixtures/’
config.include Webrat::Matchers, :type => :views
== Fixtures
You can declare fixtures for each example_group like this:
describe “…” do
fixtures :table_a, :table_b
Alternatively, if you prefer to declare them only once, you can
do so right here. Just uncomment the next line and replace the
fixture
names with your fixtures.
config.global_fixtures = :table_a, :table_b
If you declare global fixtures, be aware that they will be declared
for all of your examples, even those that don’t use them.
You can also declare which fixtures to use (for example fixtures for
test/fixtures):
config.fixture_path = RAILS_ROOT + ‘/spec/fixtures/’
== Mock Framework
RSpec uses it’s own mocking framework by default. If you prefer to
use mocha, flexmock or RR, uncomment the appropriate line:
config.mock_with :mocha
config.mock_with :flexmock
config.mock_with :rr
== Notes
For more information take a look at Spec::Configuration and
Spec::Runner
end
def login
controller.stub!( :logged_in? ).and_return( true )
controller.stub!( :login_required ).and_return( true )
@current_user = mock_model( User, :id => 1, :time_zone => ‘Rome’,
:idiom => ‘it’, :login => ‘quentin’, :email => ‘[email protected]’, :can_join?
=> true )
controller.stub!( :current_user ).and_return( @current_user )
end
def login_as( name )
controller.stub!( :logged_in? ).and_return( true )
controller.stub!( :login_required ).and_return( true )
@current_user = users(name)
controller.stub!( :current_user ).and_return( @current_user )
end
def valid_channel_attributes
{
:brand_name => ‘RspecChannel’
}
end
def valid_user_attributes
{
:login => ‘testtest’, :password => ‘555555’, :password_confirmation
=> ‘555555’, :email => ‘[email protected]’, :idiom => ‘it’, :privacy => ‘1’,
}
end
def create_channel(args=nil)
args ||= valid_channel_attributes
Channel.create args
end
def create_user(args = nil)
args ||= valid_user_attributes
User.create args
end
#~ %w!User Contest Video Print Radio Banner Conceptl!.each do |model|
#~
model.constantize.any_instance.stubs(:save_attached_files).returns(true)
#~ end
rspec = 1.2.9
rspec-rails - 1.2.9
rails = 2.1.2