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/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
- assert_same_elements_in_hash @user1.groups(:result => :hash), {@group1 => [@user1], @group2 => [@group1], @group3 => [@user1], @group4 => [@user1, @group2]}
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.7.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-01 00:00:00 -05:00
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