Sha256: c1e5d7b537858e80ccccc55819d6f6fccad23a9c09926d085cc3243841d6579c
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
describe PlayTime::Runner do describe '.run!' do let(:response) { double(:response, data: {success: true}) } let(:client) { double(:client, execute: response) } let(:options) { {foo: :bar} } subject { PlayTime::Runner.run!(client, options) } it 'executes an api' do subject expect(client).to have_received(:execute).with(options) end context 'when success' do it 'returns a response' do expect(subject).to eq response end end context 'when failure' do context 'when no response' do let(:response) { nil } it 'raises an error' do expect { subject }.to raise_error PlayTime::Runner::IOError end end context 'when data is nil' do let(:response) { double(:response, data: nil) } it 'raises an error' do expect { subject }.to raise_error PlayTime::Runner::IOError end end context 'when data has an error' do let(:response) { double(:response, data: {'error' => 'Something went wrong'}) } it 'raises an error' do expect { subject }.to raise_error PlayTime::Runner::ResponseError, 'Something went wrong' end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
play_time-0.0.2 | spec/runner_spec.rb |
play_time-0.0.1 | spec/runner_spec.rb |