From a727c5146f707362b06346a70a68bc6f7b3d56fd Mon Sep 17 00:00:00 2001 From: JC Date: Mon, 26 Dec 2016 14:16:08 +0100 Subject: [PATCH] Cannot have the right feature test about invites, both side User and Gestionnaire --- app/views/dossiers/_invites.html.haml | 6 ++--- ...ckoffice_dossierscontroller_show.html.haml | 9 +++---- ...ers_recapitulatifcontroller_show.html.haml | 8 +++--- spec/features/backoffice/invitation_spec.rb | 25 +++++++++++++++++++ spec/features/users/invitation_spec.rb | 24 ++++++++++++++++++ 5 files changed, 60 insertions(+), 12 deletions(-) create mode 100644 spec/features/backoffice/invitation_spec.rb create mode 100644 spec/features/users/invitation_spec.rb diff --git a/app/views/dossiers/_invites.html.haml b/app/views/dossiers/_invites.html.haml index 2474ad7f5..72307147e 100644 --- a/app/views/dossiers/_invites.html.haml +++ b/app/views/dossiers/_invites.html.haml @@ -12,7 +12,7 @@ Aucune personne invitée .col-md-3.col-sm-3.col-xs-3.col-lg-3 - =form_tag invites_dossier_path(dossier_id: @facade.dossier.id), method: :post, class: 'form-inline' do - =text_field_tag :email, '', class: 'form-control', placeholder: 'Envoyer une invitation' - =submit_tag 'Ajouter', class: 'btn btn-success' + = form_tag invites_dossier_path(dossier_id: @facade.dossier.id), method: :post, class: 'form-inline' do + = text_field_tag :email, '', class: 'form-control', placeholder: 'Envoyer une invitation' + = submit_tag 'Ajouter', class: 'btn btn-success', id: 'send-invitation' diff --git a/app/views/layouts/navbars/_navbar_backoffice_dossierscontroller_show.html.haml b/app/views/layouts/navbars/_navbar_backoffice_dossierscontroller_show.html.haml index 37d5c5a22..744d4e583 100644 --- a/app/views/layouts/navbars/_navbar_backoffice_dossierscontroller_show.html.haml +++ b/app/views/layouts/navbars/_navbar_backoffice_dossierscontroller_show.html.haml @@ -14,7 +14,7 @@ Suivre le dossier %div.row %div.col-lg-12.col-md-12.col-sm-12.col-xs-12 - %div.dropdown-toggle{ 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false } + %div#invitations.dropdown-toggle{ 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false } %i.fa.fa-user = t('utils.involved') %div.dropdown-menu.dropdown-menu-right.dropdown-pannel @@ -34,7 +34,6 @@ = t('dynamics.dossiers.invites.empty') %li - =form_tag invites_dossier_path(dossier_id: @facade.dossier.id), method: :post, class: 'form-inline' do - =text_field_tag :email, '', class: 'form-control', placeholder: 'Envoyer une invitation' - =submit_tag 'Ajouter', class: 'btn btn-success' - + = form_tag invites_dossier_path(dossier_id: @facade.dossier.id), method: :post, class: 'form-inline', id: 'send-invitation' do + = text_field_tag :email, '', class: 'form-control', placeholder: 'Envoyer une invitation', id: 'invitation-email' + = submit_tag 'Ajouter', class: 'btn btn-success' diff --git a/app/views/layouts/navbars/_navbar_users_recapitulatifcontroller_show.html.haml b/app/views/layouts/navbars/_navbar_users_recapitulatifcontroller_show.html.haml index 18dfdf885..ba834c09f 100644 --- a/app/views/layouts/navbars/_navbar_users_recapitulatifcontroller_show.html.haml +++ b/app/views/layouts/navbars/_navbar_users_recapitulatifcontroller_show.html.haml @@ -4,7 +4,7 @@ %div.col-lg-3.col-md-3.col-sm-3.col-xs-3.options %div.row.centered-option %div.col-lg-12.col-md-12.col-sm-12.col-xs-12 - %div.dropdown-toggle{ 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false } + %div#invitations.dropdown-toggle{ 'data-toggle' => 'dropdown', 'aria-haspopup' => true, 'aria-expanded' => false } %i.fa.fa-user = t('utils.involved') %div.dropdown-menu.dropdown-menu-right.dropdown-pannel @@ -24,6 +24,6 @@ = t('dynamics.dossiers.invites.empty') %li - =form_tag invites_dossier_path(dossier_id: @facade.dossier.id), method: :post, class: 'form-inline' do - =text_field_tag :email, '', class: 'form-control', placeholder: 'Envoyer une invitation' - =submit_tag 'Ajouter', class: 'btn btn-success' + = form_tag invites_dossier_path(dossier_id: @facade.dossier.id), method: :post, class: 'form-inline', id: 'send-invitation' do + = text_field_tag :email, '', class: 'form-control', placeholder: 'Envoyer une invitation', id: 'invitation-email' + = submit_tag 'Ajouter', class: 'btn btn-success' diff --git a/spec/features/backoffice/invitation_spec.rb b/spec/features/backoffice/invitation_spec.rb new file mode 100644 index 000000000..ffeb61158 --- /dev/null +++ b/spec/features/backoffice/invitation_spec.rb @@ -0,0 +1,25 @@ +require 'spec_helper' + +feature 'As an Accompagnateur I can send invitations from dossiers', js: true do + + let(:user) { create(:user) } + let(:gestionnaire) { create(:gestionnaire) } + let(:procedure_1) { create(:procedure, :with_type_de_champ, libelle: 'procedure 1') } + + before 'Assign procedures to Accompagnateur and generating dossiers for each' do + create :assign_to, gestionnaire: gestionnaire, procedure: procedure_1 + Dossier.create(procedure_id: procedure_1.id.to_s, user: user, state: 'initiated') + login_as gestionnaire, scope: :gestionnaire + visit backoffice_dossier_path(1) + end + + context 'On dossier show' do + + scenario 'Sending invitation' do + page.find('#invitations').click + page.find('#invitation-email').set('toto@email.com') + page.find('#send-invitation .btn-success').trigger('click') + end + + end +end diff --git a/spec/features/users/invitation_spec.rb b/spec/features/users/invitation_spec.rb new file mode 100644 index 000000000..7611e6b07 --- /dev/null +++ b/spec/features/users/invitation_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +feature 'As a User I can send invitations from dossiers', js: true do + + let(:user) { create(:user) } + let(:procedure_1) { create(:procedure, :with_type_de_champ, libelle: 'procedure 1') } + + before 'Assign procedures to Accompagnateur and generating dossiers for each' do + Dossier.create(procedure_id: procedure_1.id.to_s, user: user, state: 'initiated') + login_as user, scope: :user + visit users_dossier_recapitulatif_path(1) + end + + context 'On dossier show' do + + scenario 'Sending invitation' do + page.find('#invitations').click + fill_in 'invitation-email', with: 'toto@email.com' + page.find('#send-invitation .btn-success').trigger('click') + save_and_open_page + end + + end +end