From 802f2086d618796c93696743c40a00b1094f97cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chai=CC=88b=20Martinez?= Date: Fri, 28 Dec 2018 18:24:39 +0100 Subject: [PATCH] =?UTF-8?q?Redirect=20admins=20with=20no=20d=C3=A9marches?= =?UTF-8?q?=20to=20the=20new=20demarche=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admin/procedures_controller.rb | 14 +++++++++----- .../admin/procedures_controller_spec.rb | 4 ++++ spec/features/admin/connection_spec.rb | 1 + spec/features/admin/procedure_cloning_spec.rb | 3 +-- spec/features/admin/procedure_creation_spec.rb | 1 + 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/controllers/admin/procedures_controller.rb b/app/controllers/admin/procedures_controller.rb index 79fe2d235..e1d2e7e3f 100644 --- a/app/controllers/admin/procedures_controller.rb +++ b/app/controllers/admin/procedures_controller.rb @@ -5,12 +5,16 @@ class Admin::ProceduresController < AdminController before_action :retrieve_procedure, only: [:show, :edit, :delete_logo, :delete_deliberation, :delete_notice] def index - @procedures = smart_listing_create :procedures, - current_administrateur.procedures.publiees.order(published_at: :desc), - partial: "admin/procedures/list", - array: true + if current_administrateur.procedures.count != 0 + @procedures = smart_listing_create :procedures, + current_administrateur.procedures.publiees.order(published_at: :desc), + partial: "admin/procedures/list", + array: true - active_class + active_class + else + redirect_to new_from_existing_admin_procedures_path + end end def archived diff --git a/spec/controllers/admin/procedures_controller_spec.rb b/spec/controllers/admin/procedures_controller_spec.rb index 4cdbad152..d6d7b5ffe 100644 --- a/spec/controllers/admin/procedures_controller_spec.rb +++ b/spec/controllers/admin/procedures_controller_spec.rb @@ -39,6 +39,10 @@ describe Admin::ProceduresController, type: :controller do end describe 'GET #index with sorting and pagination' do + before do + admin.procedures << create(:procedure) + end + subject { get :index, params: { 'procedures_smart_listing[page]': 1, diff --git a/spec/features/admin/connection_spec.rb b/spec/features/admin/connection_spec.rb index 1647e5bb7..5540e17fd 100644 --- a/spec/features/admin/connection_spec.rb +++ b/spec/features/admin/connection_spec.rb @@ -9,6 +9,7 @@ feature 'Administrator connection' do let!(:gestionnaire) { create(:gestionnaire, :with_trusted_device, email: email, password: password) } before do + admin.procedures << create(:procedure) visit new_administrateur_session_path end diff --git a/spec/features/admin/procedure_cloning_spec.rb b/spec/features/admin/procedure_cloning_spec.rb index 5f1528d43..9546cda29 100644 --- a/spec/features/admin/procedure_cloning_spec.rb +++ b/spec/features/admin/procedure_cloning_spec.rb @@ -9,12 +9,11 @@ feature 'As an administrateur I wanna clone a procedure', js: true do before do Flipflop::FeatureSet.current.test!.switch!(:publish_draft, true) login_as administrateur, scope: :administrateur - visit root_path + visit new_from_existing_admin_procedures_path end context 'Cloning procedure' do before 'Create procedure' do - page.find_by_id('new-procedure').click page.find_by_id('from-scratch').click fill_in_dummy_procedure_details page.find_by_id('save-procedure').click diff --git a/spec/features/admin/procedure_creation_spec.rb b/spec/features/admin/procedure_creation_spec.rb index 9b762f726..94c4eb3aa 100644 --- a/spec/features/admin/procedure_creation_spec.rb +++ b/spec/features/admin/procedure_creation_spec.rb @@ -7,6 +7,7 @@ feature 'As an administrateur I wanna create a new procedure', js: true do let(:administrateur) { create(:administrateur) } before do + administrateur.procedures << create(:procedure) Flipflop::FeatureSet.current.test!.switch!(:publish_draft, true) login_as administrateur, scope: :administrateur visit root_path