Sha256: d78f23bccb7ef0acb6e351bee34ef172d1a558eebe97169156bc7c4c52735042

Contents?: true

Size: 1.65 KB

Versions: 31

Compression:

Stored size: 1.65 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
require "active_fedora"

describe User do
  
  describe "superuser" do
    before(:each) do
      @user = User.create(:email=> "testuser@example.com", :password=> "password", :password_confirmation => "password")
    end
    it "should know if a user can be a superuser" do
      superuser = Superuser.create(:id => 20, :user_id => @user.id)
      @user.extend(Hydra::SuperuserAttributes)
      @user.can_be_superuser?.should be_true
    end

    it "should know if a user shouldn't be a superuser" do
      @user.extend(Hydra::SuperuserAttributes)
      @user.can_be_superuser?.should be_false
    end

    it "should know if the user is being a superuser" do
      superuser = Superuser.create(:id => 50, :user_id => @user.id)
      @user.extend(Hydra::SuperuserAttributes)
      session = { :superuser_mode => true }
      @user.is_being_superuser?(session).should be_true
    end

    it "should not let a non-superuser be a superuser" do
      @user.extend(Hydra::SuperuserAttributes)
      session = {}
      @user.is_being_superuser?(session).should be_false
    end

    it "should know if the user is not being a superuser even if the user can be a superuser" do
      superuser = Superuser.create(:id => 60, :user_id => @user.id)
      @user.extend(Hydra::SuperuserAttributes)
      @user.can_be_superuser?.should be_true
      session = {}
      @user.is_being_superuser?(session).should be_false
    end
  end
end

module UserTestAttributes
  ['first_name','last_name','full_name','affiliation','photo'].each do |attr|
    class_eval <<-EOM
      def #{attr}
        "test_#{attr}"
      end
    EOM
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
hydra-head-4.0.0.rc4 test_support/spec/models/user_spec.rb
hydra-head-4.0.0.rc3 test_support/spec/models/user_spec.rb
hydra-head-4.0.0.rc2 test_support/spec/models/user_spec.rb
hydra-head-3.3.0 test_support/spec/models/user_spec.rb
hydra-head-3.2.2 test_support/spec/models/user_spec.rb
hydra-head-3.2.1 test_support/spec/models/user_spec.rb
hydra-head-3.2.0 test_support/spec/models/user_spec.rb
hydra-head-3.2.0.pre3 test_support/spec/models/user_spec.rb
hydra-head-3.2.0.pre2 test_support/spec/models/user_spec.rb
hydra-head-3.2.0.pre1 test_support/spec/models/user_spec.rb
hydra-head-3.1.5 test_support/spec/models/user_spec.rb
hydra-head-3.1.4 test_support/spec/models/user_spec.rb
hydra-head-3.1.3 test_support/spec/models/user_spec.rb
hydra-head-3.1.2 test_support/spec/models/user_spec.rb
hydra-head-3.1.1 test_support/spec/models/user_spec.rb
hydra-head-3.1.0 test_support/spec/models/user_spec.rb
hydra-head-3.1.0.rc2 test_support/spec/models/user_spec.rb
hydra-head-3.1.0.rc1 test_support/spec/models/user_spec.rb
hydra-head-3.1.0.pre5 test_support/spec/models/user_spec.rb
hydra-head-3.1.0.pre4 test_support/spec/models/user_spec.rb