Sha256: 948047841ee89bb248878a468d4a724a2c810d05ee1838bbe0872a2cfcc4ba6e

Contents?: true

Size: 1.27 KB

Versions: 4

Compression:

Stored size: 1.27 KB

Contents

# encoding: utf-8
require File.join(File.dirname(__FILE__), "..", 'spec_helper.rb')

describe Warden::Proxy::Errors do
 
  before(:each) do
    @errors = Warden::Proxy::Errors.new
  end
 
  it "should report that it is empty on first creation" do
    @errors.empty?.should == true
  end
 
  it "should continue to report that it is empty even after being checked" do
    @errors.on(:foo)
    @errors.empty?.should == true
  end
  
  it "should add an error" do
    @errors.add(:login, "Login or password incorrect")
    @errors[:login].should == ["Login or password incorrect"]
  end
  
  it "should allow many errors to be added to the same field" do
    @errors.add(:login, "bad 1")
    @errors.add(:login, "bad 2")
    @errors.on(:login).should == ["bad 1", "bad 2"]
  end
  
  it "should give the full messages for an error" do
    @errors.add(:login, "login wrong")
    @errors.add(:password, "password wrong")
    ["password wrong", "login wrong"].each do |msg|
      @errors.full_messages.should include(msg)
    end
  end
  
  it "should return the error for a specific field / label" do
    @errors.add(:login, "wrong")
    @errors.on(:login).should == ["wrong"]
  end
  
  it "should return nil for a specific field if it's not been set" do
    @errors.on(:not_there).should be_nil
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
warden-0.9.4 spec/warden/errors_spec.rb
warden-0.9.3 spec/warden/errors_spec.rb
warden-0.9.2 spec/warden/errors_spec.rb
warden-0.9.1 spec/warden/errors_spec.rb