demarches-normaliennes/spec/features/admin/dossier_page/show_page_spec.rb
2015-08-20 16:59:15 +02:00

97 lines
3.2 KiB
Ruby

require 'spec_helper'
feature 'Admin/Dossier#Show Page' do
let(:dossier) { create(:dossier, :with_entreprise) }
let(:dossier_id) { dossier.id }
before do
dossier.build_default_pieces_jointes
login_admin
visit "/admin/dossiers/#{dossier_id}"
end
context 'sur la page admin du dossier' do
scenario 'la section infos entreprise est présente' do
expect(page).to have_selector('#infos_entreprise')
end
scenario 'la section infos dossier est présente' do
expect(page).to have_selector('#infos_dossier')
end
scenario 'le numéro de dossier est présent sur la page' do
expect(page).to have_selector('#dossier_id')
expect(page).to have_content(dossier_id)
end
context 'les liens de modifications sont non présent' do
scenario 'le lien vers carte' do
expect(page).to_not have_selector('a[id=modif_carte]')
end
scenario 'le lien vers description' do
expect(page).to_not have_selector('a[id=modif_description]')
end
end
context 'la liste des pièces jointes est présente' do
context 'Attestation MSA' do
let(:id_piece_jointe) { 93 }
scenario 'la ligne de la pièce jointe est présente' do
expect(page).to have_selector("tr[id=piece_jointe_#{id_piece_jointe}]")
end
scenario 'le bouton "Récupérer" est présent' do
expect(page.find("tr[id=piece_jointe_#{id_piece_jointe}]")).to have_selector("a[href='']")
expect(page.find("tr[id=piece_jointe_#{id_piece_jointe}]")).to have_content('Récupérer')
end
end
context 'Attestation RDI' do
let(:id_piece_jointe) { 103 }
scenario 'la ligne de la pièce jointe est présente' do
expect(page).to have_selector("tr[id=piece_jointe_#{id_piece_jointe}]")
end
scenario 'le libelle "Pièce manquante" est présent' do
expect(page.find("tr[id=piece_jointe_#{id_piece_jointe}]")).to have_content('Pièce non fournie')
end
end
context 'Devis' do
let(:id_piece_jointe) { 388 }
let(:content) { File.open('./spec/support/files/piece_jointe_388.pdf') }
before do
piece_jointe = dossier.pieces_jointes.where(type_piece_jointe_id: 388).first
piece_jointe.content = content
piece_jointe.save!
visit "/admin/dossiers/#{dossier_id}"
end
scenario 'la ligne de la pièce jointe est présente' do
expect(page).to have_selector("tr[id=piece_jointe_#{id_piece_jointe}]")
end
scenario 'le libelle "Consulter" est présent' do
expect(page.find("tr[id=piece_jointe_#{id_piece_jointe}] a")[:href]).to have_content('piece_jointe_388.pdf')
expect(page.find("tr[id=piece_jointe_#{id_piece_jointe}]")).to have_content('Consulter')
end
end
end
scenario 'la carte est bien présente' do
expect(page).to have_selector('#map_qp')
end
scenario 'la page des sources CSS de l\'API cart est chargée' do
expect(page).to have_selector('#sources_CSS_api_carto')
end
scenario 'la page des sources JS backend de l\'API cart est chargée' do
expect(page).to have_selector('#sources_JS_api_carto_backend')
end
end
end