Sha256: fc5e162c8f49a3caca9ef5512932a6b84e802fcf861c333f03f9e183505081f9

Contents?: true

Size: 1.2 KB

Versions: 23

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe Praxis::RequestStages::Validate do
  let(:dispatcher) { Praxis::Dispatcher.new }

  # Instances controller is defined in the 'app' folder and is already in scope. Using this
  # controller for the specs instead of creating a simple controller.
  let(:controller) { Instances }

  let(:action) { controller.definition.actions[:show] }

  let(:env) do
    e = Rack::MockRequest.env_for('/instances/1?cloud_id=1&api_version=1.0')
    e['rack.input'] = StringIO.new('something=given')
    e['HTTP_VERSION'] = 'HTTP/1.1'
    e['HTTP_HOST'] = 'rightscale'
    e
  end

  let(:request) do
    r = Praxis::Request.new(env)
    r.route_params = { id: 1 }
    r.action = action
    r
  end

  context 'given a request' do
    it 'should validate params and headers from the request' do
      expect(request).to receive(:validate_headers).and_return([])
      expect(request).to receive(:validate_params).and_return([])
      dispatcher.dispatch(controller, action, request)
    end

    it 'should validate payload from the request' do
      expect(request).to receive(:validate_payload).and_return([])
      dispatcher.dispatch(controller, action, request)
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
praxis-2.0.0 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.40 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.39 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.38 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.37 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.36 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.35 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.34 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.33 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.32 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.31 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.30 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.29 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.28 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.27 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.26 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.25 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.24 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.23 spec/praxis/request_stages/validate_spec.rb
praxis-2.0.pre.22 spec/praxis/request_stages/validate_spec.rb