59 lines
1.8 KiB
Ruby
59 lines
1.8 KiB
Ruby
require "spec_helper"
|
|
|
|
describe CanCan::AccessDenied do
|
|
describe "with action and subject" do
|
|
before(:each) do
|
|
@exception = CanCan::AccessDenied.new(nil, :some_action, :some_subject)
|
|
end
|
|
|
|
it "should have action and subject accessors" do
|
|
@exception.action.should == :some_action
|
|
@exception.subject.should == :some_subject
|
|
end
|
|
|
|
it "should have a changable default message" do
|
|
@exception.message.should == "You are not authorized to access this page."
|
|
@exception.default_message = "Unauthorized!"
|
|
@exception.message.should == "Unauthorized!"
|
|
end
|
|
end
|
|
|
|
describe "with only a message" do
|
|
before(:each) do
|
|
@exception = CanCan::AccessDenied.new("Access denied!")
|
|
end
|
|
|
|
it "should have nil action and subject" do
|
|
@exception.action.should be_nil
|
|
@exception.subject.should be_nil
|
|
end
|
|
|
|
it "should have passed message" do
|
|
@exception.message.should == "Access denied!"
|
|
end
|
|
end
|
|
|
|
describe "i18n in the default message" do
|
|
after(:each) do
|
|
I18n.backend = nil
|
|
end
|
|
|
|
it "uses i18n for the default message" do
|
|
I18n.backend.store_translations :en, :unauthorized => {:default => "This is a different message"}
|
|
@exception = CanCan::AccessDenied.new
|
|
@exception.message.should == "This is a different message"
|
|
end
|
|
|
|
it "defaults to a nice message" do
|
|
@exception = CanCan::AccessDenied.new
|
|
@exception.message.should == "You are not authorized to access this page."
|
|
end
|
|
|
|
it "does not use translation if a message is given" do
|
|
@exception = CanCan::AccessDenied.new("Hey! You're not welcome here")
|
|
@exception.message.should == "Hey! You're not welcome here"
|
|
@exception.message.should_not == "You are not authorized to access this page."
|
|
end
|
|
end
|
|
end
|