Commit f7096d226758de082e5ceb460f622a7c890929f3
Exists in
master
and in
29 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,6 +74,10 @@ class Environment < ActiveRecord::Base | ||
74 | self.affiliate(user, Environment::Roles.admin(self.id)) | 74 | self.affiliate(user, Environment::Roles.admin(self.id)) |
75 | end | 75 | end |
76 | 76 | ||
77 | + def remove_admin(user) | ||
78 | + self.disaffiliate(user, Environment::Roles.admin(self.id)) | ||
79 | + end | ||
80 | + | ||
77 | def admins | 81 | def admins |
78 | Person.members_of(self).all(:conditions => ['role_assignments.role_id = ?', Environment::Roles.admin(self).id]) | 82 | Person.members_of(self).all(:conditions => ['role_assignments.role_id = ?', Environment::Roles.admin(self).id]) |
79 | end | 83 | end |
test/unit/environment_test.rb
@@ -372,8 +372,7 @@ class EnvironmentTest < Test::Unit::TestCase | @@ -372,8 +372,7 @@ class EnvironmentTest < Test::Unit::TestCase | ||
372 | end | 372 | end |
373 | 373 | ||
374 | should 'be able to add admins easily' do | 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 | user = create_user('testuser').person | 376 | user = create_user('testuser').person |
378 | env.add_admin(user) | 377 | env.add_admin(user) |
379 | env.reload | 378 | env.reload |
@@ -381,6 +380,18 @@ class EnvironmentTest < Test::Unit::TestCase | @@ -381,6 +380,18 @@ class EnvironmentTest < Test::Unit::TestCase | ||
381 | assert_includes env.admins, user | 380 | assert_includes env.admins, user |
382 | end | 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 | should 'have products through enterprises' do | 395 | should 'have products through enterprises' do |
385 | product_category = fast_create(ProductCategory, :name => 'Products', :environment_id => Environment.default.id) | 396 | product_category = fast_create(ProductCategory, :name => 'Products', :environment_id => Environment.default.id) |
386 | env = Environment.default | 397 | env = Environment.default |