Sha256: 921f968a9750035f62344299a4d18bf69d98a760a3d2af6981fee9cfaca1fc4e

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

require 'spec_helper'

describe Grape::Rabl do
  subject do
    Class.new(Grape::API)
  end

  before do
    subject.format :xml
    subject.formatter :xml, Grape::Formatter::Rabl
  end

  def app
    subject
  end

  context "with xml format"  do
    before do
      subject.before {
        env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views"
        env["api.format"] = :xml
      }
    end

    it "should respond with proper content-type" do
      subject.get("/home", :rabl => "user"){}
      get("/home")
      last_response.headers["Content-Type"].should == "application/xml"
    end

    ["user", "user.rabl"].each do |rabl_option|
      it "should render rabl template (#{rabl_option})" do
        subject.get("/home", :rabl => rabl_option) do
          @user = OpenStruct.new(:name => "LTe", :email => "email@example.com")
          @project = OpenStruct.new(:name => "First")
        end

        get "/home"

        last_response.body.should == %Q{<?xml version="1.0" encoding="UTF-8"?>\n<user>\n  <name>LTe</name>\n  <email>email@example.com</email>\n  <project>\n    <name>First</name>\n  </project>\n</user>\n}
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
grape-rabl-0.2.0 spec/grape_rabl_xml_spec.rb