Merge pull request #929 from opf/fix/members_pagination_3217

pull/936/head
Hagen Schink 11 years ago
commit bc28906afa
  1. 6
      app/controllers/members_controller.rb
  2. 79
      features/members/pagination.feature

@ -55,6 +55,7 @@ JS
format.html { redirect_to settings_project_path(@project, :tab => 'members') }
format.js {
@pagination_url_options = {controller: 'projects', action: 'settings', id: @project}
render(:update) {|page|
page.replace_html "tab-content-members", :partial => 'projects/settings/members'
page.insert_html :top, "tab-content-members", render_flash_messages
@ -64,6 +65,7 @@ JS
}
else
format.js {
@pagination_url_options = {controller: 'projects', action: 'settings', id: @project}
render(:update) {|page|
if params[:member]
page.insert_html :top, "tab-content-members", :partial => "members/member_errors", :locals => {:member => members.first}
@ -105,7 +107,9 @@ JS
end
respond_to do |format|
format.html { redirect_to :controller => '/projects', :action => 'settings', :tab => 'members', :id => @project }
format.js { render(:update) {|page|
format.js {
@pagination_url_options = {controller: 'projects', action: 'settings', id: @project}
render(:update) {|page|
page.replace_html "tab-content-members", :partial => 'projects/settings/members'
page << TAB_SCRIPTS
}

@ -0,0 +1,79 @@
#-- copyright
# OpenProject is a project management system.
# Copyright (C) 2012-2013 the OpenProject Foundation (OPF)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See doc/COPYRIGHT.rdoc for more details.
#++
Feature: Membership
Background:
Given I am already admin
Given there is a role "Manager"
And there is a role "Developer"
And there is 1 project with the following:
| Identifier | project1 |
And there is 1 User with:
| Login | peter |
| Firstname | Peter |
| Lastname | Pan |
And there is 1 user with the following:
| login | bob |
| firstname | Bob |
| Lastname | Bobbit |
And there is 1 user with the following:
| login | alice |
| firstname | Alice |
| Lastname | Alison |
And the user "bob" is a "Manager" in the project "project1"
And the user "alice" is a "Developer" in the project "project1"
@javascript
Scenario: Paginating after adding a member
Given we paginate after 2 items
When I go to the members tab of the settings page of the project "project1"
And I add the principal "peter" as "Manager"
When I follow "2" within ".pagination"
Then I should see "Peter Pan"
@javascript
Scenario: Paginating after removing a member
Given we paginate after 1 items
And the user "peter" is a "Manager" in the project "project1"
When I go to the members tab of the settings page of the project "project1"
And I delete the "Alice Alison" membership
Then I should see "Bob Bobbit"
When I follow "2" within ".pagination"
Then I should see "Peter Pan"
@javascript
Scenario: Paginating after updating a member
Given we paginate after 1 items
When I go to the members tab of the settings page of the project "project1"
And I click on "Edit"
And I check "Manager"
And I click "Change"
And I follow "2" within ".pagination"
Then I should see "Bob Bobbit"
Loading…
Cancel
Save