Welcome to mirror list, hosted at ThFree Co, Russian Federation.

satisfy_matchers.rb « matchers « support « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 585915bac93ea00101e8780f825eddc6d7e9eee1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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