publish only some opendata procedures for datagouv

- only published or closed procedures
- only procedures with flag opendata
- only procedures with 4 or more dossiers
- only procedures without word "mail" in lien_site_web
- only procedures without word "intra" in lien_site_web
This commit is contained in:
Christophe Robillard 2023-02-28 16:25:53 +01:00
parent 7e13d58db2
commit 9ff88db48c
5 changed files with 45 additions and 3 deletions

View file

@ -395,6 +395,39 @@ describe Procedure do
end
end
describe 'publiques' do
let(:draft_procedure) { create(:procedure_with_dossiers, :draft, estimated_dossiers_count: 4, lien_site_web: 'https://monministere.gouv.fr/cparici') }
let(:published_procedure) { create(:procedure_with_dossiers, :published, estimated_dossiers_count: 4, lien_site_web: 'https://monministere.gouv.fr/cparici') }
let(:published_procedure_no_opendata) { create(:procedure_with_dossiers, :published, estimated_dossiers_count: 4, opendata: false) }
let(:published_procedure_with_3_dossiers) { create(:procedure_with_dossiers, :published, estimated_dossiers_count: 3) }
let(:published_procedure_with_mail) { create(:procedure_with_dossiers, :published, estimated_dossiers_count: 4, lien_site_web: 'par mail') }
let(:published_procedure_with_intra) { create(:procedure_with_dossiers, :published, estimated_dossiers_count: 4, lien_site_web: 'https://intra.service-etat.gouv.fr') }
it 'returns published procedure, with opendata flag, with accepted lien_site_web' do
expect(Procedure.publiques).not_to include(published_procedure_no_opendata)
end
it "returns only published or closed procedures" do
expect(Procedure.publiques).not_to include(draft_procedure)
end
it "returns only procedures with opendata flag" do
expect(Procedure.publiques).not_to include(published_procedure_with_mail)
end
it "returns only procedures without mail in lien_site_web" do
expect(Procedure.publiques).not_to include(published_procedure_with_mail)
end
it "returns only procedures without intra in lien_site_web" do
expect(Procedure.publiques).not_to include(published_procedure_with_intra)
end
it "does not return procedures with less than 4 dossiers" do
expect(Procedure.publiques).not_to include(published_procedure_with_3_dossiers)
end
end
describe 'active' do
let(:procedure) { create(:procedure) }
subject { Procedure.active(procedure.id) }