mirror of
https://github.com/meineerde/rackstash.git
synced 2025-12-19 15:01:12 +00:00
Add complete tests for setting a custom error_flow on Flows
This commit is contained in:
parent
c4f0b9cdeb
commit
65cad497f0
@ -46,6 +46,13 @@ describe Rackstash::Flow do
|
||||
expect(flow.filter_chain[0]).to equal filter
|
||||
end
|
||||
|
||||
it 'accepts an error_flow' do
|
||||
error_flow = described_class.new(nil)
|
||||
|
||||
flow = described_class.new(adapter, error_flow: error_flow)
|
||||
expect(flow.error_flow).to equal error_flow
|
||||
end
|
||||
|
||||
it 'yields the adapter if block given' do
|
||||
expect { |b| described_class.new(adapter, &b) }
|
||||
.to yield_with_args(instance_of(described_class))
|
||||
@ -121,6 +128,32 @@ describe Rackstash::Flow do
|
||||
end
|
||||
end
|
||||
|
||||
describe '#error_flow' do
|
||||
it 'returns the global error_flow by default' do
|
||||
expect(Rackstash).to receive(:error_flow).and_call_original
|
||||
expect(flow.error_flow).to be_instance_of described_class
|
||||
end
|
||||
|
||||
it 'can set a custom error_flow' do
|
||||
error_flow = described_class.new(adapter)
|
||||
expect(flow.error_flow(error_flow)).to equal error_flow
|
||||
|
||||
# The error_flow is persisted and is returned afterwards
|
||||
expect(flow.error_flow).to equal error_flow
|
||||
end
|
||||
|
||||
it 'creates a flow object when setting a value' do
|
||||
# load the flow helper so that the receive test below counts correctly
|
||||
flow = self.flow
|
||||
|
||||
expect(described_class).to receive(:new).with(adapter).and_call_original
|
||||
new_flow = flow.error_flow(adapter)
|
||||
|
||||
expect(flow.error_flow).to be_instance_of described_class
|
||||
expect(flow.error_flow).to equal new_flow
|
||||
end
|
||||
end
|
||||
|
||||
describe '#filter_after' do
|
||||
before(:each) do
|
||||
flow.filter_chain << ->(event) {}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user