-
Notifications
You must be signed in to change notification settings - Fork 2
/
build_spec.rb
31 lines (22 loc) · 936 Bytes
/
build_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
require 'spec_helper'
describe Chain, '.build' do
context "when a block is given" do
subject { described_class.build(dsl, other, &block) }
let(:dsl) { Chain::DSL::Builder.call(registry) }
let(:registry) { { :test => Spec::Processor } }
let(:other) { [ processor ] }
let(:processor) { Spec::Processor.new(Spec::FAKE_HANDLER) }
let(:block) { lambda { |_| test(Spec::FAKE_HANDLER) } }
let(:expected) { Chain.new(dsl.processors(other, &block)) }
it { should eql(expected) }
end
context "when no block is given" do
subject { described_class.build(dsl, other) }
let(:dsl) { Chain::DSL::Builder.call(registry) }
let(:registry) { { :test => Spec::Processor } }
let(:other) { [ processor ] }
let(:processor) { Spec::Processor.new(Spec::FAKE_HANDLER) }
let(:expected) { Chain.new(dsl.processors(other)) }
it { should eql(expected) }
end
end