Commit a0fd2eb5 authored by Maran's avatar Maran

Don't show duplicate deploy keys. Fixes #1516

parent 6c32abc5
Please view this file on the master branch, on stable branches it's out of date.
v 7.11.0 (unreleased)
- Don't show duplicate deploy keys
- Make the first branch pushed to an empty repository the default HEAD (Stan Hu)
- Make Reply-To config apply to change e-mail confirmation and other Devise notifications (Stan Hu)
- Add application setting to restrict user signups to e-mail domains (Stan Hu)
......
......@@ -438,7 +438,7 @@ class User < ActiveRecord::Base
end
def project_deploy_keys
DeployKey.in_projects(self.authorized_projects.pluck(:id))
DeployKey.unscoped.in_projects(self.authorized_projects.pluck(:id)).distinct(:id)
end
def accessible_deploy_keys
......
......@@ -9,9 +9,10 @@ Feature: Project Deploy Keys
Then I should see project deploy key
Scenario: I should see project deploy keys
Given other project has deploy key
Given other projects have deploy keys
When I visit project deploy keys page
Then I should see other project deploy key
Then I should see other project deploy key
And I should only see the same deploy key once
Scenario: I should see public deploy keys
Given public deploy key exists
......@@ -26,7 +27,7 @@ Feature: Project Deploy Keys
And I should see newly created deploy key
Scenario: I attach other project deploy key to project
Given other project has deploy key
Given other projects have deploy keys
And I visit project deploy keys page
When I click attach deploy key
Then I should be on deploy keys page
......
......@@ -45,10 +45,20 @@ class Spinach::Features::ProjectDeployKeys < Spinach::FeatureSteps
end
end
step 'other project has deploy key' do
@second_project = create :project, namespace: create(:group)
step 'other projects have deploy keys' do
@second_project = create(:project, namespace: create(:group))
@second_project.team << [current_user, :master]
create(:deploy_keys_project, project: @second_project)
@third_project = create(:project, namespace: create(:group))
@third_project.team << [current_user, :master]
create(:deploy_keys_project, project: @third_project, deploy_key: @second_project.deploy_keys.first)
end
step 'I should only see the same deploy key once' do
within '.available-keys' do
page.should have_selector('ul li', count: 1)
end
end
step 'public deploy key exists' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment