2015-08-10 11:05:06 +02:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
feature 'Description#Show Page' do
|
2015-09-24 11:17:17 +02:00
|
|
|
let(:user) { create(:user) }
|
|
|
|
let(:dossier) { create(:dossier, :with_procedure, user: user) }
|
2015-08-13 15:55:19 +02:00
|
|
|
let(:dossier_id) { dossier.id }
|
2015-08-10 11:05:06 +02:00
|
|
|
|
|
|
|
before do
|
2015-09-23 19:20:03 +02:00
|
|
|
visit users_dossier_description_path(dossier_id: dossier_id)
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
context 'tous les attributs sont présents sur la page' do
|
2015-09-23 19:20:03 +02:00
|
|
|
scenario 'Le formulaire envoie vers /users/dossiers/:dossier_id/description en #POST' do
|
|
|
|
expect(page).to have_selector("form[action='/users/dossiers/#{dossier_id}/description'][method=post]")
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Nom du projet' do
|
|
|
|
expect(page).to have_selector('input[id=nom_projet][name=nom_projet]')
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Description du projet' do
|
|
|
|
expect(page).to have_selector('textarea[id=description][name=description]')
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Montant du projet' do
|
|
|
|
expect(page).to have_selector('input[id=montant_projet][name=montant_projet]')
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Montant du projet est de type number' do
|
|
|
|
expect(page).to have_selector('input[type=number][id=montant_projet]')
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Montant des aides du projet' do
|
|
|
|
expect(page).to have_selector('input[id=montant_aide_demande][name=montant_aide_demande]')
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Montant des aides du projet est de type number' do
|
|
|
|
expect(page).to have_selector('input[type=number][id=montant_aide_demande]')
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Date prévisionnelle du projet' do
|
|
|
|
expect(page).to have_selector('input[id=date_previsionnelle][name=date_previsionnelle]')
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Date prévisionnelle du projet est de type text avec un data-provide=datepicker' do
|
|
|
|
expect(page).to have_selector('input[type=text][id=date_previsionnelle][data-provide=datepicker]')
|
|
|
|
end
|
|
|
|
|
2015-08-11 15:39:16 +02:00
|
|
|
scenario 'Charger votre CERFA (PDF)' do
|
|
|
|
expect(page).to have_selector('input[type=file][name=cerfa_pdf][id=cerfa_pdf]')
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
2015-08-11 15:39:16 +02:00
|
|
|
scenario 'Lien CERFA' do
|
|
|
|
expect(page).to have_selector('#lien_cerfa')
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'si la page précédente n\'est pas recapitulatif' do
|
|
|
|
scenario 'le bouton "Terminer" est présent' do
|
2015-08-20 16:59:15 +02:00
|
|
|
expect(page).to have_selector('#suivant')
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'si la page précédente est recapitularif' do
|
|
|
|
before do
|
2015-09-23 19:20:03 +02:00
|
|
|
visit "/users/dossiers/#{dossier_id}/description?back_url=recapitulatif"
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'le bouton "Terminer" n\'est pas présent' do
|
2015-08-20 16:59:15 +02:00
|
|
|
expect(page).to_not have_selector('#suivant')
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'input hidden back_url a pour valeur le params GET' do
|
|
|
|
expect(page).to have_selector('input[type=hidden][id=back_url][value=recapitulatif]')
|
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'le bouton "Modification terminé" est présent' do
|
2015-08-20 16:59:15 +02:00
|
|
|
expect(page).to have_selector('#modification_terminee')
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'le lien de retour au récapitulatif est présent' do
|
2015-09-24 11:37:18 +02:00
|
|
|
expect(page).to have_selector("a[href='/users/dossiers/#{dossier_id}/recapitulatif']")
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'les valeurs sont réaffichées si elles sont présentes dans la BDD' do
|
2015-09-21 17:59:03 +02:00
|
|
|
let!(:dossier) do
|
|
|
|
create(:dossier, :with_procedure,
|
2015-08-13 15:55:19 +02:00
|
|
|
nom_projet: 'Projet de test',
|
|
|
|
description: 'Description de test',
|
|
|
|
montant_projet: 12_000,
|
|
|
|
montant_aide_demande: 3000,
|
2015-09-24 11:17:17 +02:00
|
|
|
date_previsionnelle: '20/01/2016',
|
|
|
|
user: user)
|
2015-08-13 15:55:19 +02:00
|
|
|
end
|
2015-08-10 11:05:06 +02:00
|
|
|
|
|
|
|
scenario 'Nom du projet' do
|
2015-08-13 15:55:19 +02:00
|
|
|
expect(page).to have_selector("input[id=nom_projet][value='#{dossier.nom_projet}']")
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Description du projet' do
|
2015-08-13 15:55:19 +02:00
|
|
|
expect(page).to have_content("#{dossier.description}")
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Montant du projet' do
|
2015-08-13 15:55:19 +02:00
|
|
|
expect(page).to have_selector("input[id=montant_projet][value='#{dossier.montant_projet}']")
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Montant des aides du projet' do
|
2015-08-13 15:55:19 +02:00
|
|
|
expect(page).to have_selector("input[id=montant_aide_demande][value='#{dossier.montant_aide_demande}']")
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
scenario 'Date prévisionnelle du projet' do
|
2015-08-13 15:55:19 +02:00
|
|
|
expect(page).to have_selector("input[id=date_previsionnelle][value='#{dossier.date_previsionnelle}']")
|
2015-08-10 11:05:06 +02:00
|
|
|
end
|
|
|
|
end
|
2015-08-11 15:39:16 +02:00
|
|
|
|
2015-09-22 13:15:58 +02:00
|
|
|
context 'Pièces justificatives' do
|
|
|
|
let(:all_type_pj_procedure_id) { dossier.procedure.type_de_piece_justificative_ids }
|
|
|
|
|
|
|
|
context 'la liste des pièces justificatives a envoyé est affichée' do
|
|
|
|
it 'RIB' do
|
|
|
|
expect(page).to have_selector("input[type=file][name=piece_justificative_#{all_type_pj_procedure_id[0]}][id=piece_justificative_#{all_type_pj_procedure_id[0]}]")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'la liste des pièces récupérées automatiquement est signaliée' do
|
|
|
|
it 'Attestation MSA' do
|
|
|
|
expect(page.find_by_id("piece_justificative_#{all_type_pj_procedure_id[1]}")).to have_content('Nous l\'avons récupéré pour vous.')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2015-08-20 16:59:15 +02:00
|
|
|
end
|