97 lines
3.1 KiB
Ruby
97 lines
3.1 KiB
Ruby
require 'spec_helper'
|
|
|
|
feature 'Start#Index Page' do
|
|
context 'si personne n\'est connecté' do
|
|
before do
|
|
visit root_path
|
|
end
|
|
|
|
scenario 'la section des professionnels est présente' do
|
|
expect(page).to have_selector('#pro_section')
|
|
end
|
|
|
|
scenario 'la section des admin est présente' do
|
|
expect(page).to have_selector('#admin_section')
|
|
end
|
|
|
|
context 'dans la section professionnel' do
|
|
scenario 'le formulaire envoie vers /dossiers en #POST' do
|
|
expect(page).to have_selector("form[action='/dossiers'][method=post]")
|
|
end
|
|
|
|
scenario 'le champs "Numéro SIRET" est présent' do
|
|
expect(page).to have_selector('input[id=siret][name=siret]')
|
|
end
|
|
|
|
scenario 'le champs "Numéro de dossier" n\'est pas visible' do
|
|
expect(page).to_not have_selector('input[id=pro_dossier_id][name=pro_dossier_id]')
|
|
end
|
|
|
|
scenario 'button "j\'ai déjà un numéro de dossier "' do
|
|
expect(page).to have_selector('#btn_show_dossier_id_input')
|
|
end
|
|
|
|
scenario 'le champs "Numéro SIRET" ne peut contenir que 15 caractères' do
|
|
length_string_20 = SecureRandom.hex(10)
|
|
find('#siret').set(length_string_20)
|
|
|
|
expect(find('#siret').value.length).to eq(14)
|
|
end
|
|
end
|
|
|
|
context 'dans la section admninistration' do
|
|
scenario 'le formulaire envoie vers /login en #POST' do
|
|
expect(page).to have_selector("form[action='/login'][method=post]")
|
|
end
|
|
|
|
scenario ' le champs "Identifiant" est présent' do
|
|
expect(page).to have_selector("input[id=user_email][name='user[email]']")
|
|
end
|
|
|
|
scenario 'le champs "Mot de passe" est présent' do
|
|
expect(page).to have_selector("input[id=user_password][name='user[password]']")
|
|
end
|
|
|
|
scenario 'le champs "Mot de passe" est de type password' do
|
|
expect(page).to have_selector('input[type=password][id=user_password]')
|
|
end
|
|
|
|
scenario 'le champs "Numéro de dossier" est présent' do
|
|
expect(page).to have_selector('input[id=dossier_id][name=dossier_id]')
|
|
end
|
|
end
|
|
end
|
|
|
|
context 'si une administration est connecté' do
|
|
before do
|
|
login_admin
|
|
visit root_path
|
|
end
|
|
|
|
scenario 'la section des professionnels n\'est pas présente' do
|
|
expect(page).to_not have_selector('#pro_section')
|
|
end
|
|
|
|
scenario 'la section des admin est présente' do
|
|
expect(page).to have_selector('#admin_section')
|
|
end
|
|
|
|
context 'dans la section admninistration' do
|
|
scenario 'le formulaire envoie vers /admin/dossiers en #GET' do
|
|
expect(page).to have_selector("form[action='/admin/dossiers'][method=get]")
|
|
end
|
|
|
|
scenario ' le champs "Identifiant" n\'est pas présent' do
|
|
expect(page).to_not have_selector("input[id=user_email][name='user[email]']")
|
|
end
|
|
|
|
scenario 'le champs "Mot de passe" n\'est pas présent' do
|
|
expect(page).to_not have_selector("input[id=user_password][name='user[password]']")
|
|
end
|
|
|
|
scenario 'le champs "Numéro de dossier" est présent' do
|
|
expect(page).to have_selector('input[id=dossier_id][name=dossier_id]')
|
|
end
|
|
end
|
|
end
|
|
end
|