Sha256: 3291433ca9a96c5099591fa53d9aade0d94846186faf9cccc645b543920230e4

Contents?: true

Size: 1.94 KB

Versions: 1

Compression:

Stored size: 1.94 KB

Contents

require 'spec_helper'

HOST = 'www.mock.dev'

describe WebClient::Base do

  let(:client) { WebClient::Base.new(HOST) }

  context 'HTTP methods' do

    it 'get' do
      stub_request(:get, "#{HOST}/get_stub").to_return(body: 'content')
      response = client.get('/get_stub')
      response.should be_a Net::HTTPOK
      response.body.should eq 'content'
    end

    it 'post' do
      stub_request(:post, "#{HOST}/post_stub").with(body: 'form_data')
      response = client.post('/post_stub', 'form_data')
      response.should be_a Net::HTTPOK
      response.body.should be_nil
    end

    it 'put' do
      stub_request(:put, "#{HOST}/put_stub").with(body: 'form_data')
      response = client.put('/put_stub', 'form_data')
      response.should be_a Net::HTTPOK
      response.body.should be_nil
    end

    it 'delete' do
      stub_request(:delete, "#{HOST}/delete_stub").with(body: 'form_data')
      response = client.delete('/delete_stub', 'form_data')
      response.should be_a Net::HTTPOK
      response.body.should be_nil
    end

  end

  context 'Actions with a block' do

    it 'get' do
      stub_request(:get, /.*/)
      client.get('/get_stub') do |request, http|
        request.path.should eq '/get_stub'
        http.address.should eq HOST
      end
    end

    it 'post' do
      stub_request(:post, /.*/)
      client.post('/post_stub', {}) do |request, http|
        request.path.should eq '/post_stub'
        http.address.should eq HOST
      end
    end

    it 'put' do
      stub_request(:put, /.*/)
      client.put('/put_stub', {}) do |request, http|
        request.path.should eq '/put_stub'
        http.address.should eq HOST
      end
    end

    it 'delete' do
      stub_request(:delete, /.*/)
      client.delete('/delete_stub') do |request, http|
        request.path.should eq '/delete_stub'
        http.address.should eq HOST
      end
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
web_client-0.0.1 spec/base_spec.rb