Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/dat 230 habilitation api captchetat #73

Merged
merged 2 commits into from
Feb 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added app/assets/images/data_providers/aife.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions app/models/authorization_request/api_captchetat.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
class AuthorizationRequest::APICaptchEtat < AuthorizationRequest
include AuthorizationExtensions::BasicInfos
include AuthorizationExtensions::CadreJuridique
include AuthorizationExtensions::PersonalData
include AuthorizationExtensions::GDPRContacts

add_document :maquette_projet, content_type: ['application/pdf'], size: { less_than: 10.megabytes }

add_attributes :date_prevue_mise_en_production,
:volumetrie_approximative

contact :contact_technique, validation_condition: -> { need_complete_validation?(:contacts) }
end
7 changes: 7 additions & 0 deletions config/authorization_definitions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -173,3 +173,10 @@ shared:
public: true
cgu_link: 'https://presaje.sga.defense.gouv.fr/cgu-dln1f'
provider: 'ministere_des_armees'

api_captchetat:
name: "API CaptchEtat"
description: "Générer un CAPTCHA pour sécuriser un service en ligne"
public: true
cgu_link: '/cgus/cgu_api_captchetat_v_1_2.pdf'
provider: 'aife'
8 changes: 8 additions & 0 deletions config/authorization_request_forms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,3 +167,11 @@ La plateforme, mise en place pour permettre le dépôt de ces aides publiques et
- name: 'personal_data'
- name: 'legal'
- name: 'contacts'

api-captchetat:
authorization_request: 'APICaptchEtat'
steps:
- name: 'basic_infos'
- name: 'personal_data'
- name: 'legal'
- name: 'contacts'
5 changes: 5 additions & 0 deletions config/data_providers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,8 @@ shared:
name: Ministere Des Armees
logo: minarm.jpg
link: https://api.gouv.fr/les-api/api-service-national
aife:
name: Agence pour l'Information Financière de l'État
logo: aife.jpeg
link: https://aife.economie.gouv.fr/

2 changes: 2 additions & 0 deletions config/initializers/inflections.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,6 @@
inflect.acronym 'HubEE'
inflect.acronym 'DC'
inflect.acronym 'DILA'

inflect.acronym 'CaptchEtat'
end
6 changes: 1 addition & 5 deletions docs/new_provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,6 @@ end
Vis-à-vis de la factory, il faut se rendre dans le fichier
[`spec/factories/authorization_requests.rb`](../spec/factories/authorization_requests.rb) et compléter avec le nom de la classe en underscore.

Et pour le test, il faut modifier
[`spec/models/authorization_request_spec.rb`](../spec/models/authorization_request_spec.rb)
et ajouter dans le test de factory le trait de la factory pour bien vérifier que notre couche modèle est OK.

## 3. Configurer les formulations via l'I18n

Il faut à minima définir les noms des attributs définis dans le modèle. Cela se
Expand Down Expand Up @@ -215,7 +211,7 @@ Il faut créer le fichier `mon_api.html.erb` dans le dossier
[`app/views/authorization_request_forms/`](../app/views/authorization_request_forms/) avec le markup minimal:

```erb
<%= render 'authorization_requests/build/header' %>
<%= render 'authorization_request_forms/build/header' %>

<%= render partial: 'authorization_request_forms/shared/organization' %>

Expand Down
35 changes: 35 additions & 0 deletions features/habilitations/api_captchetat.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# language: fr

Fonctionnalité: Soumission d'une demande d'habilitation API CaptchEtat
Contexte:
Sachant que je suis un demandeur
Et que je me connecte

@javascript
Scénario: Je soumets une demande d'habilitation
Quand je démarre une nouvelle demande d'habilitation "API CaptchEtat"

* je renseigne les infos de bases du projet
* je remplis "Date de mise en production" avec "25/12/2042"
* je clique sur "Suivant"

* je renseigne les infos concernant les données personnelles
* je clique sur "Suivant"

* je remplis "Précisez la nature et les références du texte vous autorisant à traiter les données" avec "Article 42"
* je remplis "URL du texte relatif au traitement" avec "https://legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000006430983&cidTexte=LEGITEXT000006070721"
* je clique sur "Suivant"

* je clique sur "Suivant"

* je renseigne les informations des contacts RGPD
* je remplis les informations du contact "Contact technique" avec :
| Nom | Prénom | Email | Téléphone | Fonction |
| Dupont | Marc | dupont.marc@gouv.fr | 08366565603 | Technique |
* je clique sur "Suivant"

* j'adhère aux conditions générales
* je clique sur "Soumettre la demande d'habilitation"

Alors il y a un message de succès contenant "soumise avec succès"
Et je suis sur la page "Accueil"
Binary file added public/cgus/cgu_api_captchetat_v_1_2.pdf
Binary file not shown.
9 changes: 9 additions & 0 deletions spec/factories/authorization_requests.rb
Original file line number Diff line number Diff line change
Expand Up @@ -227,5 +227,14 @@
api_service_national
form_uid { 'api-service-national-obligation-service-national' }
end

trait :api_captchetat do
type { 'AuthorizationRequest::APICaptchEtat' }

form_uid { 'api-captchetat' }
with_basic_infos
with_personal_data
with_cadre_juridique
end
end
end
Loading