Merge branch 'develop' of ssh://37.187.249.111:2200/opt/git/tps into develop
This commit is contained in:
commit
40310da378
27 changed files with 679 additions and 164 deletions
|
@ -3,8 +3,48 @@ require 'spec_helper'
|
|||
describe DossierDecorator do
|
||||
let(:dossier) { create(:dossier, :with_user) }
|
||||
subject { dossier.decorate }
|
||||
|
||||
describe 'last_update' do
|
||||
subject { Timecop.freeze(Time.new(2015, 12, 24, 14, 10)) { super().last_update } }
|
||||
it { is_expected.to eq('24/12/2015 14:10') }
|
||||
end
|
||||
|
||||
describe 'state_fr' do
|
||||
subject{ super().state_fr }
|
||||
|
||||
it 'draft is brouillon' do
|
||||
dossier.draft!
|
||||
expect(subject).to eq('Brouillon')
|
||||
end
|
||||
|
||||
it 'proposed is propose' do
|
||||
dossier.proposed!
|
||||
expect(subject).to eq('Proposé')
|
||||
end
|
||||
|
||||
it 'reply is repondu' do
|
||||
dossier.reply!
|
||||
expect(subject).to eq('Répondu')
|
||||
end
|
||||
|
||||
it 'updated is mis à jour' do
|
||||
dossier.updated!
|
||||
expect(subject).to eq('Mis à jour')
|
||||
end
|
||||
|
||||
it 'confirmed is valide' do
|
||||
dossier.confirmed!
|
||||
expect(subject).to eq('Validé')
|
||||
end
|
||||
|
||||
it 'deposited is dépose' do
|
||||
dossier.deposited!
|
||||
expect(subject).to eq('Déposé')
|
||||
end
|
||||
|
||||
it 'processed is traité' do
|
||||
dossier.processed!
|
||||
expect(subject).to eq('Traité')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
FactoryGirl.define do
|
||||
factory :dossier do
|
||||
nom_projet "Demande de subvention dans le cadre d'accompagnement d'enfant à l'étranger"
|
||||
state 'draft'
|
||||
trait :with_entreprise do
|
||||
after(:build) do |dossier, _evaluator|
|
||||
etablissement = create(:etablissement)
|
||||
|
|
|
@ -36,13 +36,5 @@ feature 'add commentaire on backoffice' do
|
|||
scenario 'Champs de texte' do
|
||||
expect(page).to have_selector('textarea[id=texte_commentaire][name=texte_commentaire]')
|
||||
end
|
||||
|
||||
scenario 'Champs email' do
|
||||
expect(page).to have_selector('input[id=email_commentaire][name=email_commentaire]')
|
||||
end
|
||||
|
||||
scenario 'Champs email est prérempli' do
|
||||
expect(page).to have_selector("input[id=email_commentaire][value='#{gestionnaire.email}']")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -82,17 +82,17 @@ feature 'Admin/Dossier#Show Page' do
|
|||
# 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
|
||||
#
|
||||
# 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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature '_Commentaires_Flux Recapitulatif#Show Page' do
|
||||
let(:dossier) { create(:dossier, :with_user) }
|
||||
let(:dossier) { create(:dossier, :with_user, :with_procedure) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:email_commentaire) { 'mon_mail_de_commentaire@test.com' }
|
||||
let!(:commentaire) { create(:commentaire, dossier: dossier, email: email_commentaire, body: 'ma super description') }
|
||||
|
@ -34,13 +34,5 @@ feature '_Commentaires_Flux Recapitulatif#Show Page' do
|
|||
scenario 'Champs de texte' do
|
||||
expect(page).to have_selector('textarea[id=texte_commentaire][name=texte_commentaire]')
|
||||
end
|
||||
|
||||
scenario 'Champs email' do
|
||||
expect(page).to have_selector('input[id=email_commentaire][name=email_commentaire]')
|
||||
end
|
||||
|
||||
scenario 'Champs email est prérempli' do
|
||||
expect(page).to have_content(email_commentaire)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
feature 'Recapitulatif#Show Page' do
|
||||
let(:dossier) { create(:dossier, :with_user) }
|
||||
let(:dossier) { create(:dossier, :with_user, :with_procedure) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
|
||||
before do
|
||||
|
@ -27,11 +27,11 @@ feature 'Recapitulatif#Show Page' do
|
|||
context 'les liens de modifications' do
|
||||
context 'lien description' do
|
||||
scenario 'le lien vers description est présent' do
|
||||
expect(page).to have_css('#modif_description')
|
||||
expect(page).to have_css('#maj_infos')
|
||||
end
|
||||
|
||||
scenario 'le lien vers description est correct' do
|
||||
expect(page).to have_selector("a[id=modif_description][href='/dossiers/#{dossier_id}/description?back_url=recapitulatif']")
|
||||
expect(page).to have_selector("a[id=maj_infos][href='/dossiers/#{dossier_id}/description?back_url=recapitulatif']")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -117,5 +117,258 @@ describe Dossier do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
#TODO revoir le nommage
|
||||
describe '#next_step' do
|
||||
let(:dossier) { create(:dossier) }
|
||||
let(:role) { 'user' }
|
||||
let(:action) { 'propose' }
|
||||
|
||||
subject { dossier.next_step! role, action }
|
||||
|
||||
context 'when action is not valid' do
|
||||
let(:action) { 'test' }
|
||||
it { expect{ subject }.to raise_error('action is not valid') }
|
||||
end
|
||||
|
||||
context 'when role is not valid' do
|
||||
let(:role) { 'test' }
|
||||
it { expect{ subject }.to raise_error('role is not valid') }
|
||||
end
|
||||
|
||||
context 'when dossier is at state draft' do
|
||||
before do
|
||||
dossier.draft!
|
||||
end
|
||||
|
||||
context 'when user is connected' do
|
||||
let(:role) { 'user' }
|
||||
|
||||
context 'when he updates dossier informations' do
|
||||
let(:action) {'update'}
|
||||
|
||||
it { is_expected.to eq('draft') }
|
||||
end
|
||||
|
||||
context 'when he posts a comment' do
|
||||
let(:action) {'comment'}
|
||||
|
||||
it { is_expected.to eq('draft') }
|
||||
end
|
||||
|
||||
context 'when he proposes a dossier' do
|
||||
let(:action) { 'propose' }
|
||||
|
||||
it { is_expected.to eq('proposed') }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when dossier is at state proposed' do
|
||||
before do
|
||||
dossier.proposed!
|
||||
end
|
||||
|
||||
context 'when user is connect' do
|
||||
let(:role) { 'user' }
|
||||
|
||||
context 'when is update dossier informations' do
|
||||
let(:action) { 'update' }
|
||||
|
||||
it {is_expected.to eq('proposed')}
|
||||
end
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it {is_expected.to eq('proposed')}
|
||||
end
|
||||
end
|
||||
|
||||
context 'when gestionnaire is connect' do
|
||||
let(:role) { 'gestionnaire' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('reply')}
|
||||
end
|
||||
|
||||
context 'when is confirmed the dossier' do
|
||||
let(:action) { 'confirme' }
|
||||
|
||||
it {is_expected.to eq('confirmed')}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when dossier is at state reply' do
|
||||
before do
|
||||
dossier.reply!
|
||||
end
|
||||
|
||||
context 'when user is connect' do
|
||||
let(:role) { 'user' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('updated') }
|
||||
end
|
||||
|
||||
context 'when is updated dossier informations' do
|
||||
let(:action) { 'update' }
|
||||
|
||||
it {
|
||||
|
||||
is_expected.to eq('updated')
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
context 'when gestionnaire is connect' do
|
||||
let(:role) { 'gestionnaire' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('reply')}
|
||||
end
|
||||
|
||||
context 'when is confirmed the dossier' do
|
||||
let(:action) { 'confirme' }
|
||||
|
||||
it {is_expected.to eq('confirmed')}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when dossier is at state updated' do
|
||||
before do
|
||||
dossier.updated!
|
||||
end
|
||||
|
||||
context 'when user is connect' do
|
||||
let(:role) { 'user' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('updated')}
|
||||
end
|
||||
|
||||
context 'when is updated dossier informations' do
|
||||
let(:action) { 'update' }
|
||||
|
||||
it { is_expected.to eq('updated')}
|
||||
end
|
||||
end
|
||||
|
||||
context 'when gestionnaire is connect' do
|
||||
let(:role) { 'gestionnaire' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('reply')}
|
||||
end
|
||||
|
||||
context 'when is confirmed the dossier' do
|
||||
let(:action) { 'confirme' }
|
||||
|
||||
it {is_expected.to eq('confirmed')}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when dossier is at state confirmed' do
|
||||
before do
|
||||
dossier.confirmed!
|
||||
end
|
||||
|
||||
context 'when user is connect' do
|
||||
let(:role) { 'user' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
it { is_expected.to eq('confirmed') }
|
||||
end
|
||||
|
||||
context 'when is deposed the dossier' do
|
||||
let(:action) { 'depose' }
|
||||
|
||||
it { is_expected.to eq('deposited') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when gestionnaire is connect' do
|
||||
let(:role) { 'gestionnaire' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('confirmed')}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when dossier is at state deposited' do
|
||||
before do
|
||||
dossier.deposited!
|
||||
end
|
||||
|
||||
context 'when user is connect' do
|
||||
let(:role) { 'user' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('deposited') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'when gestionnaire is connect' do
|
||||
let(:role) { 'gestionnaire' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it {is_expected.to eq('deposited')}
|
||||
end
|
||||
|
||||
context 'when is processed the dossier' do
|
||||
let(:action) { 'process' }
|
||||
|
||||
it {is_expected.to eq('processed')}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'when dossier is at state processed' do
|
||||
before do
|
||||
dossier.processed!
|
||||
end
|
||||
|
||||
context 'when user is connect' do
|
||||
let(:role) { 'user' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('processed')}
|
||||
end
|
||||
end
|
||||
|
||||
context 'when gestionnaire is connect' do
|
||||
let(:role) { 'gestionnaire' }
|
||||
|
||||
context 'when is post a comment' do
|
||||
let(:action) { 'comment' }
|
||||
|
||||
it { is_expected.to eq('processed')}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -65,6 +65,7 @@ RSpec.configure do |config|
|
|||
|
||||
config.order = 'random'
|
||||
|
||||
config.include Devise::TestHelpers, type: :view
|
||||
config.include Devise::TestHelpers, type: :controller
|
||||
|
||||
config.include FactoryGirl::Syntax::Methods
|
||||
|
|
|
@ -1 +1,14 @@
|
|||
# TODO à écrire
|
||||
require 'spec_helper'
|
||||
|
||||
describe 'dossiers/_infos_dossier.html.haml', type: :view do
|
||||
let(:dossier) { create(:dossier, :with_entreprise, :with_procedure) }
|
||||
|
||||
let(:maj_infos) { 'Mettre à jour les informations' }
|
||||
let(:proposer) { 'Soumettre mon dossier' }
|
||||
|
||||
before do
|
||||
assign(:dossier, dossier.decorate)
|
||||
assign(:commentaires, dossier.commentaires)
|
||||
render
|
||||
end
|
||||
end
|
||||
|
|
39
spec/views/users/recapitulatif/_commentaires_flux_spec.rb
Normal file
39
spec/views/users/recapitulatif/_commentaires_flux_spec.rb
Normal file
|
@ -0,0 +1,39 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'users/recapitulatif/_commentaires_flux.html.haml', type: :view do
|
||||
let(:dossier) { create(:dossier, :with_procedure) }
|
||||
let(:dossier_id) { dossier.id }
|
||||
let(:email_commentaire) { 'mon_mail_de_commentaire@test.com' }
|
||||
let!(:commentaire) { create(:commentaire, dossier: dossier, email: email_commentaire, body: 'ma super description') }
|
||||
let(:body) { 'Commentaire de test' }
|
||||
|
||||
before do
|
||||
assign(:dossier, dossier.decorate)
|
||||
assign(:commentaires, dossier.commentaires.all.decorate)
|
||||
render
|
||||
end
|
||||
|
||||
context 'Affichage du flux de commentaire' do
|
||||
it 'l\'email du contact est présent' do
|
||||
expect(rendered).to have_selector('span[id=email_contact]')
|
||||
end
|
||||
|
||||
it 'la date du commentaire est présent' do
|
||||
expect(rendered).to have_selector('span[id=created_at]')
|
||||
end
|
||||
|
||||
it 'le corps du commentaire est présent' do
|
||||
expect(rendered).to have_selector('div[class=description][id=body]')
|
||||
end
|
||||
end
|
||||
|
||||
context 'Affichage du formulaire de commentaire' do
|
||||
it 'Le formulaire envoie vers /dossiers/:dossier_id/commentaire en #POST' do
|
||||
expect(rendered).to have_selector("form[action='/users/dossiers/#{dossier_id}/commentaire'][method=post]")
|
||||
end
|
||||
|
||||
it 'Champs de texte' do
|
||||
expect(rendered).to have_selector('textarea[id=texte_commentaire][name=texte_commentaire]')
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue