Skip to content

Commit 8f0111c

Browse files
authored
Merge pull request #73 from etalab/feature/dat-230-habilitation-api-captchetat
Feature/dat 230 habilitation api captchetat
2 parents 0df4bd3 + 05b911f commit 8f0111c

File tree

10 files changed

+80
-5
lines changed

10 files changed

+80
-5
lines changed
18.1 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class AuthorizationRequest::APICaptchEtat < AuthorizationRequest
2+
include AuthorizationExtensions::BasicInfos
3+
include AuthorizationExtensions::CadreJuridique
4+
include AuthorizationExtensions::PersonalData
5+
include AuthorizationExtensions::GDPRContacts
6+
7+
add_document :maquette_projet, content_type: ['application/pdf'], size: { less_than: 10.megabytes }
8+
9+
add_attributes :date_prevue_mise_en_production,
10+
:volumetrie_approximative
11+
12+
contact :contact_technique, validation_condition: -> { need_complete_validation?(:contacts) }
13+
end

config/authorization_definitions.yml

+7
Original file line numberDiff line numberDiff line change
@@ -173,3 +173,10 @@ shared:
173173
public: true
174174
cgu_link: 'https://presaje.sga.defense.gouv.fr/cgu-dln1f'
175175
provider: 'ministere_des_armees'
176+
177+
api_captchetat:
178+
name: "API CaptchEtat"
179+
description: "Générer un CAPTCHA pour sécuriser un service en ligne"
180+
public: true
181+
cgu_link: '/cgus/cgu_api_captchetat_v_1_2.pdf'
182+
provider: 'aife'

config/authorization_request_forms.yml

+8
Original file line numberDiff line numberDiff line change
@@ -167,3 +167,11 @@ La plateforme, mise en place pour permettre le dépôt de ces aides publiques et
167167
- name: 'personal_data'
168168
- name: 'legal'
169169
- name: 'contacts'
170+
171+
api-captchetat:
172+
authorization_request: 'APICaptchEtat'
173+
steps:
174+
- name: 'basic_infos'
175+
- name: 'personal_data'
176+
- name: 'legal'
177+
- name: 'contacts'

config/data_providers.yml

+5
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,8 @@ shared:
1616
name: Ministere Des Armees
1717
logo: minarm.jpg
1818
link: https://api.gouv.fr/les-api/api-service-national
19+
aife:
20+
name: Agence pour l'Information Financière de l'État
21+
logo: aife.jpeg
22+
link: https://aife.economie.gouv.fr/
23+

config/initializers/inflections.rb

+2
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@
1919
inflect.acronym 'HubEE'
2020
inflect.acronym 'DC'
2121
inflect.acronym 'DILA'
22+
23+
inflect.acronym 'CaptchEtat'
2224
end

docs/new_provider.md

+1-5
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,6 @@ end
157157
Vis-à-vis de la factory, il faut se rendre dans le fichier
158158
[`spec/factories/authorization_requests.rb`](../spec/factories/authorization_requests.rb) et compléter avec le nom de la classe en underscore.
159159

160-
Et pour le test, il faut modifier
161-
[`spec/models/authorization_request_spec.rb`](../spec/models/authorization_request_spec.rb)
162-
et ajouter dans le test de factory le trait de la factory pour bien vérifier que notre couche modèle est OK.
163-
164160
## 3. Configurer les formulations via l'I18n
165161

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

233229
```erb
234-
<%= render 'authorization_requests/build/header' %>
230+
<%= render 'authorization_request_forms/build/header' %>
235231
236232
<%= render partial: 'authorization_request_forms/shared/organization' %>
237233
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# language: fr
2+
3+
Fonctionnalité: Soumission d'une demande d'habilitation API CaptchEtat
4+
Contexte:
5+
Sachant que je suis un demandeur
6+
Et que je me connecte
7+
8+
@javascript
9+
Scénario: Je soumets une demande d'habilitation
10+
Quand je démarre une nouvelle demande d'habilitation "API CaptchEtat"
11+
12+
* je renseigne les infos de bases du projet
13+
* je remplis "Date de mise en production" avec "25/12/2042"
14+
* je clique sur "Suivant"
15+
16+
* je renseigne les infos concernant les données personnelles
17+
* je clique sur "Suivant"
18+
19+
* je remplis "Précisez la nature et les références du texte vous autorisant à traiter les données" avec "Article 42"
20+
* je remplis "URL du texte relatif au traitement" avec "https://legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000006430983&cidTexte=LEGITEXT000006070721"
21+
* je clique sur "Suivant"
22+
23+
* je clique sur "Suivant"
24+
25+
* je renseigne les informations des contacts RGPD
26+
* je remplis les informations du contact "Contact technique" avec :
27+
| Nom | Prénom | Email | Téléphone | Fonction |
28+
| Dupont | Marc | dupont.marc@gouv.fr | 08366565603 | Technique |
29+
* je clique sur "Suivant"
30+
31+
* j'adhère aux conditions générales
32+
* je clique sur "Soumettre la demande d'habilitation"
33+
34+
Alors il y a un message de succès contenant "soumise avec succès"
35+
Et je suis sur la page "Accueil"
596 KB
Binary file not shown.

spec/factories/authorization_requests.rb

+9
Original file line numberDiff line numberDiff line change
@@ -233,5 +233,14 @@
233233
api_service_national
234234
form_uid { 'api-service-national-obligation-service-national' }
235235
end
236+
237+
trait :api_captchetat do
238+
type { 'AuthorizationRequest::APICaptchEtat' }
239+
240+
form_uid { 'api-captchetat' }
241+
with_basic_infos
242+
with_personal_data
243+
with_cadre_juridique
244+
end
236245
end
237246
end

0 commit comments

Comments
 (0)