Sha256: 38f6a9474e9c7408a05807f5411fe9e5e1f7f74665d7c57f335abbb79aa2c72a
Contents?: true
Size: 1.22 KB
Versions: 32
Compression:
Stored size: 1.22 KB
Contents
describe QuizApiClient::Services::QuizSyncJobService do let(:host) { 'api.host' } let(:config) { QuizApiClient::Config.new { |c| c.host = host } } let(:subject) { described_class.new(config) } describe '#show' do let(:expected_url) { "https://#{host}/api/quiz_sync_jobs/#{params[:id]}" } let(:params) { { id: 1 } } let(:stubbed_response) { { 'id' => 1, 'original_quiz_id' => 666, 'status' => 'completed' } } context 'on success' do before do stub_request(:get, expected_url) .to_return( status: 200, body: stubbed_response.to_json, headers: { 'Content-Type' => 'application/json' } ) end it 'gets from /api/quiz_sync_jobs/:id' do result = subject.show(params: params, token: 'token') expect(result.parsed_response).to eql(stubbed_response) end end context 'on failure' do let(:status_code) { 401 } before do stub_request(:get, expected_url) .to_return(status: status_code) end it 'returns a response with the correct code' do response = subject.show(params: params, token: 'token') expect(response.code).to eq(status_code) end end end end
Version data entries
32 entries across 32 versions & 1 rubygems