[#883] move admin part in backoffice
This commit is contained in:
parent
1238fdae23
commit
5ca014587a
17 changed files with 111 additions and 95 deletions
|
@ -1,53 +0,0 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Admin::DossierController, type: :controller do
|
||||
let(:dossier) { create(:dossier, :with_entreprise) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:bad_dossier_id) { Dossier.count + 10 }
|
||||
let(:gestionnaire) { create(:gestionnaire) }
|
||||
|
||||
describe 'GET #show' do
|
||||
context "l'utilisateur est connecté" do
|
||||
before do
|
||||
sign_in gestionnaire
|
||||
end
|
||||
|
||||
it 'returns http success' do
|
||||
get :show, dossier_id: dossier_id
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
||||
it "le numéro de dossier n'existe pas" do
|
||||
get :show, dossier_id: bad_dossier_id
|
||||
expect(response).to redirect_to('/start/error_dossier')
|
||||
end
|
||||
end
|
||||
|
||||
context "L'utilisateur n'est pas connecté mais le numéro de dossier est correct" do
|
||||
subject { get :show, dossier_id: dossier_id }
|
||||
it { is_expected.to redirect_to('/gestionnaires/sign_in') }
|
||||
end
|
||||
end
|
||||
|
||||
describe 'GET #index' do
|
||||
let(:user) { create(:user) }
|
||||
before do
|
||||
sign_in gestionnaire
|
||||
end
|
||||
|
||||
it 'le numéro de dossier est correct' do
|
||||
get :index, dossier_id: dossier_id
|
||||
expect(response).to redirect_to("/admin/dossiers/#{dossier_id}")
|
||||
end
|
||||
|
||||
it 'il n\' y a pas de numéro de dossier' do
|
||||
get :index
|
||||
expect(response).to redirect_to('/start/error_dossier')
|
||||
end
|
||||
|
||||
it 'le numéro de dossier n\'existe pas' do
|
||||
get :index, dossier_id: bad_dossier_id
|
||||
expect(response).to redirect_to('/start/error_dossier')
|
||||
end
|
||||
end
|
||||
end
|
20
spec/controllers/backoffice/commentaires_controller_spec.rb
Normal file
20
spec/controllers/backoffice/commentaires_controller_spec.rb
Normal file
|
@ -0,0 +1,20 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Backoffice::CommentairesController, type: :controller do
|
||||
let(:dossier) { create(:dossier) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:email_commentaire) { 'test@test.com' }
|
||||
let(:texte_commentaire) { 'Commentaire de test' }
|
||||
|
||||
describe '#POST create' do
|
||||
before do
|
||||
sign_in create(:gestionnaire)
|
||||
end
|
||||
context "création correct d'un commentaire" do
|
||||
it 'depuis la page admin' do
|
||||
post :create, dossier_id: dossier_id, email_commentaire: email_commentaire, texte_commentaire: texte_commentaire
|
||||
expect(response).to redirect_to("/backoffice/dossiers/#{dossier_id}")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
31
spec/controllers/backoffice/dossiers_controller_spec.rb
Normal file
31
spec/controllers/backoffice/dossiers_controller_spec.rb
Normal file
|
@ -0,0 +1,31 @@
|
|||
require 'rails_helper'
|
||||
|
||||
describe Backoffice::DossiersController, type: :controller do
|
||||
let(:dossier) { create(:dossier, :with_entreprise) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:bad_dossier_id) { Dossier.count + 10 }
|
||||
let(:gestionnaire) { create(:gestionnaire) }
|
||||
|
||||
describe 'GET #show' do
|
||||
context "l'utilisateur est connecté" do
|
||||
before do
|
||||
sign_in gestionnaire
|
||||
end
|
||||
|
||||
it 'returns http success' do
|
||||
get :show, id: dossier_id
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
||||
it "le numéro de dossier n'existe pas" do
|
||||
get :show, id: bad_dossier_id
|
||||
expect(response).to redirect_to('/start/error_dossier')
|
||||
end
|
||||
end
|
||||
|
||||
context "L'utilisateur n'est pas connecté mais le numéro de dossier est correct" do
|
||||
subject { get :show, id: dossier_id }
|
||||
it { is_expected.to redirect_to('/gestionnaires/sign_in') }
|
||||
end
|
||||
end
|
||||
end
|
|
@ -9,16 +9,9 @@ describe CommentairesController, type: :controller do
|
|||
describe '#POST create' do
|
||||
context 'création correct d\'un commentaire' do
|
||||
it 'depuis la page récapitulatif' do
|
||||
request.env['HTTP_REFERER'] = '/recapitulatif'
|
||||
post :create, dossier_id: dossier_id, email_commentaire: email_commentaire, texte_commentaire: texte_commentaire
|
||||
expect(response).to redirect_to("/dossiers/#{dossier_id}/recapitulatif")
|
||||
end
|
||||
|
||||
it 'depuis la page admin' do
|
||||
request.env['HTTP_REFERER'] = '/admin/dossiers'
|
||||
post :create, dossier_id: dossier_id, email_commentaire: email_commentaire, texte_commentaire: texte_commentaire
|
||||
expect(response).to redirect_to("/admin/dossiers/#{dossier_id}")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
FactoryGirl.define do
|
||||
factory :dossier do
|
||||
nom_projet "Demande de subvention dans le cadre d'accompagnement d'enfant à l'étranger"
|
||||
trait :with_entreprise do
|
||||
after(:build) do |dossier, _evaluator|
|
||||
etablissement = create(:etablissement)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature '_Commentaires_Flux Admin/Dossier#Show Page' do
|
||||
feature 'add commentaire on backoffice' do
|
||||
let(:dossier) { create(:dossier, :with_entreprise, :with_procedure) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let!(:commentaire) { create(:commentaire, dossier: dossier, email: 'toto@toto.com') }
|
||||
|
@ -11,7 +11,7 @@ feature '_Commentaires_Flux Admin/Dossier#Show Page' do
|
|||
|
||||
before do
|
||||
login_as gestionnaire, scope: :gestionnaire
|
||||
visit "/admin/dossiers/#{dossier_id}"
|
||||
visit backoffice_dossier_path(dossier)
|
||||
end
|
||||
|
||||
context 'Affichage du flux de commentaire' do
|
||||
|
@ -30,7 +30,7 @@ feature '_Commentaires_Flux Admin/Dossier#Show Page' do
|
|||
|
||||
context 'Affichage du formulaire de commentaire' do
|
||||
scenario 'Le formulaire envoie vers /dossiers/:dossier_id/commentaire en #POST' do
|
||||
expect(page).to have_selector("form[action='/admin/commentaire?dossier_id=#{dossier_id}'][method=post]")
|
||||
expect(page).to have_selector("form[action='/backoffice/commentaires?dossier_id=#{dossier_id}'][method=post]")
|
||||
end
|
||||
|
||||
scenario 'Champs de texte' do
|
|
@ -6,7 +6,7 @@ feature 'Admin/Dossier#Show Page' do
|
|||
|
||||
before do
|
||||
login_gestionnaire
|
||||
visit "/admin/dossiers/#{dossier_id}"
|
||||
visit "/backoffice/dossiers/#{dossier_id}"
|
||||
end
|
||||
|
||||
context 'sur la page admin du dossier' do
|
25
spec/features/backoffice/navigate_to_dossier_spec.rb
Normal file
25
spec/features/backoffice/navigate_to_dossier_spec.rb
Normal file
|
@ -0,0 +1,25 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature 'on backoffice page' do
|
||||
let(:procedure) { create(:procedure) }
|
||||
let!(:dossier) { create(:dossier, :with_entreprise, procedure: procedure) }
|
||||
before do
|
||||
visit backoffice_path
|
||||
end
|
||||
context 'when gestionnaire is logged in' do
|
||||
let(:gestionnaire) { create(:gestionnaire) }
|
||||
before do
|
||||
page.find_by_id(:gestionnaire_email).set gestionnaire.email
|
||||
page.find_by_id(:gestionnaire_password).set gestionnaire.password
|
||||
page.click_on 'Se connecter'
|
||||
end
|
||||
context 'when he click on first dossier' do
|
||||
before do
|
||||
page.click_on dossier.nom_projet
|
||||
end
|
||||
scenario 'it redirect to dossier page' do
|
||||
expect(page).to have_css('#backoffice_dossier_show')
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -36,7 +36,7 @@ feature 'Recapitulatif#Show Page' do
|
|||
|
||||
context 'lien description' do
|
||||
scenario 'le lien vers description est présent' do
|
||||
expect(page).to have_selector('a[id=modif_description]')
|
||||
expect(page).to have_css('#modif_description')
|
||||
end
|
||||
|
||||
scenario 'le lien vers description est correct' do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue