File: order_group_spec.rb

package info (click to toggle)
ruby-rspec 3.9.0c2e2m1s3-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,612 kB
  • sloc: ruby: 67,456; sh: 1,572; makefile: 98
file content (26 lines) | stat: -rw-r--r-- 823 bytes parent folder | download | duplicates (6)
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
RSpec.describe 'OrderGroup' do
  let(:order_group) { ::RSpec::Mocks::OrderGroup.new }

  describe '#consume' do
    let(:ordered_1) { double :ordered? => true }
    let(:ordered_2) { double :ordered? => true }
    let(:unordered) { double :ordered? => false }

    before do
      order_group.register unordered
      order_group.register ordered_1
      order_group.register unordered
      order_group.register ordered_2
      order_group.register unordered
      order_group.register unordered
    end

    it 'returns the first ordered? expectation' do
      expect(order_group.consume).to eq ordered_1
    end
    it 'keeps returning ordered? expectation until all are returned' do
      expectations = 3.times.map { order_group.consume }
      expect(expectations).to eq [ordered_1, ordered_2, nil]
    end
  end
end