Sha256: 3148879b321b53e41c0ae83896b5a56de1d706e2cbea5280703e136e1d4252e4

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

require "cucumber/runtime/gated_receiver"

describe Cucumber::Runtime::GatedReceiver do
  subject(:gated_receiver) { Cucumber::Runtime::GatedReceiver.new(receiver) }

  let(:receiver) { double(:receiver) }
  let(:test_cases){ [double(:test_case), double(:test_case)] }

  describe "#test_case" do
    it "does not immediately describe the test case to the receiver" do
      test_cases.each do |test_case|
        expect(test_case).to_not receive(:describe_to).with(receiver)
      end

      test_cases.each do |test_case|
        gated_receiver.test_case(test_case)
      end
    end
  end

  describe "#done" do
    before do
      test_cases.each do |test_case|
        gated_receiver.test_case(test_case)
      end

      test_cases.each do |test_case|
        allow(test_case).to receive(:describe_to).with(receiver)
      end

      allow(receiver).to receive(:done)
    end

    it "describes all test cases to the receiver" do
      test_cases.each do |test_case|
        expect(test_case).to receive(:describe_to).with(receiver)
      end

      gated_receiver.done
    end

    it "calls done on the receiver" do
      expect(receiver).to receive(:done)
      gated_receiver.done
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cucumber-2.0.0.beta.3 spec/cucumber/runtime/gated_receiver_spec.rb
cucumber-2.0.0.beta.2 spec/cucumber/runtime/gated_receiver_spec.rb
cucumber-2.0.0.beta.1 spec/cucumber/runtime/gated_receiver_spec.rb