Skip to content

Commit 8ce89b8

Browse files
committed
create failing spec
1 parent ac8394b commit 8ce89b8

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

spec/rspec/rails/example/system_example_group_spec.rb

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,5 +91,38 @@ def take_screenshot
9191
expect(example.metadata[:extra_failure_lines]).to eq(["line 1\n", "line 2\n"])
9292
end
9393
end
94+
95+
describe "hook order" do
96+
it 'calls Capybara.reset_sessions (TestUnit after_teardown) after any after hooks' do
97+
calls_in_order = []
98+
allow(Capybara).to receive(:reset_sessions!) { calls_in_order << :reset_sessions! }
99+
100+
group = RSpec::Core::ExampleGroup.describe do
101+
include SystemExampleGroup
102+
103+
before do
104+
driven_by(:selenium)
105+
end
106+
107+
after do
108+
calls_in_order << :after_hook
109+
end
110+
111+
append_after do
112+
calls_in_order << :append_after_hook
113+
end
114+
115+
around do |example|
116+
example.run
117+
calls_in_order << :around_hook_after_example
118+
end
119+
end
120+
group.it('works') { }
121+
group.run
122+
123+
expect(calls_in_order).to eq([:after_hook, :append_after_hook, :around_hook_after_example, :reset_sessions!])
124+
end
125+
126+
end
94127
end
95128
end

0 commit comments

Comments
 (0)