id_please 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
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