From f3369e3a004ad01176b9191e2cb494866f91b637 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 19 Jun 2014 13:20:42 +0300 Subject: [PATCH] Fix project trasnfer for admin area --- app/controllers/admin/projects_controller.rb | 8 ++------ features/admin/projects.feature | 6 ++++++ features/steps/admin/projects.rb | 26 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/app/controllers/admin/projects_controller.rb b/app/controllers/admin/projects_controller.rb index d2f8636..1c7c09d 100644 --- a/app/controllers/admin/projects_controller.rb +++ b/app/controllers/admin/projects_controller.rb @@ -23,13 +23,9 @@ class Admin::ProjectsController < Admin::ApplicationController end def transfer - result = ::Projects::TransferService.new(@project, current_user, project: params).execute(:admin) + ::Projects::TransferService.new(@project, current_user, params.dup).execute - if result - redirect_to [:admin, @project] - else - render :show - end + redirect_to [:admin, @project.reload] end protected diff --git a/features/admin/projects.feature b/features/admin/projects.feature index fb07ccd..a6c3d6b 100644 --- a/features/admin/projects.feature +++ b/features/admin/projects.feature @@ -12,3 +12,9 @@ Feature: Admin Projects When I visit admin projects page And I click on first project Then I should see project details + + Scenario: Transfer project + Given group 'Web' + And I visit admin project page + When I transfer project to group 'Web' + Then I should see project transfered diff --git a/features/steps/admin/projects.rb b/features/steps/admin/projects.rb index b410b23..992aa46 100644 --- a/features/steps/admin/projects.rb +++ b/features/steps/admin/projects.rb @@ -19,4 +19,30 @@ class AdminProjects < Spinach::FeatureSteps page.should have_content(project.name_with_namespace) page.should have_content(project.creator.name) end + + step 'I visit admin project page' do + visit admin_project_path(project) + end + + step 'I transfer project to group \'Web\'' do + find(:xpath, "//input[@id='namespace_id']").set group.id + click_button 'Transfer' + end + + step 'group \'Web\'' do + create(:group, name: 'Web') + end + + step 'I should see project transfered' do + page.should have_content 'Web / ' + project.name + page.should have_content 'Namespace: Web' + end + + def project + @project ||= Project.first + end + + def group + Group.find_by(name: 'Web') + end end -- libgit2 0.21.2