require 'router/spec_helper' describe "Remote Basic" do with_environment with_router_spec before :all do class ::AnRemote def call; end end end after :all do remove_constants %w(AnRemote) end def call_router path, params rad.conveyors.web.call path: path, params: Rad::Params.new(params) end it "basic" do workspace = call_router '/an_remote/call', format: 'json' expected_result = { path: "/an_remote/call", params: {format: 'json'}, class_variable: AnRemote, method_variable: :call } workspace.to_h(true).subset(expected_result.keys).should == expected_result end it "params must be casted to string" do workspace = call_router '/an_remote/call', a: 'b' workspace.params.to_h.subset(:a).should == {a: 'b'} end it "default router should raise error if route is invalid" do lambda{call_router '/invalid/call', format: 'json'}.should raise_error(/uninitialized constant Invalid/) end end