Commit f7096d226758de082e5ceb460f622a7c890929f3
Exists in
master
and in
28 other branches
Merge commit 'refs/merge-requests/20' of git://gitorious.org/noosfero/noosfero i…
…nto merge-requests/20
Showing
2 changed files
with
17 additions
and
2 deletions
Show diff stats
app/models/environment.rb
| ... | ... | @@ -74,6 +74,10 @@ class Environment < ActiveRecord::Base |
| 74 | 74 | self.affiliate(user, Environment::Roles.admin(self.id)) |
| 75 | 75 | end |
| 76 | 76 | |
| 77 | + def remove_admin(user) | |
| 78 | + self.disaffiliate(user, Environment::Roles.admin(self.id)) | |
| 79 | + end | |
| 80 | + | |
| 77 | 81 | def admins |
| 78 | 82 | Person.members_of(self).all(:conditions => ['role_assignments.role_id = ?', Environment::Roles.admin(self).id]) |
| 79 | 83 | end | ... | ... |
test/unit/environment_test.rb
| ... | ... | @@ -372,8 +372,7 @@ class EnvironmentTest < Test::Unit::TestCase |
| 372 | 372 | end |
| 373 | 373 | |
| 374 | 374 | should 'be able to add admins easily' do |
| 375 | - Environment.any_instance.stubs(:create_templates) # avoid creating templates, it's expensive | |
| 376 | - env = Environment.create!(:name => 'bli') | |
| 375 | + env = Environment.default | |
| 377 | 376 | user = create_user('testuser').person |
| 378 | 377 | env.add_admin(user) |
| 379 | 378 | env.reload |
| ... | ... | @@ -381,6 +380,18 @@ class EnvironmentTest < Test::Unit::TestCase |
| 381 | 380 | assert_includes env.admins, user |
| 382 | 381 | end |
| 383 | 382 | |
| 383 | + should 'be able to remove admins easily' do | |
| 384 | + env = Environment.default | |
| 385 | + user = create_user('testuser').person | |
| 386 | + env.affiliate(user, Environment::Roles.admin(env.id)) | |
| 387 | + env.reload | |
| 388 | + assert_includes env.admins, user | |
| 389 | + | |
| 390 | + env.remove_admin(user) | |
| 391 | + assert_not_includes env.admins, user | |
| 392 | + end | |
| 393 | + | |
| 394 | + | |
| 384 | 395 | should 'have products through enterprises' do |
| 385 | 396 | product_category = fast_create(ProductCategory, :name => 'Products', :environment_id => Environment.default.id) |
| 386 | 397 | env = Environment.default | ... | ... |