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 | 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 | ... | ... |