Toppatea/spec/http_router_spec.rb

42 lines
No EOL
1.5 KiB
Ruby

require_relative 'spec_helper'
require_relative '../lib/route'
describe 'Route' do
describe 'Simple get-route' do
it 'matches a simple route' do
@route = Route.new()
@route.add_route({"/examples" => "puts grillkorv"})
request_string = File.read('spec/example_requests/get-examples.request.txt')
request = Request.new(request_string)
_(@route.match_route(request)).must_equal "puts grillkorv"
end
it 'matches a double route' do
@route = Route.new()
@route.add_route({"/examples/banan" => "does a backflip"})
request_string = File.read('spec/example_requests/get-subexamples.request.txt')
request = Request.new(request_string)
_(@route.match_route(request)).must_equal "does a backflip"
end
it 'matches a variable route' do
@route = Route.new()
@route.add_route({"/examples/:id" => "puts id"})
request_string = File.read('spec/example_requests/get-subexamples.request.txt')
request = Request.new(request_string)
_(@route.match_route(request)).must_equal "puts id"
end
it 'does not match' do
@route = Route.new()
@route.add_route({"/grillkorv" => "puts grillkorv"})
request_string = File.read('spec/example_requests/get-examples.request.txt')
request = Request.new(request_string)
_(@route.match_route(request)).must_equal 404
end
end
end