Sha256: ab68db491dd31c2a5ca025a9ce4311d24eacd079ca917b76f88d3be08f59f724

Contents?: true

Size: 1.08 KB

Versions: 4

Compression:

Stored size: 1.08 KB

Contents

require "spec_helper"

describe "dynamic mounting" do
  it "resolves routes from routes.rb" do
    http.get "/"
    expect_response "root"
  end

  # mounting not at root level
  it "gets deep route from a routes.rb file not mounted at /" do
    http.get "/api/v2"
    expect(http.content).to eq("version" => "v2")
    expect(http.response.headers["content-type"]).to match(/application\/json/)
  end

  it "gets deep route from static file" do
    http.get "/api/v2/api.js"
    expect_response /API example file/
    expect(http.response.headers["content-type"]).to match(/application\/javascript/)
  end

  it "gets deep route from non-routes.rb file" do
    http.get "/api/v2/jobs/info"
    expect_response "info"
    expect(http.response.headers["content-type"]).to match(/text\/plain/)
  end

  it "gets deep route with params from non-routes.rb file" do
    http.get "/api/v2/jobs/12/events"
    expect(http.response.headers["content-type"]).to match(/application\/json/)
    expect(http.content).to eq([{ "job_id" => "12", "id" => "event1" }, { "job_id" => "12", "id" => "event2" }])
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
simple-httpd-0.4.3 spec/simple/httpd/dynamic_mounting_spec.rb
simple-httpd-0.4.2 spec/simple/httpd/dynamic_mounting_spec.rb
simple-httpd-0.4.1 spec/simple/httpd/dynamic_mounting_spec.rb
simple-httpd-0.4.0 spec/simple/httpd/dynamic_mounting_spec.rb