Sha256: 79395d836e948cddedcf34acec2b162b72daff21ece20d65d52d39b21b820b51

Contents?: true

Size: 1.03 KB

Versions: 42

Compression:

Stored size: 1.03 KB

Contents

require 'test_helper'

class Edgarj::ModelPermissionTest < ActiveSupport::TestCase
  test 'permitted?' do
    f     = Edgarj::ModelPermission::FlagsBitset
    TESTS = [
      # test pattern is as follows:
      #
      #expect fixture                 requested_flag(s)
      #------ -------                 -----------------
      [true,  :book_reader,           f::READ],             # exact match
      [false, :book_reader,           f::DELETE],           # exact not match
      [true,  :customer_read_update,  f::READ],             # flag is included
      [true,  :customer_read_update,  f::READ + f::UPDATE], # flags are included
      [false, :customer_read_update,  f::DELETE],           # flag is not included
      [false, :customer_read_update,  f::READ + f::DELETE], # some flags are not included
                                                            # partially -> FALSE
    ]

    for t in TESTS do
      assert_equal(
          t[0],
          !!edgarj_model_permissions(t[1]).permitted?(t[2]),
          t.inspect)
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
edgarj-4.06.10 test/models/edgarj/model_permission_test.rb
edgarj-4.06.09 test/models/edgarj/model_permission_test.rb
edgarj-4.06.07 test/models/edgarj/model_permission_test.rb
edgarj-4.06.05 test/models/edgarj/model_permission_test.rb
edgarj-4.06.04 test/models/edgarj/model_permission_test.rb
edgarj-4.06.03 test/models/edgarj/model_permission_test.rb
edgarj-4.06.02 test/models/edgarj/model_permission_test.rb
edgarj-4.06.01 test/models/edgarj/model_permission_test.rb
edgarj-4.06.00 test/models/edgarj/model_permission_test.rb
edgarj-4.05.04 test/models/edgarj/model_permission_test.rb
edgarj-4.05.03 test/models/edgarj/model_permission_test.rb
edgarj-4.05.02 test/models/edgarj/model_permission_test.rb
edgarj-4.05.01 test/models/edgarj/model_permission_test.rb
edgarj-4.05.00 test/models/edgarj/model_permission_test.rb
edgarj-4.04.01 test/models/edgarj/model_permission_test.rb
edgarj-4.04.00 test/models/edgarj/model_permission_test.rb
edgarj-4.03.00 test/models/edgarj/model_permission_test.rb
edgarj-4.02.00 test/models/edgarj/model_permission_test.rb
edgarj-4.01.01 test/models/edgarj/model_permission_test.rb
edgarj-4.01.00 test/models/edgarj/model_permission_test.rb