Sha256: 45578db97a876efdfe31209d6ef8002da48663d135f8c2f1e7769335be917582

Contents?: true

Size: 1.19 KB

Versions: 7

Compression:

Stored size: 1.19 KB

Contents

RSpec.configure do |config|
  config.before :all do |context|
    self.response, self.workspace = nil
  end
end

rspec do
  attr_accessor :response, :workspace
  
  def ccall klass, method, params = {}, workspace_variables = {}, &block
    self.response = Rad::Http::Response.new
    workspace_variables = {
      class: klass, method_name: method, params: Rad::Conveyors::Params.new(params), response: response
    }.merge(workspace_variables)
    
    if block            
      rad.conveyors.web.call workspace_variables do |c|
        self.workspace = rad.workspace
                
        block.call c
      end
    else                  
      self.workspace = rad.conveyors.web.call workspace_variables
    end
    
    if klass and klass.name =~ /Http/
      response.content_type.must_be.present
      response.status.must_be.present
    end
    
    workspace.content
  end
  
  def self.with_abstract_controller
    before do
      rad.controller
            
      rad.conveyors.web do |web|
        web.use Rad::Controller::Processors::ControllerCaller
      end
    end
    after{rad.reset :conveyors}
  end
end

Rad::Controller::Abstract.class_eval do
  def render_ok
    render inline: 'ok'
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rad_core-0.2.6 lib/rad/spec/controller.rb
rad_core-0.2.5 lib/rad/spec/controller.rb
rad_core-0.2.4 lib/rad/spec/controller.rb
rad_core-0.2.3 lib/rad/spec/controller.rb
rad_core-0.2.2 lib/rad/spec/controller.rb
rad_core-0.2.1 lib/rad/spec/controller.rb
rad_core-0.2.0 lib/rad/spec/controller.rb