Sha256: dee2fa448f78081eef9776dabe62951f7e51e2a09bf5809f0243536d52bb0eee

Contents?: true

Size: 1.3 KB

Versions: 8

Compression:

Stored size: 1.3 KB

Contents

require 'helper'

class TestLockdownResource < MiniTest::Unit::TestCase

  def setup
    @resource = Lockdown::Resource.new(:users)
  end

  def test_initializer_sets_correct_state
    assert_equal @resource.name, 'users'
    assert_equal @resource.regex_pattern, "\/users(\/.*)?"
  end

  def test_except_sets_correct_regex_pattern
    @resource.except(:destroy)
    assert_equal @resource.regex_pattern, "\/users(?!\/(destroy))(\/.*)?"
  end

  def test_except_with_multiple_params_sets_correct_regex_pattern
    @resource.except(:index, :destroy)
    assert_equal @resource.regex_pattern, "\/users(?!\/(index|destroy))(\/.*)?"
  end

  def test_except_with_no_params_preserves_regex_pattern
    resource = Lockdown::Resource.new(:users)
    resource.except()
    assert_equal resource.regex_pattern, "\/users(\/.*)?"
  end

  def test_only_sets_correct_regex_pattern
    @resource.only(:index)
    assert_equal @resource.regex_pattern, "\/users\/(index)(\/)?"
  end

  def test_only_with_multiple_params_sets_correct_regex_pattern
    @resource.only(:show, :edit)
    assert_equal @resource.regex_pattern, "\/users\/(show|edit)(\/)?"
  end

  def test_only_with_no_params_preserves_regex_pattern
    resource = Lockdown::Resource.new(:users)
    resource.only()
    assert_equal resource.regex_pattern, "\/users(\/.*)?"
  end

end

Version data entries

8 entries across 8 versions & 2 rubygems

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