2011-05-06 11:51:12 +00:00
|
|
|
require 'shoulda/matchers/active_model/helpers'
|
|
|
|
require 'shoulda/matchers/active_model/validation_matcher'
|
2012-09-13 00:23:18 +00:00
|
|
|
require 'shoulda/matchers/active_model/validation_message_finder'
|
2012-09-13 00:41:43 +00:00
|
|
|
require 'shoulda/matchers/active_model/exception_message_finder'
|
2011-05-06 11:51:12 +00:00
|
|
|
require 'shoulda/matchers/active_model/allow_value_matcher'
|
2012-10-16 17:45:06 +00:00
|
|
|
require 'shoulda/matchers/active_model/disallow_value_matcher'
|
2011-05-06 11:51:12 +00:00
|
|
|
require 'shoulda/matchers/active_model/ensure_length_of_matcher'
|
|
|
|
require 'shoulda/matchers/active_model/ensure_inclusion_of_matcher'
|
2011-10-16 17:49:58 +00:00
|
|
|
require 'shoulda/matchers/active_model/ensure_exclusion_of_matcher'
|
2013-12-05 16:38:30 +00:00
|
|
|
require 'shoulda/matchers/active_model/validate_absence_of_matcher'
|
2011-05-06 11:51:12 +00:00
|
|
|
require 'shoulda/matchers/active_model/validate_presence_of_matcher'
|
|
|
|
require 'shoulda/matchers/active_model/validate_uniqueness_of_matcher'
|
|
|
|
require 'shoulda/matchers/active_model/validate_acceptance_of_matcher'
|
2011-10-23 13:41:37 +00:00
|
|
|
require 'shoulda/matchers/active_model/validate_confirmation_of_matcher'
|
2011-05-06 11:51:12 +00:00
|
|
|
require 'shoulda/matchers/active_model/validate_numericality_of_matcher'
|
2013-11-01 21:57:42 +00:00
|
|
|
require 'shoulda/matchers/active_model/numericality_matchers/comparison_matcher'
|
|
|
|
require 'shoulda/matchers/active_model/numericality_matchers/odd_even_number_matcher'
|
|
|
|
require 'shoulda/matchers/active_model/numericality_matchers/only_integer_matcher'
|
2011-05-06 11:51:12 +00:00
|
|
|
require 'shoulda/matchers/active_model/allow_mass_assignment_of_matcher'
|
2012-09-28 17:35:15 +00:00
|
|
|
require 'shoulda/matchers/active_model/errors'
|
2013-08-18 17:17:19 +00:00
|
|
|
require 'shoulda/matchers/active_model/have_secure_password_matcher'
|
2011-05-06 11:51:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
module Shoulda
|
|
|
|
module Matchers
|
|
|
|
# = Matchers for your active record models
|
|
|
|
#
|
|
|
|
# These matchers will test most of the validations of ActiveModel::Validations.
|
|
|
|
#
|
|
|
|
# describe User do
|
|
|
|
# it { should validate_presence_of(:name) }
|
|
|
|
# it { should validate_presence_of(:phone_number) }
|
|
|
|
# %w(abcd 1234).each do |value|
|
|
|
|
# it { should_not allow_value(value).for(:phone_number) }
|
|
|
|
# end
|
2012-12-20 05:04:27 +00:00
|
|
|
# it { should allow_value('(123) 456-7890').for(:phone_number) }
|
2011-05-06 11:51:12 +00:00
|
|
|
# it { should_not allow_mass_assignment_of(:password) }
|
2012-09-14 13:59:24 +00:00
|
|
|
# it { should allow_value('Activated', 'Pending').for(:status).strict }
|
|
|
|
# it { should_not allow_value('Amazing').for(:status).strict }
|
2011-05-06 11:51:12 +00:00
|
|
|
# end
|
|
|
|
#
|
2012-09-14 13:59:24 +00:00
|
|
|
# These tests work with the following model:
|
|
|
|
#
|
|
|
|
# class User < ActiveRecord::Base
|
|
|
|
# validates_presence_of :name
|
|
|
|
# validates_presence_of :phone_number
|
2014-01-17 20:20:44 +00:00
|
|
|
# validates_inclusion_of :status, in: %w(Activated Pending), strict: true
|
2012-09-14 13:59:24 +00:00
|
|
|
# attr_accessible :name, :phone_number
|
|
|
|
# end
|
2011-05-06 11:51:12 +00:00
|
|
|
module ActiveModel
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|