2014-04-30 17:52:47 -04:00
|
|
|
# 2.6.1
|
2014-04-15 17:16:01 -04:00
|
|
|
|
2014-04-26 11:10:17 -04:00
|
|
|
## Features
|
|
|
|
|
|
|
|
* Teach `with_message` qualifier on `allow_value` to accept a hash of i18n
|
|
|
|
interpolation values:
|
|
|
|
`allow_value('foo').for(:attr).with_message(:greater_than, values: { count: 20 })`.
|
|
|
|
|
|
|
|
## Bug fixes
|
|
|
|
|
2014-04-26 11:13:57 -04:00
|
|
|
* Revert changes to `validate_numericality_of` made in the last release, which
|
|
|
|
made it so that comparison qualifiers specified on the validation are tested
|
|
|
|
using a very small decimal number offset rather than a whole number by
|
|
|
|
default, except if the matcher was qualified with `only_integer`. This means
|
|
|
|
that prior to 2.6.0, if your validation specified `only_integer` and you did
|
2014-04-30 17:52:47 -04:00
|
|
|
not, then after 2.6.0 that test would fail. This is now fixed.
|
2014-04-15 17:16:01 -04:00
|
|
|
|
2014-04-30 17:52:47 -04:00
|
|
|
* Fix regression in previous release where ActiveRecord matchers would not be
|
|
|
|
included when ActiveRecord wasn't defined (i.e. if you were using ActiveModel
|
|
|
|
only).
|
2014-04-15 09:16:32 -04:00
|
|
|
|
2014-04-16 02:24:02 -04:00
|
|
|
* Revert the behavior of `allow_value` changed in 2.6.0 (it will no longer raise
|
|
|
|
CouldNotClearAttribute). This was originally done as a part of a fix for
|
|
|
|
`validate_presence_of` when used in conjunction with `has_secure_password`.
|
|
|
|
That fix has been updated so that it does not affect `allow_value`.
|
|
|
|
|
2014-04-16 16:12:36 -04:00
|
|
|
* Fix callback matchers and correct test coverage.
|
|
|
|
|
2014-04-19 22:48:43 -04:00
|
|
|
* Fix `permit` so that it does not interfere with different usages of `params`
|
|
|
|
in your controller action. Specifically, this will not raise an error:
|
|
|
|
`params.fetch(:foo, {}).permit(:bar, :baz)` (the `permit` will have no
|
|
|
|
problems recognizing that :bar and :baz are permitted params).
|
|
|
|
|
|
|
|
* Fix `permit` on Rails 4.1 to use PATCH by default for #update instead of PUT.
|
|
|
|
Previously you had to specify this manually.
|
|
|
|
|
|
|
|
* Fix `permit` so that it track multiple calls to #permit in your controller
|
|
|
|
action. Previously only the last usage of #permit would be considered in
|
|
|
|
determining whether the matcher matched.
|
|
|
|
|
|
|
|
* Fix `permit` so that if the route for your action requires params (such as id)
|
|
|
|
then you can now specify those params:
|
|
|
|
`permit(:first_name, :last_name).for(:update, params: { id: 42 })`.
|
2014-04-16 04:58:05 -04:00
|
|
|
|
2014-04-20 19:12:25 -04:00
|
|
|
* Fix `delegate_method` so that it does not stub the target method forever,
|
|
|
|
returning it to its original implementation after the match ends.
|
|
|
|
|
2014-04-19 11:53:51 -04:00
|
|
|
* Fix `validate_uniqueness_of` to work with Rails 4.1 enum columns.
|
|
|
|
|
2014-04-12 17:42:19 -04:00
|
|
|
# 2.6.0
|
2013-09-20 16:11:59 -04:00
|
|
|
|
2014-04-11 17:30:19 -04:00
|
|
|
* The boolean argument to `have_db_index`'s `unique` option is now optional, for
|
|
|
|
consistency with other matchers.
|
2014-03-04 07:47:16 -05:00
|
|
|
|
2014-01-10 12:25:14 -05:00
|
|
|
* Association matchers now test that the model being referred to (either
|
|
|
|
implicitly or explicitly, using `:class_name`) actually exists.
|
|
|
|
|
2014-01-22 15:40:38 -05:00
|
|
|
* Add ability to test `:autosave` option on associations.
|
|
|
|
|
2014-01-20 17:26:34 -05:00
|
|
|
* Fix `validate_uniqueness_of(...).allow_nil` so that it can be used against an
|
|
|
|
non-password attribute which is in a model that `has_secure_password`. Doing
|
|
|
|
so previously would result in a "Password digest missing on new record" error.
|
|
|
|
|
2014-01-12 20:43:36 -05:00
|
|
|
* Fix description for `validate_numericality_of` so that if the matcher fails,
|
|
|
|
the error message reported does not say the matcher accepts integer values if
|
|
|
|
you didn't specify that.
|
|
|
|
|
Handle ensure_inclusion_of for boolean columns
Currently, using `ensure_inclusion_of` against a boolean column doesn't
work. We can assert that the column allows boolean values, but what
about values that should be rejected? Well, it depends on what you give
to `ensure_inclusion_of`. Here's how it works now:
* `ensure_inclusion_of(:attr).in_array([true])` asserts that false is
rejected
* `ensure_inclusion_of(:attr).in_array([false])` asserts that true is
rejected
* `ensure_inclusion_of(:attr).in_array([true, false])` does not assert
that anything is rejected, instead informing the developer how
this sort of expectation is not fully testable (anything other than
true, false, or nil will be converted to false).
* `ensure_inclusion_of(:attr).in_array([nil])`, when the column is
nullable, does not assert that anything is rejected, either, also
printing a warning
* `ensure_inclusion_of(:attr).in_array([nil])`, when the column is
non-nullable, raises an error because this expectation is not testable
in any way, as setting a boolean column to nil this way will get
converted to false.
2014-01-21 18:46:23 -05:00
|
|
|
* Fix `ensure_inclusion_of` so that you can use it against a boolean column
|
|
|
|
(and pass boolean values to `in_array`). There are two caveats:
|
|
|
|
|
|
|
|
* You should not test that your attribute allows both true and false
|
|
|
|
(`.in_array([true, false]`); there's no way to test that it doesn't accept
|
|
|
|
anything other than that.
|
|
|
|
* You cannot test that your attribute allows nil (`.in_array([nil])`) if
|
|
|
|
the column does not allow null values.
|
|
|
|
|
2014-02-10 17:52:40 -05:00
|
|
|
* Change `validate_uniqueness_of(...)` so that it provides default values for
|
|
|
|
non-nullable attributes.
|
|
|
|
|
2014-04-11 17:30:19 -04:00
|
|
|
* Running `rake` now installs Appraisals before running the test suite.
|
|
|
|
(Additionally, we now manage Appraisals using the `appraisal` executable in
|
|
|
|
Appraisal 1.0.0.)
|
2014-01-20 13:39:18 -05:00
|
|
|
|
2014-02-21 17:31:48 -05:00
|
|
|
* Add `allow_nil` option to `validate_numericality_of` so that you can validate
|
|
|
|
that numeric values are validated only if a value is supplied.
|
|
|
|
|
2014-02-26 22:26:37 -05:00
|
|
|
* Fix `validate_numericality_of` so that test fails when the value with
|
|
|
|
`greater_than`, `greater_than_or_equal_to`, `less_than`, `less_than_or_equal_
|
|
|
|
to` or `equal_to` is not appropriate.
|
|
|
|
|
2013-11-22 15:46:59 -05:00
|
|
|
* Change `validate_presence_of` under Rails 4 so that if you are using it with a
|
|
|
|
user whose model `has_secure_password` and whose password is set to a value,
|
|
|
|
you will be instructed to use a user whose password is blank instead. The
|
|
|
|
reason for this change is due to the fact that Rails 4's version of
|
|
|
|
`has_secure_password` defines #password= such that `nil` will be ignored,
|
|
|
|
which interferes with how `validate_presence_of` works.
|
|
|
|
|
2014-03-18 23:13:28 -04:00
|
|
|
* Add ability to test `belongs_to` associations defined with `:inverse_of`.
|
|
|
|
|
2014-04-11 17:30:19 -04:00
|
|
|
* Add back matchers that were removed in 2.0.0: `permit`, for testing strong
|
|
|
|
parameters, and `delegate_method`, for testing delegation.
|
|
|
|
|
|
|
|
* Add new matchers for testing controller filters: `before_filter`,
|
|
|
|
`after_filter`, and `around_filter` (aliased to `before_action`,
|
|
|
|
`after_action` and `around_action` for Rails 4).
|
|
|
|
|
2014-02-18 17:54:27 -05:00
|
|
|
* Fix `rescue_from` matcher so that it does not raise an error when testing
|
|
|
|
a method handler which has been marked as protected or private.
|
|
|
|
|
2014-04-11 17:30:19 -04:00
|
|
|
* Fix compatibility issues with Rails 4.1:
|
2014-04-11 16:48:52 -04:00
|
|
|
* `set_the_flash` and `have_and_belongs_to_many` no longer raise errors
|
|
|
|
* Minitest no longer prints warnings whenever shoulda-matchers is required
|
|
|
|
|
2014-01-10 17:37:34 -05:00
|
|
|
# v 2.5.0
|
|
|
|
|
2013-10-10 15:34:51 -04:00
|
|
|
* Fix Rails/Test::Unit integration to ensure that the test case classes we are
|
|
|
|
re-opening actually exist.
|
|
|
|
|
2014-01-10 17:14:19 -05:00
|
|
|
* Fix `ensure_length_of` so that it uses the right message to validate when
|
|
|
|
`is_equal_to` is specified in conjunction with a custom message.
|
|
|
|
|
2013-10-15 18:12:17 -04:00
|
|
|
* The `route` matcher now accepts specifying a controller/action pair as a
|
|
|
|
string instead of only a hash (e.g. `route(...).to('posts#index')` instead of
|
|
|
|
`route(...).to(controller: 'posts', action: 'index')`).
|
|
|
|
|
2013-10-25 16:41:59 -04:00
|
|
|
* The `ensure_inclusion_of` matcher now works with a decimal column.
|
|
|
|
|
2014-01-10 17:14:19 -05:00
|
|
|
* Under Rails 3, if you had an association matcher chained with the
|
|
|
|
the `order` submatcher -- e.g. `should have_many(:foos).order(:bar)` -- and
|
|
|
|
your association had an `:include` on it, using the matcher would raise an
|
|
|
|
error. This has been fixed.
|
2013-10-20 20:41:30 -04:00
|
|
|
|
2014-01-10 17:14:19 -05:00
|
|
|
* Fix `validate_uniqueness_of` so it doesn't fail if the attribute under
|
|
|
|
test has a limit of fewer than 16 characters.
|
2013-11-11 18:38:07 -05:00
|
|
|
|
2013-11-27 13:18:46 -05:00
|
|
|
* You can now test that your `has_many :through` or `has_one :through`
|
|
|
|
associations are defined with a `:source` option.
|
|
|
|
|
2014-01-10 17:14:19 -05:00
|
|
|
* Add new matcher `validates_absence_of`.
|
|
|
|
|
|
|
|
* Update matchers so that they use `failure_message` and
|
|
|
|
`failure_message_when_negated` to define error messages. These are new methods
|
|
|
|
in the upcoming RSpec 3 release which replace `failure_message_for_should` and
|
|
|
|
`failure_message_for_should_not`. We've kept backward compatibility so all of
|
|
|
|
your existing tests should still work -- this is just to make sure when RSpec
|
|
|
|
3 is released you don't get a bunch of warnings.
|
2013-12-05 11:38:30 -05:00
|
|
|
|
2013-09-20 16:11:59 -04:00
|
|
|
# v 2.4.0
|
2013-10-10 15:34:51 -04:00
|
|
|
|
2013-09-13 14:23:39 -04:00
|
|
|
* Fix a bug with the `validate_numericality_of` matcher that would not allow the
|
|
|
|
`with_message` option on certain submatchers.
|
2013-03-28 15:56:05 -04:00
|
|
|
|
2013-08-28 06:08:06 -04:00
|
|
|
* Fix a regression with context-dependent validations in ActiveResource
|
|
|
|
|
2013-08-16 18:47:08 -04:00
|
|
|
* shoulda-matchers is now fully compatible with Rails 4.
|
|
|
|
|
|
|
|
* When not using RSpec, shoulda-matchers is now auto-included into
|
|
|
|
ActiveSupport::TestCase instead of Test::Unit::TestCase (in Rails 4
|
|
|
|
the former no longer inherits from the latter).
|
|
|
|
|
2013-08-16 13:05:00 -04:00
|
|
|
# v 2.3.0
|
|
|
|
|
2013-08-14 21:40:07 -04:00
|
|
|
* Fix a bug in `ensure_inclusion_of` that would cause issues with using
|
|
|
|
`in_array` with an integer value.
|
|
|
|
|
2013-08-06 03:26:02 -04:00
|
|
|
* Add support for PostgreSQL UUID columns to `validates_uniqueness_of` (#334).
|
|
|
|
|
2013-07-29 23:31:24 -04:00
|
|
|
* Fix `validates_numericality_of` so that `is_equal_to` submatcher works
|
|
|
|
correctly (#326).
|
|
|
|
|
2013-08-10 17:38:59 -04:00
|
|
|
* Fix context support for validation matchers and disallowed values (#313).
|
2013-07-01 22:16:32 -04:00
|
|
|
|
2013-08-10 17:38:59 -04:00
|
|
|
* Add a `counter_cache` submatcher for `belongs_to` associations (#311).
|
2013-06-19 19:52:46 -04:00
|
|
|
|
2013-08-10 17:38:59 -04:00
|
|
|
* Add a `rescue_from` matcher for Rails controllers which checks that the
|
|
|
|
correct ActiveSupport call has been made and that the handlers exist without
|
|
|
|
actually throwing an exception (#287).
|
2013-04-26 16:34:21 -04:00
|
|
|
|
2013-06-14 11:21:50 -04:00
|
|
|
* Changed the scope of AssociationMatcher methods from protected to private.
|
|
|
|
|
2013-06-07 10:14:27 -04:00
|
|
|
* Extracted `#order`, `#through`, and `#dependent` from AssociationMatcher as
|
2013-08-10 17:38:59 -04:00
|
|
|
their own submatchers.
|
2013-06-07 10:14:27 -04:00
|
|
|
|
2013-06-11 10:35:05 -04:00
|
|
|
# v 2.2.0
|
|
|
|
|
2013-05-03 18:31:37 -04:00
|
|
|
* Fix `have_and_belong_to_many` matcher issue for Rails 4.
|
|
|
|
|
2013-05-17 14:10:19 -04:00
|
|
|
* Fix `validate_uniqueness_of.scoped_to` issue when the scoped field is already
|
|
|
|
taken (#207).
|
|
|
|
|
2013-05-23 23:26:45 -04:00
|
|
|
* Add comparison submatchers to `validate_numericality_of` to correspond to the
|
|
|
|
comparison options you can give to `validates_numericality_of` (#244).
|
|
|
|
|
2013-05-05 11:51:57 -04:00
|
|
|
# v 2.1.0
|
|
|
|
|
2013-04-12 13:11:07 -04:00
|
|
|
* Add missing `failure_message_for_should_not` implementations to
|
|
|
|
`validate_numericality_of` and its submatchers
|
|
|
|
|
2013-08-10 17:38:59 -04:00
|
|
|
* Support validation contexts for testing validations `on: :create` and when
|
|
|
|
using custom contexts like `model.valid?(:my_context)`.
|
2013-03-03 22:34:38 -05:00
|
|
|
|
2013-03-26 08:59:05 -04:00
|
|
|
* Fix a bug in validations with autosaved models.
|
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* Fix maximum value detection for the `ensure_inclusion_of` and
|
|
|
|
`ensure_exclusion_of` matchers.
|
|
|
|
|
2013-03-19 00:50:39 -04:00
|
|
|
* Add `:odd` and `:even` options to the `validate_numericality_of` matcher.
|
2013-04-26 11:48:44 -04:00
|
|
|
|
|
|
|
* Add `:touch` option to AssociationMatcher.
|
|
|
|
|
2013-03-15 16:52:55 -04:00
|
|
|
* Ruby 2.0.0 is now officially supported.
|
2013-04-26 11:48:44 -04:00
|
|
|
|
|
|
|
* Fix the issue where using `%{attribute}` or `%{model}` in I18n translations
|
|
|
|
raised exceptions.
|
|
|
|
|
|
|
|
* Support datetime columns in `validate_uniqueness_of.scoped_to`.
|
|
|
|
|
|
|
|
* Add `allow_nil` option to the `validate_uniqueness_of` matcher.
|
2012-11-02 14:48:35 -04:00
|
|
|
|
2013-03-19 18:55:19 -04:00
|
|
|
# v 2.0.0
|
|
|
|
* Remove the following matchers:
|
|
|
|
* `assign_to`
|
|
|
|
* `respond_with_content_type`
|
|
|
|
* `query_the_database`
|
|
|
|
* `validate_format_of`
|
|
|
|
* `have_sent_email`
|
|
|
|
* `permit` (strong parameters matcher)
|
|
|
|
* `delegate_method`
|
2013-04-26 11:48:44 -04:00
|
|
|
|
2013-03-19 18:55:19 -04:00
|
|
|
* For more information about 2.0 changes, see:
|
2013-04-26 11:48:44 -04:00
|
|
|
http://robots.thoughtbot.com/post/47031676783/shoulda-matchers-2-0.
|
2013-03-19 18:55:19 -04:00
|
|
|
|
2013-03-29 16:45:43 -04:00
|
|
|
# v 1.5.6
|
2013-04-26 11:48:44 -04:00
|
|
|
* Revert previous change in AllowValueMatcher that added a check for a
|
2013-03-29 16:10:01 -04:00
|
|
|
properly-set attribute.
|
|
|
|
|
2013-03-28 15:56:05 -04:00
|
|
|
# v 1.5.5
|
2013-04-26 11:48:44 -04:00
|
|
|
* AllowValueMatcher checks that the right value is used for attempts at
|
|
|
|
setting the attribute with it.
|
2013-03-26 18:16:04 -04:00
|
|
|
* Please note that previously-passing tests might now fail. It is likely that
|
|
|
|
it's not a bug, but please make sure that the code you're testing is written
|
|
|
|
properly before submitting an issue.
|
2013-04-26 11:48:44 -04:00
|
|
|
|
|
|
|
* Use DisallowValueMatcher for `disallows_value_of` method.
|
|
|
|
|
|
|
|
* Assert `class_name` value on real class name for AssociationMatcher.
|
|
|
|
|
|
|
|
* Correct the variable used for `validate_confirmation_of` matcher description.
|
2013-03-15 17:18:00 -04:00
|
|
|
|
2013-03-21 15:50:13 -04:00
|
|
|
# v 1.5.4
|
2013-04-26 11:48:44 -04:00
|
|
|
* Properly-released version of 1.5.3.
|
2013-03-21 15:50:13 -04:00
|
|
|
|
|
|
|
# v 1.5.3 - yanked due to mis-release
|
2013-04-26 11:48:44 -04:00
|
|
|
* Alleviate the need to add `rspec` gem to your app.
|
2013-03-21 15:18:50 -04:00
|
|
|
|
2013-03-19 09:37:56 -04:00
|
|
|
# v 1.5.1
|
2013-04-19 17:14:26 -04:00
|
|
|
* Bump version dependency of Bourne to allow for Mocha upgrade.
|
2013-04-26 11:48:44 -04:00
|
|
|
|
2013-04-19 17:14:26 -04:00
|
|
|
* Should fix incompatibility with MiniTest.
|
2013-03-19 09:37:56 -04:00
|
|
|
|
2013-03-15 17:18:00 -04:00
|
|
|
# v 1.5.0
|
|
|
|
* Deprecate the following matchers:
|
2013-04-26 11:48:44 -04:00
|
|
|
* `assign_to`
|
|
|
|
* `respond_with_content_type`
|
|
|
|
* `query_the_database`
|
|
|
|
* `validate_format_of`
|
|
|
|
* `have_sent_email`
|
|
|
|
* `permit` (strong parameters matcher)
|
|
|
|
* `delegate_method`
|
2013-03-15 17:18:00 -04:00
|
|
|
|
2012-12-25 17:26:33 -05:00
|
|
|
* Use RSpec's native `configure.include` syntax for including matchers into
|
2013-04-26 11:48:44 -04:00
|
|
|
RSpec (#204).
|
2012-12-25 17:26:33 -05:00
|
|
|
|
2013-04-19 17:14:26 -04:00
|
|
|
* Do not force MiniTest loading when test-unit is available (this was fixed
|
2013-04-26 11:48:44 -04:00
|
|
|
before 1.3.0 then reverted in 1.3.0).
|
2013-01-03 15:17:38 -05:00
|
|
|
|
2012-11-30 10:31:52 -05:00
|
|
|
# v1.4.2
|
2013-04-26 11:48:44 -04:00
|
|
|
* Add a new `delegate_method` matcher.
|
2012-11-30 10:31:52 -05:00
|
|
|
|
2012-10-15 11:48:11 -04:00
|
|
|
# v1.4.1
|
2013-04-26 11:48:44 -04:00
|
|
|
* Fix an issue when used with Test::Unit on the allow value matcher.
|
2012-10-15 11:48:11 -04:00
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* Fix an issue with using `ensure_inclusion_of(:attr)` given an array of true or false values.
|
2012-10-15 11:48:11 -04:00
|
|
|
|
2012-10-05 13:25:13 -04:00
|
|
|
# v1.4.0
|
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* Add `strict` option to validation matchers.
|
2012-10-05 13:25:13 -04:00
|
|
|
|
|
|
|
* Verify that arguments to `set_the_flash` matcher are valid.
|
|
|
|
|
|
|
|
* Fix issue in ValidateUniquenessMatcher that could cause an error on postgres.
|
|
|
|
|
|
|
|
* You can now pass an array to `ensure_exclusion_of` using `in_array`.
|
|
|
|
|
2013-01-03 15:17:38 -05:00
|
|
|
* Allow testing of `:foreign_key` option for `has_one` relationships using the association matcher.
|
2012-10-05 13:25:13 -04:00
|
|
|
|
|
|
|
* Fix bug where `ensure_length_of` would pass if the given string was too long.
|
|
|
|
|
|
|
|
* `allow_blank` will now allow values such as: ' ', '\n', and '\r'.
|
|
|
|
|
|
|
|
* Test outside values for `ensure_inclusion_of` when given an array.
|
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* Fix the output of the `set_the_flash` matcher.
|
2012-10-05 13:25:13 -04:00
|
|
|
|
2012-08-30 14:19:26 -04:00
|
|
|
# v1.3.0
|
2012-06-15 13:28:56 -04:00
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* `validate_format_of` will accept `allow_blank(bool)` and `allow_nil(bool)`.
|
2012-07-04 10:14:30 -04:00
|
|
|
|
2013-04-19 17:14:26 -04:00
|
|
|
* Prefer Test::Unit to MiniTest when loading integrations so that RubyMine is
|
2012-06-15 13:28:56 -04:00
|
|
|
happy (#88).
|
|
|
|
|
2012-05-11 11:36:22 -04:00
|
|
|
* `validates_uniqueness_of` will now create a record if one does not exist.
|
|
|
|
Previously, users were required to create a record in the database before
|
|
|
|
using this matcher.
|
|
|
|
|
2012-07-20 10:38:56 -04:00
|
|
|
* Fix an edge case when where the matchers weren't loaded into Test::Unit when
|
|
|
|
mixing RSpec and Test::Unit tests and also loading both the 'rspec-rails' gem
|
|
|
|
and 'shoulda-matchers' gem from the same Gemfile group, namely [:test,
|
|
|
|
:development].
|
|
|
|
|
2012-07-20 10:59:27 -04:00
|
|
|
* `controller.should_not render_partial` now correctly matches `render partial: "partial"`.
|
|
|
|
|
2012-06-14 15:40:39 -04:00
|
|
|
# v1.2.0
|
2012-04-20 11:46:47 -04:00
|
|
|
|
|
|
|
* `ensure_inclusion_of` now has an `in_array` parameter:
|
|
|
|
`ensure_inclusion_of(:attr).in_array(['foo', 'bar'])`. It cannot be used with
|
2012-04-20 11:47:21 -04:00
|
|
|
the `.in_range` option. (vpereira)
|
2012-04-20 11:46:47 -04:00
|
|
|
|
2012-05-10 11:15:40 -04:00
|
|
|
* `ensure_in_inclusion_of` with `in_array` will accept `allow_blank(bool)` and `allow_nil(false)`
|
|
|
|
|
2012-04-20 14:50:29 -04:00
|
|
|
* Test against Rails 3.2.
|
|
|
|
|
2012-04-20 14:56:58 -04:00
|
|
|
* Fix `ensure_length_of` to use all possible I18n error messages.
|
|
|
|
|
2012-04-23 17:37:40 -04:00
|
|
|
* `have_db_index.unique(nil)` used to function exactly the same as
|
|
|
|
`have_db_index` with no unique option. It now functions the same as
|
|
|
|
`have_db_index.unique(false)`.
|
|
|
|
|
2012-06-14 15:40:39 -04:00
|
|
|
* In 1.1.0, `have_sent_email` checked all emails to ensure they matched. It now
|
|
|
|
checks that only one email matches, which restores 1.0.0 behavior.
|
|
|
|
|
2012-04-13 11:02:27 -04:00
|
|
|
# v1.1.0
|
2012-04-03 20:57:53 -04:00
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* Add `only_integer` option to `validate_numericality_of`:
|
2012-04-03 20:57:53 -04:00
|
|
|
`should validate_numericality_of(:attribute).only_integer`
|
2012-04-09 20:41:20 -04:00
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* Add a `query_the_database` matcher:
|
2012-04-03 20:57:53 -04:00
|
|
|
|
|
|
|
`it { should query_the_database(4.times).when_calling(:complicated_method) }`
|
|
|
|
`it { should query_the_database(4.times).or_less.when_calling(:complicated_method) }`
|
|
|
|
`it { should_not query_the_database.when_calling(:complicated_method) }`
|
|
|
|
|
|
|
|
* Database columns are now correctly checked for primality. E.G., this works
|
|
|
|
now: `it { should have_db_column(:id).with_options(:primary => true) }`
|
|
|
|
|
|
|
|
* The flash matcher can check specific flash keys using [], like so:
|
|
|
|
`it { should set_the_flash[:alert].to("Password doesn't match") }`
|
|
|
|
|
2012-04-09 20:41:20 -04:00
|
|
|
* The `have_sent_email` matcher can check `reply_to`:
|
2012-04-03 20:57:53 -04:00
|
|
|
` it { should have_sent_email.reply_to([user, other]) }`
|
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* Add `validates_confirmation_of` matcher:
|
2012-04-03 20:57:53 -04:00
|
|
|
`it { should validate_confirmation_of(:password) }`
|
|
|
|
|
2013-04-26 11:48:44 -04:00
|
|
|
* Add `serialize` matcher:
|
2012-04-03 20:57:53 -04:00
|
|
|
`it { should serialize(:details).as(Hash).as_instance_of(Hash) }`
|
2012-04-09 20:43:40 -04:00
|
|
|
|
|
|
|
* shoulda-matchers checks for all possible I18n keys, instead of just
|
|
|
|
e.g. `activerecord.errors.messages.blank`
|
2012-04-09 20:46:18 -04:00
|
|
|
|
2012-04-13 10:58:56 -04:00
|
|
|
* Add `accept_nested_attributes` matcher
|
|
|
|
|
2012-04-10 23:23:24 -04:00
|
|
|
* Our very first dependency: ActiveSupport >= 3.0.0
|