spec/spec_helper.rb in dm-rspec-0.0.0 vs spec/spec_helper.rb in dm-rspec-0.0.1

- old
+ new

@@ -1,12 +1,59 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) $LOAD_PATH.unshift(File.dirname(__FILE__)) require 'rspec' +require 'dm-core' +require 'dm-validations' + require 'dm-rspec' # Requires supporting files with custom matchers and macros, etc, # in ./support/ and its subdirectories. Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f} + RSpec.configure do |config| + config.include(DataMapper::Matchers) +end + + +# helper matchers for testing dm-rspec matchers +# +def fail() + raise_error(RSpec::Expectations::ExpectationNotMetError) +end +def fail_with(message) + raise_error(RSpec::Expectations::ExpectationNotMetError,message) +end + +class Proc + include ::RSpec::Matchers + def should_pass + lambda { self.call }.should_not raise_error + end +end + + +# Models for testing +# +class Book + include DataMapper::Resource + property :id, Serial + property :name, String + belongs_to :author + has n, :genres, :through => Resource + validates_presence_of :name +end + +class Author + include DataMapper::Resource + property :id, Serial + has n, :books +end + +class Genre + include DataMapper::Resource + property :id, Serial + property :name, String + has n, :books, :through => Resource end