mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 15:20:13 +01:00
* Ran rake rails:update * Added old actionwebservice framework * Updated RSpec and RSpec-Rails * Removed asset_packager plugin (not compatible, Scott no longer maintaining), and replaced with bundle_fu. See the bundle_fu README for more info. * Hacks to UJS and ARTS plugins, which are no longer supported. Probably should move off both UJS and RJS. * Hack to flashobject_helper plugin (upgrade to Rails 2.2-compatible version if/when it comes out.) * Hack to skinny-spec plugin, for Rails 2.2 compatibility. Should check for official release. * Hacks to resource_feeder plugin, for Rails 2.2 compatibility. Should check for official release (not likely) or move off it. * Addressed some deprecation warnings. More to come. * My mobile mime type hackery is no longer necessary with new Rails features. Yay! * Updated environment.rb.tmpl with changes TODO: * Restore view specs marked pending * Fix failing integration tests. * Try selenium tests. * Investigate OpenID support. * Address deprecation warnings. * Consider moving parts of environment.rb to initializers * Address annoying config.gem warning about highline gem
75 lines
2.7 KiB
Ruby
75 lines
2.7 KiB
Ruby
# 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.dirname(__FILE__) + "/../config/environment")
|
|
require 'spec'
|
|
require 'spec/rails'
|
|
require 'skinny_spec'
|
|
require 'scenarios'
|
|
|
|
module LuckySneaks
|
|
module ModelSpecHelpers
|
|
module ExampleGroupLevelMethods
|
|
def it_should_validate_length_of(attribute, options={})
|
|
maximum = options[:maximum] || (options[:within] || []).last || false
|
|
minimum = options[:minimum] || (options[:within] || []).first || false
|
|
raise ArgumentError unless maximum || minimum
|
|
|
|
it "should not be valid if #{attribute} length is more than #{maximum}" do
|
|
instance.send "#{attribute}=", 'x'*(maximum+1)
|
|
instance.errors_on(attribute).should include(
|
|
options[:message_too_long] || I18n.t('activerecord.errors.messages.too_long', :count => maximum)
|
|
)
|
|
end if maximum
|
|
|
|
it "should not be valid if #{attribute} length is less than #{minimum}" do
|
|
instance.send "#{attribute}=", 'x'*(minimum-1)
|
|
instance.errors_on(attribute).should include(
|
|
options[:message_to_short] || I18n.t('activerecord.errors.messages.too_short', :count => minimum)
|
|
)
|
|
end if minimum
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
Spec::Runner.configure do |config|
|
|
# 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/'
|
|
|
|
# == 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::Example::Configuration and Spec::Runner
|
|
end
|