Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/member.rb9
-rw-r--r--features/groups.feature8
-rw-r--r--features/steps/groups.rb18
3 files changed, 31 insertions, 4 deletions
diff --git a/app/models/member.rb b/app/models/member.rb
index cae8caa23fb..bc7e70178e1 100644
--- a/app/models/member.rb
+++ b/app/models/member.rb
@@ -81,11 +81,12 @@ class Member < ActiveRecord::Base
member = members.build
member.invite_email = user
end
+ if !current_user || current_user.can?(:update_group_member, member)
+ member.created_by ||= current_user
+ member.access_level = access_level
- member.created_by ||= current_user
- member.access_level = access_level
-
- member.save
+ member.save
+ end
end
end
diff --git a/features/groups.feature b/features/groups.feature
index db37fa3b375..7777c0298a4 100644
--- a/features/groups.feature
+++ b/features/groups.feature
@@ -60,6 +60,14 @@ Feature: Groups
Then I should see "Mike" in team list as "Reporter"
@javascript
+ Scenario: Ignore add user to group when is already Owner
+ Given gitlab user "Mike"
+ When I visit group "Owned" members page
+ And I click link "Add members"
+ When I select "Mike" as "Reporter"
+ Then I should see "Mike" in team list as "Owner"
+
+ @javascript
Scenario: Invite user to group
When I visit group "Owned" members page
And I click link "Add members"
diff --git a/features/steps/groups.rb b/features/steps/groups.rb
index 69ddfa42c06..5fd4dea5cd6 100644
--- a/features/steps/groups.rb
+++ b/features/steps/groups.rb
@@ -48,6 +48,17 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
click_button "Add users to group"
end
+ step 'I select "Mike" as "Master"' do
+ user = User.find_by(name: "Mike")
+
+ page.within ".users-group-form" do
+ select2(user.id, from: "#user_ids", multiple: true)
+ select "Master", from: "access_level"
+ end
+
+ click_button "Add users to group"
+ end
+
step 'I should see "Mike" in team list as "Reporter"' do
page.within '.well-list' do
expect(page).to have_content('Mike')
@@ -55,6 +66,13 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
end
end
+ step 'I should see "Mike" in team list as "Owner"' do
+ page.within '.well-list' do
+ expect(page).to have_content('Mike')
+ expect(page).to have_content('Owner')
+ end
+ end
+
step 'I select "sjobs@apple.com" as "Reporter"' do
page.within ".users-group-form" do
select2("sjobs@apple.com", from: "#user_ids", multiple: true)