diff options
author | Robert Speicher <rspeicher@gmail.com> | 2017-02-10 04:21:31 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2017-02-10 04:23:41 +0300 |
commit | 0d9cce410dd146e512dc84fdb39bff13929a1362 (patch) | |
tree | 213a54c9f8b365d5e673c9e89cfb29f63893e234 /spec/support/matchers | |
parent | e355d8fe287002df0948033a19db9caaf8174555 (diff) |
Remove a transient failure from spec/requests/api/groups_spec.rb
Diffstat (limited to 'spec/support/matchers')
-rw-r--r-- | spec/support/matchers/satisfy_matchers.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/support/matchers/satisfy_matchers.rb b/spec/support/matchers/satisfy_matchers.rb new file mode 100644 index 00000000000..585915bac93 --- /dev/null +++ b/spec/support/matchers/satisfy_matchers.rb @@ -0,0 +1,19 @@ +# These matchers are a syntactic hack to provide more readable expectations for +# an Enumerable object. +# +# They take advantage of the `all?`, `none?`, and `one?` methods, and the fact +# that RSpec provides a `be_something` matcher for all predicates. +# +# Example: +# +# # Ensure exactly one object in an Array satisfies a condition +# expect(users.one? { |u| u.admin? }).to eq true +# +# # The same thing, but using the `be_one` matcher +# expect(users).to be_one { |u| u.admin? } +# +# # The same thing again, but using `satisfy_one` for improved readability +# expect(users).to satisfy_one { |u| u.admin? } +RSpec::Matchers.alias_matcher :satisfy_all, :be_all +RSpec::Matchers.alias_matcher :satisfy_none, :be_none +RSpec::Matchers.alias_matcher :satisfy_one, :be_one |