Added context specs

This commit is contained in:
Sdogruyol 2015-10-28 20:52:34 +02:00
parent ad6baba12b
commit 5376eb8bb2
5 changed files with 36 additions and 27 deletions

23
spec/context_spec.cr Normal file
View file

@ -0,0 +1,23 @@
require "./spec_helper"
describe "Context" do
it "has a default content type" do
kemal = Kemal::Handler.new
kemal.add_route "GET", "/" do |env|
"Hello"
end
request = HTTP::Request.new("GET", "/")
response = kemal.call(request)
response.headers["Content-Type"].should eq("text/plain")
end
it "sets content type" do
kemal = Kemal::Handler.new
kemal.add_route "GET", "/" do |env|
env.set_content_type "application/json"
end
request = HTTP::Request.new("GET", "/")
response = kemal.call(request)
response.headers["Content-Type"].should eq("application/json")
end
end

View file

@ -40,14 +40,4 @@ describe "Kemal::Handler" do
response = kemal.call(request)
response.body.should eq("hello world")
end
it "sets content type" do
kemal = Kemal::Handler.new
kemal.add_route "GET", "/" do |env|
env.response.content_type = "application/json"
end
request = HTTP::Request.new("GET", "/")
response = kemal.call(request)
response.headers["Content-Type"].should eq("application/json")
end
end

View file

@ -1,12 +1,11 @@
require "./spec_helper"
describe "ParamParser" do
it "parses query params" do
route = Route.new "POST", "/" do |env|
hasan = env.params["hasan"]
"Hello #{hasan}"
end
hasan = env.params["hasan"]
"Hello #{hasan}"
end
request = HTTP::Request.new("POST", "/?hasan=cemal")
params = Kemal::ParamParser.new(route, request).parse
params["hasan"].should eq "cemal"
@ -14,14 +13,13 @@ describe "ParamParser" do
it "parses request body" do
route = Route.new "POST", "/" do |env|
name = env.params["name"]
age = env.params["age"]
hasan = env.params["hasan"]
"Hello #{name} #{hasan} #{age}"
end
name = env.params["name"]
age = env.params["age"]
hasan = env.params["hasan"]
"Hello #{name} #{hasan} #{age}"
end
request = HTTP::Request.new("POST", "/?hasan=cemal", body: "name=serdar&age=99")
params = Kemal::ParamParser.new(route, request).parse
params.should eq({"hasan" => "cemal", "name" => "serdar", "age" => "99"})
end
end