OSDN Git Service

add rspec-rails
[praisedb/praisedb.git] / vendor / plugins / rspec-rails / lib / spec / rails / matchers / ar_be_valid.rb
1 if defined?(ActiveRecord::Base)
2   module Spec::Rails::Matchers
3     # :call-seq:
4     #   response.should be_valid
5     #   response.should_not be_valid
6     def be_valid
7       ::Spec::Matchers::Matcher.new :be_valid do
8         match do |actual|
9           actual.valid?
10         end
11
12         failure_message_for_should do |actual|
13           if actual.respond_to?(:errors) && ActiveRecord::Errors === actual.errors
14             "Expected #{actual.inspect} to be valid, but it was not\nErrors: " + actual.errors.full_messages.join(", ")            
15           else
16             "Expected #{actual.inspect} to be valid"
17           end
18         end
19       end
20     end
21
22   end
23 end