Sha256: 76fd8d6fa3f7982f8229f0c8987fe49f09bae22d096eb0ef9d8bf12994303ccd

Contents?: true

Size: 1.7 KB

Versions: 9

Compression:

Stored size: 1.7 KB

Contents

require 'helper'

class TestLockdownPermission < MiniTest::Unit::TestCase

  def setup
    @permission = Lockdown::Permission.new(:my_account)
  end

  def test_initializer_sets_correct_state
    assert_equal 'my_account', @permission.name
    assert_equal [], @permission.resources
    assert_equal false, @permission.public?
    assert_equal false, @permission.protected?
  end

  def test_setting_public
    @permission.is_public
    assert_equal true, @permission.public?
    assert_equal false, @permission.protected?
  end

  def test_setting_protected
    @permission.is_protected
    assert_equal true, @permission.protected?
    assert_equal false, @permission.public?
  end

  def test_resource
    @permission.resource(:users)

    resource = @permission.resources.first
    assert_equal resource.name, 'users'
  end

  def test_alias_controller
    @permission.controller(:users)

    controller = @permission.controllers.first
    assert_equal controller.name, 'users'
  end

  def test_resource_with_block
    @permission.resource(:users) do
      except :destroy
    end

    resource = @permission.resources.first
    assert_equal resource.exceptions, ['destroy']
  end

  def test_alias_controller_with_block
    @permission.controller(:users) do
      except :destroy
    end

    controller = @permission.controllers.first
    assert_equal controller.exceptions, ['destroy']
  end

  def test_regex_pattern
    @permission.resource(:users)

    assert_equal @permission.regex_pattern, "(\/users(\/.*)?)"
  end

  def test_regex_pattern_with_multiple_resources
    @permission.resource(:users)
    @permission.resource(:posts)

    assert_equal @permission.regex_pattern, "(\/users(\/.*)?)|(\/posts(\/.*)?)"
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
patrick-lockdown-2.0.4.1 test/lockdown/test_permission.rb
lockdown-2.0.7 test/lockdown/test_permission.rb
lockdown-2.0.6 test/lockdown/test_permission.rb
lockdown-2.0.5 test/lockdown/test_permission.rb
lockdown-2.0.4 test/lockdown/test_permission.rb
lockdown-2.0.3 test/lockdown/test_permission.rb
lockdown-2.0.2 test/lockdown/test_permission.rb
lockdown-2.0.1 test/lockdown/test_permission.rb
lockdown-2.0.0 test/lockdown/test_permission.rb