Module: Soaspec::RestMethods

Defined in:
lib/soaspec/exchange_handlers/rest_methods.rb

Overview

Contains commonly used REST methods. Include this module in the spec where you want to use it

TODO: For some reason from ‘soaspec pry’ sinatra always gets loaded instead of this

Examples:

include Soaspec::RestMethods

context CustomExchangeHandler.new('Create Notes') do
  post(:minimum_data, body: { subject: 'Minimal' }) do
    it_behaves_like 'success scenario'
    its(:subject) { is_expected.to eq 'Minimal' }
  end

  post(:one_note, body: { subject: 'One', note: { 'Note 1' } }) do
    it_behaves_like 'success scenario'
    it 'has 1 note' do
      expect(get(subject.id).values_at_path('notes').count).to eq 1
    end
  end
end

Instance Method Summary collapse

Instance Method Details

#delete(name, params = {}) ⇒ Exchange

Make REST Delete Exchange

Parameters:

  • name (String)

    Name of test displayed

  • params (Hash) (defaults to: {})

    Exchange parameters

Returns:

  • (Exchange)

    Instance of Exchange class. Assertions are made by default on the response body



61
62
63
# File 'lib/soaspec/exchange_handlers/rest_methods.rb', line 61

def delete(name, params = {})
  Exchange.new(name, method: :delete, **params)
end

#get(name, params = {}) ⇒ Exchange

Make REST Get Exchange

Parameters:

  • name (String)

    Name of test displayed

  • params (Hash) (defaults to: {})

    Exchange parameters

Returns:

  • (Exchange)

    Instance of Exchange class. Assertions are made by default on the response body



53
54
55
# File 'lib/soaspec/exchange_handlers/rest_methods.rb', line 53

def get(name, params = {})
  Exchange.new(name, method: :get, **params)
end

#patch(name, params = {}) ⇒ Exchange

Make REST Patch Exchange

Parameters:

  • name (String)

    Name of test displayed

  • params (Hash) (defaults to: {})

    Exchange parameters

Returns:

  • (Exchange)

    Instance of Exchange class. Assertions are made by default on the response body



37
38
39
# File 'lib/soaspec/exchange_handlers/rest_methods.rb', line 37

def patch(name, params = {})
  Exchange.new(name, method: :patch, **params)
end

#post(name, params = {}) ⇒ Exchange

Make REST Post Exchange

Parameters:

  • name (String)

    Name of test displayed

  • params (Hash) (defaults to: {})

    Exchange parameters

Returns:

  • (Exchange)

    Instance of Exchange class. Assertions are made by default on the response body



29
30
31
# File 'lib/soaspec/exchange_handlers/rest_methods.rb', line 29

def post(name, params = {})
  Exchange.new(name, method: :post, **params)
end

#put(name, params = {}) ⇒ Exchange

Make REST Put Exchange

Parameters:

  • name (String)

    Name of test displayed

  • params (Hash) (defaults to: {})

    Exchange parameters

Returns:

  • (Exchange)

    Instance of Exchange class. Assertions are made by default on the response body



45
46
47
# File 'lib/soaspec/exchange_handlers/rest_methods.rb', line 45

def put(name, params = {})
  Exchange.new(name, method: :put, **params)
end