$TESTING=true require File.join(File.dirname(__FILE__), '..', 'lib', 'restful_controller') require 'merb' class Monkeys < Merb::Controller include RestfulController end class Monkey ; end describe "a test controller for the /monkeys resource" do before(:all) do @controller = Monkeys.new end it "should be a Merb::Controller" do @controller.should be_a_kind_of(Merb::Controller) end it "should respond_to RESTful methods" do %w[index show new create edit update destroy].each do |action| @controller.should respond_to(action) end end it "should not allow the protected resource methods to be called" do lambda { @controller.Resource() }.should raise_error lambda { @controller.resource_s }.should raise_error lambda { @controller.resources_s }.should raise_error lambda { @controller.resource_sym }.should raise_error lambda { @controller.resources_sym }.should raise_error lambda { @controller.resource_ivar_name }.should raise_error lambda { @controller.resources_ivar_name }.should raise_error lambda { @controller.resource_ivar_name="asdf" }.should raise_error lambda { @controller.resources_ivar_name="asdf" }.should raise_error lambda { @controller.resource }.should raise_error lambda { @controller.resources }.should raise_error lambda { @controller.resource="asdf" }.should raise_error lambda { @controller.resources="asdf" }.should raise_error lambda { @controller.resource_url }.should raise_error lambda { @controller.resources_url }.should raise_error end it "should set Resource() to the Monkey class" do @controller.send("Resource").should eql(Monkey) end it "should set singular and plural resource strings to monkey/monkeys" do @controller.send("resource_s").should eql("monkey") @controller.send("resources_s").should eql("monkeys") end it "should set singular and plural resource symbols to :monkey/:monkeys" do @controller.send("resource_sym").should eql(:monkey) @controller.send("resources_sym").should eql(:monkeys) end it "should set singular and plural resource ivar name to @monkey/@monkeys" do @controller.send("resource_ivar_name").should eql("@monkey") @controller.send("resources_ivar_name").should eql("@monkeys") end it "should check that the RESTful actions work properly" it "should check that the ivars get set" end