specs: refactor dossiers_controller_spec

This commit is contained in:
Pierre de La Morinerie 2020-06-29 17:30:02 +02:00
parent b8706757e3
commit 2261c6c5d2

View file

@ -541,10 +541,16 @@ describe Users::DossiersController, type: :controller do
{ {
id: dossier.id, id: dossier.id,
dossier: { dossier: {
champs_attributes: { champs_attributes: [
id: first_champ.id, {
value: value id: first_champ.id,
} value: value
},
{
id: piece_justificative_champ.id,
piece_justificative_file: file
}
]
} }
} }
end end
@ -561,7 +567,6 @@ describe Users::DossiersController, type: :controller do
it 'redirects to the dossiers list' do it 'redirects to the dossiers list' do
subject subject
expect(response).to redirect_to(dossiers_path) expect(response).to redirect_to(dossiers_path)
expect(flash.alert).to eq('Votre dossier ne peut plus être modifié') expect(flash.alert).to eq('Votre dossier ne peut plus être modifié')
end end
@ -570,13 +575,22 @@ describe Users::DossiersController, type: :controller do
context 'when dossier can be updated by the owner' do context 'when dossier can be updated by the owner' do
it 'updates the champs' do it 'updates the champs' do
subject subject
expect(response).to redirect_to(demande_dossier_path(dossier))
expect(first_champ.reload.value).to eq('beautiful value') expect(first_champ.reload.value).to eq('beautiful value')
expect(piece_justificative_champ.reload.piece_justificative_file).to be_attached
end
it 'updates the dossier modification date' do
subject
expect(dossier.reload.updated_at.year).to eq(2100) expect(dossier.reload.updated_at.year).to eq(2100)
end
it 'updates the dossier state' do
subject
expect(dossier.reload.state).to eq(Dossier.states.fetch(:en_construction)) expect(dossier.reload.state).to eq(Dossier.states.fetch(:en_construction))
end end
it { is_expected.to redirect_to(demande_dossier_path(dossier)) }
context 'when only files champs are modified' do context 'when only files champs are modified' do
let(:submit_payload) do let(:submit_payload) do
{ {