File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -32,5 +32,40 @@ module RSpec::Rails
32
32
33
33
expect ( results ) . to all be true
34
34
end
35
+
36
+ describe 'CurrentAttributes' do
37
+ let ( :current_class ) do
38
+ Class . new ( ActiveSupport ::CurrentAttributes ) do
39
+ attribute :request_id
40
+ end
41
+ end
42
+
43
+ it 'does not leak current attributes between example groups' , if : ::Rails ::VERSION ::MAJOR >= 7 do
44
+ groups =
45
+ [
46
+ RSpec ::Core ::ExampleGroup . describe ( "A group" ) do
47
+ include RSpec ::Rails ::RailsExampleGroup
48
+ specify { expect ( current_class . attributes ) . to eq ( { } ) }
49
+ end ,
50
+ RSpec ::Core ::ExampleGroup . describe ( "A controller group" , type : :controller ) do
51
+ specify do
52
+ current_class . request_id = "123"
53
+ expect ( current_class . attributes ) . to eq ( request_id : "123" )
54
+ end
55
+ end ,
56
+ RSpec ::Core ::ExampleGroup . describe ( "Another group" ) do
57
+ include RSpec ::Rails ::RailsExampleGroup
58
+ specify { expect ( current_class . attributes ) . to eq ( { } ) }
59
+ end
60
+ ]
61
+
62
+ results =
63
+ groups . map do |group |
64
+ group . run ( failure_reporter ) ? true : failure_reporter . exceptions
65
+ end
66
+
67
+ expect ( results ) . to all be true
68
+ end
69
+ end
35
70
end
36
71
end
You can’t perform that action at this time.
0 commit comments