id_please 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/id_please.gemspec +5 -3
- data/lib/id_please/assignment_map.rb +40 -12
- data/lib/id_please/model_extensions/for_subject.rb +31 -20
- data/test/assignment_test.rb +38 -0
- data/test/debug.log +222903 -0
- data/test/roles_test.rb +19 -9
- metadata +4 -2
data/test/roles_test.rb
CHANGED
@@ -219,6 +219,7 @@ class RolesTest < ActiveSupport::TestCase
|
|
219
219
|
@user1 = User.create!(:name => "User1")
|
220
220
|
@user2 = User.create!(:name => "User2")
|
221
221
|
@user3 = User.create!(:name => "User3")
|
222
|
+
@user4 = User.create!(:name => "User4")
|
222
223
|
@group1 = Group.create!(:name => "Group1")
|
223
224
|
@group2 = Group.create!(:name => "Group2")
|
224
225
|
@group3 = Group.create!(:name => "Group3")
|
@@ -236,7 +237,6 @@ class RolesTest < ActiveSupport::TestCase
|
|
236
237
|
@user1.in_group!(@group2)
|
237
238
|
|
238
239
|
assert_same_elements @user1.groups, [@group1, @group2]
|
239
|
-
assert_same_elements_in_hash @user1.groups(:result => :hash), {@group1 => [@user1], @group2 => [@user1]}
|
240
240
|
assert_same_elements @group1.children, [@user1, @user2]
|
241
241
|
assert_equal @group2.children, [@user1]
|
242
242
|
|
@@ -257,6 +257,9 @@ class RolesTest < ActiveSupport::TestCase
|
|
257
257
|
|
258
258
|
@user3.has_role!(:owner, @group4)
|
259
259
|
|
260
|
+
@user4.has_role!(:owner, @group2)
|
261
|
+
|
262
|
+
|
260
263
|
end
|
261
264
|
|
262
265
|
should "avoid circularity" do
|
@@ -277,15 +280,22 @@ class RolesTest < ActiveSupport::TestCase
|
|
277
280
|
end
|
278
281
|
|
279
282
|
should "handle nested groups" do
|
283
|
+
|
280
284
|
assert_same_elements @user1.groups(:nested => false), [@group1, @group3, @group4]
|
285
|
+
|
281
286
|
assert_same_elements @user1.groups, [@group1, @group2, @group3, @group4]
|
282
|
-
|
287
|
+
|
288
|
+
assert_same_elements_in_hash @user1.groups_with_assignments[:member], {@group1 => [@user1], @group2 => [@group1], @group3 => [@user1], @group4 => [@user1, @group2]}
|
289
|
+
|
290
|
+
assert_same_elements_in_hash @user4.groups_with_assignments[:owner], {@group2 => [@user4]}
|
291
|
+
|
292
|
+
|
283
293
|
|
284
294
|
assert_same_elements @user2.groups, [@group2, @group4]
|
285
295
|
|
286
|
-
assert_same_elements @group4.children, [@group2, @group1, @user1, @user2, @user3]
|
287
|
-
assert_same_elements @group2.children, [@group1, @user1, @user2]
|
288
|
-
assert_same_elements @group2.children(:nested => false), [@group1, @user2]
|
296
|
+
assert_same_elements @group4.children, [@group2, @group1, @user1, @user2, @user3, @user4]
|
297
|
+
assert_same_elements @group2.children, [@group1, @user1, @user2, @user4]
|
298
|
+
assert_same_elements @group2.children(:nested => false), [@group1, @user2, @user4]
|
289
299
|
|
290
300
|
assert @group4.accepts_role?(:member, @user1)
|
291
301
|
assert @group2.accepts_role?(:member, @user1)
|
@@ -296,7 +306,7 @@ class RolesTest < ActiveSupport::TestCase
|
|
296
306
|
end
|
297
307
|
|
298
308
|
should "be able to display hashes of subject permissions" do
|
299
|
-
assert_equal @group4.children(:view => :subject_hash), {@group2 => [:member], @group1 => [:member], @user1 => [:member], @user2 => [:member], @user3 => [:owner]}
|
309
|
+
assert_equal @group4.children(:view => :subject_hash), {@group2 => [:member], @group1 => [:member], @user1 => [:member], @user2 => [:member], @user3 => [:owner], @user4 => [:owner]}
|
300
310
|
end
|
301
311
|
|
302
312
|
should "display a list of roles, or a hash of roles to users" do
|
@@ -304,12 +314,12 @@ class RolesTest < ActiveSupport::TestCase
|
|
304
314
|
|
305
315
|
role_hash = @group4.children(:view => :role_hash)
|
306
316
|
assert_same_elements role_hash[:member], [@group1, @group2, @user1, @user2]
|
307
|
-
assert_same_elements role_hash[:owner], [@user3]
|
317
|
+
assert_same_elements role_hash[:owner], [@user3, @user4]
|
308
318
|
end
|
309
319
|
|
310
320
|
should "display a hash of roles to users with the relevant groups attached" do
|
311
321
|
role_with_assignments = @group4.children(:view => :role_with_assignments)
|
312
|
-
assert_equal role_with_assignments[:owner], {@user3 => [@group4]}
|
322
|
+
assert_equal role_with_assignments[:owner], {@user3 => [@group4], @user4 => [@group2]}
|
313
323
|
assert_same_elements role_with_assignments[:member].keys, [@user1, @user2, @group1, @group2]
|
314
324
|
assert_same_elements_in_hash role_with_assignments[:member], {@group2 => [@group4], @group1 => [@group2], @user1 => [@group1, @group4], @user2 => [@group2]}
|
315
325
|
|
@@ -328,7 +338,7 @@ class RolesTest < ActiveSupport::TestCase
|
|
328
338
|
assert_false @user1.has_role?(:owner, @foo, :check_groups => false)
|
329
339
|
|
330
340
|
|
331
|
-
assert_same_elements @foo.list_owners, [@group2, @group1, @user1, @user2]
|
341
|
+
assert_same_elements @foo.list_owners, [@group2, @group1, @user1, @user2, @user4]
|
332
342
|
assert_same_elements @foo.list_owners(:check_groups => false), [@group2]
|
333
343
|
|
334
344
|
assert @foo.accepts_role?(:owner, @user1)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: id_please
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Stuart
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-03-
|
12
|
+
date: 2010-03-16 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -80,6 +80,7 @@ files:
|
|
80
80
|
- lib/id_please/model_extensions/for_role.rb
|
81
81
|
- lib/id_please/model_extensions/for_subject.rb
|
82
82
|
- lib/id_please/model_extensions/for_user.rb
|
83
|
+
- test/assignment_test.rb
|
83
84
|
- test/database.yml
|
84
85
|
- test/debug.log
|
85
86
|
- test/id_please_test.rb
|
@@ -116,6 +117,7 @@ signing_key:
|
|
116
117
|
specification_version: 3
|
117
118
|
summary: Access control gem for rails
|
118
119
|
test_files:
|
120
|
+
- test/assignment_test.rb
|
119
121
|
- test/id_please_test.rb
|
120
122
|
- test/roles_test.rb
|
121
123
|
- test/support/models.rb
|