Sha256: f6cd0f6889ab6923180e08d6fb36aa7edeb824bc73396a202bda47b681947e06

Contents?: true

Size: 1.35 KB

Versions: 14

Compression:

Stored size: 1.35 KB

Contents

require 'rspec'
require 'cantango'
require 'fixtures/models'
require 'cantango/api/current_users'

require 'cantango/configuration/engines/store_engine_shared'

CanTango.config.users.register :user, :admin

class User
  include CanTango::Users::Masquerade
end

class Context
  include CanTango::Api::User::Ability
  include CanTango::Api::User::Scope

  include ::CurrentUsers
  extend ::CurrentUsers
end

describe CanTango::Api::User::Scope do
  subject { Context.new }

  describe 'scope_user' do
    before do
      Context.current_admin.masquerade_as Context.current_user
    end

    specify do
      subject.scope_user(:admin) do |user|
        user.should be_a CanTango::Ability::Scope
        user.ability.user.name.should == 'admin'
      end
    end

    specify do
      admin = subject.scope_user(:user)
      admin.should be_a CanTango::Ability::Scope
      admin.ability.user.name.should == 'stan'
    end
  end

  describe 'real_user' do
    before do
      Context.current_user.masquerade_as Context.current_admin
    end

    specify do
      subject.real_user(:user) do |user|
        user.should be_a CanTango::Ability::Scope
        user.ability.user.name.should == 'stan'
      end
    end

    specify do
      admin = subject.real_user(:admin)
      admin.should be_a CanTango::Ability::Scope
      admin.ability.user.name.should == 'admin'
    end
  end
end



Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
cantango-0.8.9.5 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.9.4 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.9.3 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.9.2 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.9.1 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.9 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.8.1 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.8 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.7 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.6.2 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.6.1 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.6 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.5.1 spec/cantango/api/user/scope_api_spec.rb
cantango-0.8.0 spec/cantango/api/user/scope_api_spec.rb