From 2ee86441158076344a07f2715a148a5bdbe161b0 Mon Sep 17 00:00:00 2001 From: Jose Ivan Vargas Date: Mon, 30 Jan 2017 13:21:02 -0600 Subject: [PATCH] Fixed tests, changed dispatcher routing to the 'repository:show' Also modified the render calls to the deploy_keys and protected_branches partials --- app/assets/javascripts/dispatcher.js | 2 +- .../projects/deploy_keys_controller.rb | 22 ++++--------------- .../projects/protected_branches_controller.rb | 11 ++++------ .../projects/deploy_keys/_index.html.haml | 9 +++++--- .../_protected_branch.html.haml | 2 +- features/project/active_tab.feature | 6 ++--- features/steps/project/active_tab.rb | 10 +++++---- features/steps/project/deploy_keys.rb | 2 +- 8 files changed, 26 insertions(+), 38 deletions(-) diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js index ef5785b5532..ac6859b43a0 100644 --- a/app/assets/javascripts/dispatcher.js +++ b/app/assets/javascripts/dispatcher.js @@ -280,7 +280,7 @@ const UserCallout = require('./user_callout'); case 'search:show': new Search(); break; - case 'projects:protected_branches:index': + case 'projects:repository:show': new gl.ProtectedBranchCreate(); new gl.ProtectedBranchEditList(); break; diff --git a/app/controllers/projects/deploy_keys_controller.rb b/app/controllers/projects/deploy_keys_controller.rb index 07410afd99a..0d60e782dfb 100644 --- a/app/controllers/projects/deploy_keys_controller.rb +++ b/app/controllers/projects/deploy_keys_controller.rb @@ -16,13 +16,11 @@ class Projects::DeployKeysController < Projects::ApplicationController def create @key = DeployKey.new(deploy_key_params.merge(user: current_user)) - set_index_vars - if @key.valid? && @project.deploy_keys << @key - redirect_to namespace_project_settings_repository_path(@project.namespace, @project) - else - render "index" + unless @key.valid? && @project.deploy_keys << @key + flash[:alert] = @key.errors.full_messages.join(',').html_safe end + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) end def enable @@ -34,23 +32,11 @@ class Projects::DeployKeysController < Projects::ApplicationController def disable @project.deploy_keys_projects.find_by(deploy_key_id: params[:id]).destroy - redirect_back_or_default(default: { action: 'index' }) + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) end protected - def set_index_vars - @enabled_keys ||= @project.deploy_keys - - @available_keys ||= current_user.accessible_deploy_keys - @enabled_keys - @available_project_keys ||= current_user.project_deploy_keys - @enabled_keys - @available_public_keys ||= DeployKey.are_public - @enabled_keys - - # Public keys that are already used by another accessible project are already - # in @available_project_keys. - @available_public_keys -= @available_project_keys - end - def deploy_key_params params.require(:deploy_key).permit(:key, :title, :can_push) end diff --git a/app/controllers/projects/protected_branches_controller.rb b/app/controllers/projects/protected_branches_controller.rb index 18d25f91c96..ac886f0739a 100644 --- a/app/controllers/projects/protected_branches_controller.rb +++ b/app/controllers/projects/protected_branches_controller.rb @@ -1,9 +1,9 @@ class Projects::ProtectedBranchesController < Projects::ApplicationController + include RepositoryHelper # Authorize before_action :require_non_empty_project before_action :authorize_admin_project! before_action :load_protected_branch, only: [:show, :update, :destroy] - before_action :load_protected_branches, only: [:index] layout "project_settings" @@ -13,13 +13,10 @@ class Projects::ProtectedBranchesController < Projects::ApplicationController def create @protected_branch = ::ProtectedBranches::CreateService.new(@project, current_user, protected_branch_params).execute - if @protected_branch.persisted? - redirect_to namespace_project_settings_repository_path(@project.namespace, @project) - else - load_protected_branches - load_gon_index - render :index + unless @protected_branch.persisted? + flash[:alert] = @protected_branches.errors.full_messages.join(',').html_safe end + redirect_to namespace_project_settings_repository_path(@project.namespace, @project) end def show diff --git a/app/views/projects/deploy_keys/_index.html.haml b/app/views/projects/deploy_keys/_index.html.haml index 57de5be89cc..c41fb892862 100644 --- a/app/views/projects/deploy_keys/_index.html.haml +++ b/app/views/projects/deploy_keys/_index.html.haml @@ -15,7 +15,8 @@ Enabled deploy keys for this project (#{@enabled_keys.size}) - if @enabled_keys.any? %ul.well-list - = render @enabled_keys + - @enabled_keys.each do |enabled_key| + = render partial: 'projects/deploy_keys/deploy_key', locals: {deploy_key: enabled_key} - else .settings-message.text-center No deploy keys found. Create one with the form above or add existing one below. @@ -23,7 +24,8 @@ Deploy keys from projects you have access to (#{@available_project_keys.size}) - if @available_project_keys.any? %ul.well-list - = render @available_project_keys + - @available_project_keys.each do |available_key| + = render partial: 'projects/deploy_keys/deploy_key', locals: {deploy_key: available_key} - else .settings-message.text-center No deploy keys from your projects could be found. Create one with the form above or add existing one below. @@ -31,4 +33,5 @@ %h5.prepend-top-default Public deploy keys available to any project (#{@available_public_keys.size}) %ul.well-list - = render @available_public_keys + - @available_public_keys.each do |available_key| + = render partial: 'projects/deploy_keys/deploy_key', locals: {deploy_key: available_key} diff --git a/app/views/projects/protected_branches/_protected_branch.html.haml b/app/views/projects/protected_branches/_protected_branch.html.haml index 0193800dedf..b2a6b8469a3 100644 --- a/app/views/projects/protected_branches/_protected_branch.html.haml +++ b/app/views/projects/protected_branches/_protected_branch.html.haml @@ -14,7 +14,7 @@ - else (branch was removed from repository) - = render partial: 'update_protected_branch', locals: { protected_branch: protected_branch } + = render partial: 'projects/protected_branches/update_protected_branch', locals: { protected_branch: protected_branch } - if can_admin_project %td diff --git a/features/project/active_tab.feature b/features/project/active_tab.feature index 1dd2bdd9b36..4bdaa6266c3 100644 --- a/features/project/active_tab.feature +++ b/features/project/active_tab.feature @@ -46,10 +46,10 @@ Feature: Project Active Tab And no other sub navs should be active And the active main tab should be Settings - Scenario: On Project Settings/Deploy Keys + Scenario: On Project Settings/Repository Given I visit my project's settings page - And I click the "Deploy Keys" tab - Then the active sub nav should be Deploy Keys + And I click the "Repository" tab + Then the active sub nav should be Repository And no other sub navs should be active And the active main tab should be Settings diff --git a/features/steps/project/active_tab.rb b/features/steps/project/active_tab.rb index e842d7bec2b..218d5c6164b 100644 --- a/features/steps/project/active_tab.rb +++ b/features/steps/project/active_tab.rb @@ -31,8 +31,10 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps click_link('Integrations') end - step 'I click the "Deploy Keys" tab' do - click_link('Deploy Keys') + step 'I click the "Repository" tab' do + page.within '.layout-nav .controls' do + click_link('Repository') + end end step 'I click the "Pages" tab' do @@ -47,8 +49,8 @@ class Spinach::Features::ProjectActiveTab < Spinach::FeatureSteps ensure_active_sub_nav('Integrations') end - step 'the active sub nav should be Deploy Keys' do - ensure_active_sub_nav('Deploy Keys') + step 'the active sub nav should be Repository' do + ensure_active_sub_nav('Repository') end step 'the active sub nav should be Pages' do diff --git a/features/steps/project/deploy_keys.rb b/features/steps/project/deploy_keys.rb index edf78f62f9a..580a19494c2 100644 --- a/features/steps/project/deploy_keys.rb +++ b/features/steps/project/deploy_keys.rb @@ -36,7 +36,7 @@ class Spinach::Features::ProjectDeployKeys < Spinach::FeatureSteps end step 'I should be on deploy keys page' do - expect(current_path).to eq namespace_project_deploy_keys_path(@project.namespace, @project) + expect(current_path).to eq namespace_project_settings_repository_path(@project.namespace, @project) end step 'I should see newly created deploy key' do