Commit d0cd60465334f7bb141ae5a54b398477484e71dd

Authored by alcampelo
Committed by Gust
1 parent 2915c278

Addded cucumber test

-Added tests for ban user
-Added also tests for activate/deactivate users
-Added also tests for set admin role

(ActionItem3021)

Signed-off-by: Alex Campelo <campelo.al1@gmail.com>
Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
app/controllers/admin/users_controller.rb
... ... @@ -42,17 +42,19 @@ class UsersController &lt; AdminController
42 42 def deactivate
43 43 person = environment.people.find(params[:id])
44 44 person.user.deactivate
45   - puts "++"*80, person
46   - puts "++"*80, person.user
47   - puts "++"*80, person.user.activated?
48 45 redirect_to :action => :index, :q => params[:q], :filter => params[:filter]
49 46 end
50 47  
51   -
  48 +
52 49 def destroy_user
53   - person = environment.people.find(params[:id])
54   - person.destroy
55   - session[:notice] = _('The profile was deleted.')
  50 + if request.post?
  51 + person = environment.people.find(params[:id])
  52 + if person.destroy
  53 + session[:notice] = _('The profile was deleted.')
  54 + else
  55 + session[:notice] = _('Could not delete profile')
  56 + end
  57 + end
56 58 redirect_to :action => :index, :q => params[:q], :filter => params[:filter]
57 59 end
58 60  
... ... @@ -98,7 +100,7 @@ class UsersController &lt; AdminController
98 100 end
99 101 end
100 102  
101   - private
  103 + private
102 104  
103 105 def per_page
104 106 10
... ...
app/views/users/_users_list.rhtml
... ... @@ -19,18 +19,16 @@
19 19 <td class='actions'>
20 20 <div class="members-buttons-cell">
21 21 <% if p.is_admin? %>
22   - <%= button_without_text :'reset-admin-role', _('Reset admin role'), {:action => 'reset_admin_role', :id => p, :q => @q}, :filter => @filter, :confirm => "delete_article_message(@article)" %>
  22 + <%= button_without_text :'reset-admin-role', _('Reset admin role'), {:action => 'reset_admin_role', :id => p, :q => @q}, :filter => @filter, :confirm => _("Do you want to reset this user as administrator?") %>
23 23 <% else %>
24   - <%= button_without_text :'set-admin-role', _('Set admin role'), {:action => 'set_admin_role', :id => p, :q => @q}, :filter => @filter, :confirm => "delete_article_message(@article)" %>
  24 + <%= button_without_text :'set-admin-role', _('Set admin role'), {:action => 'set_admin_role', :id => p, :q => @q}, :filter => @filter, :confirm => _("Do you want to set this user as administrator?") %>
25 25 <% end %>
26 26 <% if !p.user.activated? %>
27   - <%= button_without_text :'activate-user', _('Activate user'), {:action => 'activate', :id => p, :q => @q}, :filter => @filter, :confirm => "delete_article_message(@article)" %>
  27 + <%= button_without_text :'activate-user', _('Activate user'), {:action => 'activate', :id => p, :q => @q}, :filter => @filter, :confirm => _("Do you want to activate this user?") %>
28 28 <% else %>
29   - <%= button_without_text :'deactivate-user', _('Deactivate user'), {:action => 'deactivate', :id => p, :q => @q}, :filter => @filter, :confirm => "delete_article_message(@article)" %>
  29 + <%= button_without_text :'deactivate-user', _('Deactivate user'), {:action => 'deactivate', :id => p, :q => @q}, :filter => @filter, :confirm => _("Do you want to deactivate this user?") %>
30 30 <% end %>
31   -
32   - <%= button_without_text :'delete', _('Ban'), {:action => :destroy_user, :id => p, :q => @q}, :filter => @filter, :confirm => "delete_article_message(@article)" %>
33   -
  31 + <%= button_without_text :'delete', _('Remove'), {:action => :destroy_user, :id => p, :q => @q}, :method => :post, :filter => @filter, :confirm => _("Do you want to remove this user?") %>
34 32 </div>
35 33 </td>
36 34 </tr>
... ...
features/manage_users.feature 0 → 100644
... ... @@ -0,0 +1,47 @@
  1 +Feature: manage users
  2 + As an environment administrator
  3 + I want to manage users
  4 + In order to remove, activate, deactivate users, and set admin roles.
  5 +
  6 +Background:
  7 + Given the following users
  8 + | login | name |
  9 + | joaosilva | Joao Silva |
  10 + | paulosantos | Paulo Santos |
  11 + Given I am logged in as admin
  12 + Given I go to /admin/users
  13 +
  14 + @selenium
  15 + Scenario: deactive user
  16 + When I follow "Deactivate user" within "tr[title='Joao Silva']"
  17 + And I confirm the "Do you want to deactivate this user?" dialog
  18 + Then I should see "Activate user" within "tr[title='Joao Silva']"
  19 +
  20 + @selenium
  21 + Scenario: activate user
  22 + Given I follow "Deactivate user" within "tr[title='Paulo Santos']"
  23 + Given I confirm the "Do you want to deactivate this user?" dialog
  24 + When I follow "Activate user" within "tr[title='Paulo Santos']"
  25 + And I confirm the "Do you want to activate this user?" dialog
  26 + Then I should see "Deactivate user" within "tr[title='Paulo Santos']"
  27 +
  28 + @selenium
  29 + Scenario: ban user
  30 + When I follow "Remove" within "tr[title='Joao Silva']"
  31 + And I confirm the "Do you want to remove this user?" dialog
  32 + And I go to /admin/users
  33 + Then I should not see "Joao Silva"
  34 +
  35 + @selenium
  36 + Scenario: admin user
  37 + When I follow "Set admin role" within "tr[title='Joao Silva']"
  38 + And I confirm the "Do you want to set this user as administrator?" dialog
  39 + Then I should see "Reset admin role" within "tr[title='Joao Silva']"
  40 +
  41 + @selenium
  42 + Scenario: unadmin user
  43 + Given I follow "Set admin role" within "tr[title='Paulo Santos']"
  44 + And I confirm the "Do you want to set this user as administrator?" dialog
  45 + When I follow "Reset admin role" within "tr[title='Paulo Santos']"
  46 + And I confirm the "Do you want to reset this user as administrator?" dialog
  47 + Then I should see "Set admin role" within "tr[title='Paulo Santos']"
0 48 \ No newline at end of file
... ...
public/stylesheets/application.css
... ... @@ -4198,7 +4198,7 @@ h1#agenda-title {
4198 4198 }
4199 4199  
4200 4200 .actions .members-buttons-cell {
4201   -width : 100px
  4201 + width : 100px
4202 4202 }
4203 4203  
4204 4204 .controller-profile_members .msie6 .button-bar a {
... ...