Sha256: 612a468f58f8d25d56f81252ccc11c73bca1032b4d997a99a5218025a38beac3

Contents?: true

Size: 1.22 KB

Versions: 2

Compression:

Stored size: 1.22 KB

Contents

require 'spec_helper'

describe Grape::Rabl do
  subject { Class.new(Grape::API) }
  before { subject.default_format :json }
  def app; subject end

  it 'should work without rabl template' do
    subject.get("/home") {"Hello World"}
    get "/home"
    last_response.body.should == "Hello World"
  end

  it "should raise error about root directory" do
    subject.get("/home", :rabl => true){}
    lambda{ get "/home" }.should raise_error("Use Rack::Config to set 'api.tilt.root' in config.ru")
  end

  context "titl root is setup"  do
    before do
      subject.before { env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views" }
    end

    it "should not raise error about root directory" do
      subject.get("/home", :rabl => true){}
      lambda{ get "/home" }.should_not raise_error("Use Rack::Config to set 'api.tilt.root' in config.ru")
    end

    it "should render rabl template" do
      subject.get("/home", :rabl => "user.rabl") do
        @user = OpenStruct.new(:name => "LTe", :email => "email@example.com")
        @project = OpenStruct.new(:name => "First")
      end

      get "/home"
      last_response.body.should == '{"user":{"name":"LTe","email":"email@example.com","project":{"name":"First"}}}'
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
grape-rabl-0.0.2 spec/grape_rabl_spec.rb
grape-rabl-0.0.1 spec/grape_rabl_spec.rb