File tree Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Expand file tree Collapse file tree 2 files changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -2710,6 +2710,26 @@ end
2710
2710
it 'validates users' do
2711
2711
expect([user1, user2, user3]).to all(be_valid)
2712
2712
end
2713
+
2714
+ # bad
2715
+ it 'sets inferred fields for users' do
2716
+ [user1, user2, user3].each do |user|
2717
+ expect(user).to have_attributes(
2718
+ post_count: PostService.new(user).post_count,
2719
+ karma: KarmaService.new(user).value
2720
+ )
2721
+ end
2722
+ end
2723
+
2724
+ # good
2725
+ it 'sets inferred fields for users' do
2726
+ expect([user1, user2, user3]).to all(satisfy do |user|
2727
+ have_attributes(
2728
+ post_count: PostService.new(user).post_count,
2729
+ karma: KarmaService.new(user).value
2730
+ )
2731
+ end)
2732
+ end
2713
2733
----
2714
2734
2715
2735
=== References
Original file line number Diff line number Diff line change @@ -16,6 +16,26 @@ module RSpec
16
16
# expect([user1, user2, user3]).to all(be_valid)
17
17
# end
18
18
#
19
+ # # bad
20
+ # it 'sets inferred fields for users' do
21
+ # [user1, user2, user3].each do |user|
22
+ # expect(user).to have_attributes(
23
+ # post_count: PostService.new(user).post_count,
24
+ # karma: KarmaService.new(user).value
25
+ # )
26
+ # end
27
+ # end
28
+ #
29
+ # # good
30
+ # it 'sets inferred fields for users' do
31
+ # expect([user1, user2, user3]).to all(satisfy do |user|
32
+ # have_attributes(
33
+ # post_count: PostService.new(user).post_count,
34
+ # karma: KarmaService.new(user).value
35
+ # )
36
+ # end)
37
+ # end
38
+ #
19
39
class IteratedExpectation < Base
20
40
MSG = 'Prefer using the `all` matcher instead ' \
21
41
'of iterating over an array.'
You can’t perform that action at this time.
0 commit comments