From a7ec77f0a8fc1c202f2c9f33f1da98cf22fa0731 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Mon, 20 Sep 2021 13:57:55 +0200 Subject: [PATCH] do not display the action for instructeur --- app/views/users/profil/show.html.haml | 26 +++++++++---------- .../users/profil_controller_spec.rb | 24 +++++++++++++---- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/app/views/users/profil/show.html.haml b/app/views/users/profil/show.html.haml index 28d43cb58..615a4f335 100644 --- a/app/views/users/profil/show.html.haml +++ b/app/views/users/profil/show.html.haml @@ -23,21 +23,21 @@ = f.email_field :email, value: nil, placeholder: 'Nouvelle adresse email', required: true = f.submit "Changer mon adresse", class: 'button primary' - .card - .card-title= t('.transfer_title') - = t('.transfer_explication_html') + - if !instructeur_signed_in? + .card + .card-title= t('.transfer_title') + = t('.transfer_explication_html') - = form_tag transfer_all_dossiers_path, class: 'form' do - = email_field_tag :next_owner, nil, required: true - = submit_tag "Transférer tous mes dossiers", class: 'button primary', data: { confirm: t('.transfer_confirmation') } - - - if @waiting_transfers.any? - .card.warning - .card-title= t('.waiting_transfers') - %ul - - @waiting_transfers.each do |email, nb_dossier| - %li= t('.one_waiting_transfer', email: email, count: nb_dossier) + = form_tag transfer_all_dossiers_path, class: 'form' do + = email_field_tag :next_owner, nil, required: true + = submit_tag "Transférer tous mes dossiers", class: 'button primary', data: { confirm: t('.transfer_confirmation') } + - if @waiting_transfers.any? + .card.warning + .card-title= t('.waiting_transfers') + %ul + - @waiting_transfers.each do |email, nb_dossier| + %li= t('.one_waiting_transfer', email: email, count: nb_dossier) - if current_administrateur.present? .card diff --git a/spec/controllers/users/profil_controller_spec.rb b/spec/controllers/users/profil_controller_spec.rb index 313faaf65..0bd6eba19 100644 --- a/spec/controllers/users/profil_controller_spec.rb +++ b/spec/controllers/users/profil_controller_spec.rb @@ -6,15 +6,29 @@ describe Users::ProfilController, type: :controller do before { sign_in(user) } describe 'GET #show' do - let(:dossiers) { Array.new(3) { create(:dossier, user: user) } } - let(:next_owner) { 'loulou@lou.com' } - let!(:transfer) { DossierTransfer.initiate(next_owner, dossiers) } - render_views before { post :show } - it { expect(response.body).to include(I18n.t('users.profil.show.one_waiting_transfer', count: dossiers.count, email: next_owner)) } + context 'when the current user is not an instructeur' do + it { expect(response.body).to include(I18n.t('users.profil.show.transfer_title')) } + + context 'when an existing transfer exists' do + let(:dossiers) { Array.new(3) { create(:dossier, user: user) } } + let(:next_owner) { 'loulou@lou.com' } + let!(:transfer) { DossierTransfer.initiate(next_owner, dossiers) } + + before { post :show } + + it { expect(response.body).to include(I18n.t('users.profil.show.one_waiting_transfer', count: dossiers.count, email: next_owner)) } + end + end + + context 'when the current user is an instructeur' do + let(:user) { create(:instructeur).user } + + it { expect(response.body).not_to include(I18n.t('users.profil.show.transfer_title')) } + end end describe 'POST #renew_api_token' do