mirror of
https://github.com/discourse/discourse.git
synced 2025-05-25 00:32:52 +08:00
DEV: Ensure DiscourseEvent handlers cleaned up during specs (#11205)
This commit is contained in:
@ -31,10 +31,16 @@ describe DiscourseEvent do
|
||||
)
|
||||
}
|
||||
|
||||
let(:event_handler) do
|
||||
Proc.new { |user| user.name = 'Two Face' }
|
||||
end
|
||||
|
||||
before do
|
||||
DiscourseEvent.on(:acid_face) do |user|
|
||||
user.name = 'Two Face'
|
||||
end
|
||||
DiscourseEvent.on(:acid_face, &event_handler)
|
||||
end
|
||||
|
||||
after do
|
||||
DiscourseEvent.off(:acid_face, &event_handler)
|
||||
end
|
||||
|
||||
context 'when event does not exist' do
|
||||
@ -60,14 +66,19 @@ describe DiscourseEvent do
|
||||
|
||||
context 'when multiple events exist' do
|
||||
|
||||
before do
|
||||
DiscourseEvent.on(:acid_face) do |user|
|
||||
user.job = 'Supervillian'
|
||||
end
|
||||
let(:event_handler_2) do
|
||||
Proc.new { |user| user.job = 'Supervillian' }
|
||||
end
|
||||
|
||||
before do
|
||||
DiscourseEvent.on(:acid_face, &event_handler_2)
|
||||
DiscourseEvent.trigger(:acid_face, harvey)
|
||||
end
|
||||
|
||||
after do
|
||||
DiscourseEvent.off(:acid_face, &event_handler_2)
|
||||
end
|
||||
|
||||
it 'triggers both events' do
|
||||
expect(harvey.job).to eq('Supervillian')
|
||||
expect(harvey.name).to eq('Two Face')
|
||||
|
Reference in New Issue
Block a user