an admin can save its sources

This commit is contained in:
simon lehericey 2021-09-17 12:22:01 +02:00 committed by Pierre de La Morinerie
parent 8d747ff16e
commit 2e1bed8748
3 changed files with 61 additions and 1 deletions

View file

@ -18,4 +18,43 @@ describe NewAdministrateur::SourcesParticulierController, type: :controller do
expect(subject.body).not_to have_selector("input#api_particulier_sources_cnaf_enfants_[value=date_de_naissance][checked=checked]")
end
end
describe "#update" do
let(:procedure) { create(:procedure, administrateur: admin, api_particulier_scopes: ['cnaf_enfants'], api_particulier_sources: {}) }
let(:params) { { procedure_id: procedure.id }.merge(requested_sources) }
before do
patch :update, params: params
procedure.reload
end
context 'when no source is requested' do
let(:requested_sources) { {} }
it { expect(procedure.api_particulier_sources).to be_empty }
end
context 'when a forbidden source is requested' do
let(:requested_sources) do
{
api_particulier_sources: { cnaf: { enfants: ['forbidden'] } }
}
end
it { expect(procedure.api_particulier_sources).to be_empty }
end
context 'when an authorized source is requested' do
let(:requested_sources) do
{
api_particulier_sources: { cnaf: { enfants: ['noms_prenoms'] } }
}
end
it 'saves the source' do
expect(procedure.api_particulier_sources).to eq("cnaf" => { "enfants" => ["noms_prenoms"] })
expect(flash.notice).to eq(I18n.t(".new_administrateur.sources_particulier.update.sources_ok"))
end
end
end
end