Sha256: 6732631bbc012ed23e3da740f45cc42184d5493797b48844b289aa61b668552e
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
require 'spec_helper' module ReadmeExample class A attr :x def initialize(b: nil) @x = 0 @b = b end def query 1 end def command @x = 1 end def query_command @x = 1 1 end def query_command_side_effect @b.command @x = 1 1 end end class B def command end end end describe "ReadmeExample::A, vanilla" do let(:a) { ReadmeExample::A.new(b: b) } let(:b) { double('b').as_null_object } describe '#query_command_side_effect' do it 'is expected to return 1' do expect(a.query_command_side_effect).to eq(1) end it 'is expected to update x' do expect { a.query_command_side_effect }.to change(a, :x) end it 'is expected to call command on b' do expect(b).to receive(:command).once a.query_command_side_effect end end end require 'rspec/subject_call' describe "ReadmeExample::A, subject_call style" do let(:a) { ReadmeExample::A.new(b: b) } let(:b) { double('b').as_null_object } describe '#query_command_side_effect' do subject { a.query_command_side_effect } it { is_expected.to eq(1) } call { is_expected.to change(a, :x) } call { is_expected.to meet_expectations { expect(b).to receive(:command) } } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec-subject_call-1.0.2 | spec/readme_example_spec.rb |