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