Skip to content

Commit

Permalink
API Satelit
Browse files Browse the repository at this point in the history
  - Correct tous les liens CGU's
  • Loading branch information
Isalafont committed Dec 17, 2024
1 parent ece4295 commit 91a78d2
Show file tree
Hide file tree
Showing 8 changed files with 244 additions and 12 deletions.
19 changes: 19 additions & 0 deletions app/models/authorization_request/api_satelit.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
class AuthorizationRequest::APISatelit < AuthorizationRequest
include AuthorizationExtensions::BasicInfos
include AuthorizationExtensions::PersonalData
include AuthorizationExtensions::CadreJuridique
include AuthorizationExtensions::GDPRContacts
include AuthorizationExtensions::OperationalAcceptance
include AuthorizationExtensions::SafetyCertification
include AuthorizationExtensions::Volumetrie

VOLUMETRIES = {
'500 appels / minute': 500,
}.freeze

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

add_attributes :date_prevue_mise_en_production

contact :contact_technique, validation_condition: ->(record) { record.need_complete_validation?(:contacts) }
end
15 changes: 15 additions & 0 deletions app/models/authorization_request/api_satelit_sandbox.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
class AuthorizationRequest::APISatelitSandbox < AuthorizationRequest
include AuthorizationExtensions::BasicInfos
include AuthorizationExtensions::PersonalData
include AuthorizationExtensions::CadreJuridique
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: ->(record) { record.need_complete_validation?(:contacts) }

add_checkbox :dpd_homologation_checkbox
end
69 changes: 57 additions & 12 deletions config/authorization_definitions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -682,7 +682,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/cgu_bas_opale_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/cgu_bas_opale_v.2023_11.pdf"
# FEED ME
access_link: "https://api-opale.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -703,7 +703,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/cgu_prod_opale_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/cgu_prod_opale_v.2023_11.pdf"
# FEEDME
access_link: "https://api-opale.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -727,7 +727,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/pcr_v1/cgu_bas_ocfi_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/pcr_v1/cgu_bas_ocfi_v.2023_11.pdf"
# FEEDME
access_link: "https://api-ocfi.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -748,7 +748,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/prc_v1/cgu_prod_ocfi_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/prc_v1/cgu_prod_ocfi_v.2023_11.pdf"
# FEEDME
access_link: "https://api-ocfi.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -772,7 +772,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/prc_v1/cgu_bas_e_pro_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/prc_v1/cgu_bas_e_pro_v.2023_11.pdf"
# FEEDME
access_link: "https://api-e-pro.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -793,7 +793,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/prc_v1/cgu_prod_e_pro_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/prc_v1/cgu_prod_e_pro_v.2023_11.pdf"
# FEEDME
access_link: "https://api-e-pro.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -817,7 +817,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/prc_v1/cgu_bas_robf_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/prc_v1/cgu_bas_robf_v.2023_11.pdf"
# FEEDME
access_link: "https://api-robf.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -839,7 +839,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/prc_v1/cgu_prod_robf_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/prc_v1/cgu_prod_robf_v.2023_11.pdf"
# FEEDME
access_link: "https://api-robf.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -863,7 +863,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/prc_v1/cgu_bas_cpr_pro_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/prc_v1/cgu_bas_cpr_pro_v.2023_11.pdf"
# FEEDME
access_link: "https://api-pro-adelie.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -884,7 +884,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://api.gouv.fr/producteurs/dgfip"
cgu_link: "/public/cgus/dgfip/prc_v1/cgu_prod_cpr_pro_v.2023_11.pdf"
cgu_link: "/cgus/dgfip/prc_v1/cgu_prod_cpr_pro_v.2023_11.pdf"
# FEEDME
access_link: "https://api-pro-adelie.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -908,7 +908,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://www.data.gouv.fr/fr/dataservices/api-imprimfip/"
cgu_link: "/public/cgus/dgfip/cgu_bas_imprimfip_v.2023_09.pdf"
cgu_link: "/cgus/dgfip/cgu_bas_imprimfip_v.2023_09.pdf"
# FEEDME
access_link: "https://api-imprimfip.gouv.fr/tokens/%<external_provider_id>"
public: false
Expand All @@ -929,7 +929,7 @@ shared:
provider: "dgfip"
kind: 'api'
link: "https://www.data.gouv.fr/fr/dataservices/api-imprimfip/"
cgu_link: "/public/cgus/dgfip/cgu_prod_imprimfip_v.2023_09.pdf"
cgu_link: "/cgus/dgfip/cgu_prod_imprimfip_v.2023_09.pdf"
access_link: "https://api-imprimfip.gouv.fr/tokens/%<external_provider_id>"
public: false
stage:
Expand All @@ -946,3 +946,48 @@ shared:
- name: safety_certification
- name: volumetrie

api_satelit_sandbox:
name: API Satelit
description: "FEEDME"
provider: "dgfip"
kind: 'api'
link: "https://api-satelit.gouv.fr/feedme-with-valid-url"
cgu_link: "/cgus/dgfip/pcr_v1/cgu_bas_satelit_v.2022_v1.pdf"
# FEEDME
access_link: "https://api-satelit.gouv.fr/tokens/%<external_provider_id>"
public: false
stage:
type: sandbox
next:
id: api_satelit
form_id: api-satelit-production
blocks:
- name: basic_infos
- name: personal_data
- name: legal
- name: contacts

api_satelit:
name: API Satelit
description: "FEEDME"
provider: "dgfip"
kind: 'api'
link: "https://api-satelit.gouv.fr/feedme-with-valid-url"
cgu_link: "/cgus/dgfip/pcr_v1/cgu_prod_satelit_v.2022_v1.pdf"
# FEEDME
access_link: "https://api-satelit.gouv.fr/tokens/%<external_provider_id>"
public: false
stage:
type: production
previouses:
- id: api_satelit_sandbox
form_id: api-satelit-sandbox
blocks:
- name: basic_infos
- name: personal_data
- name: legal
- name: contacts
- name: operational_acceptance
- name: safety_certification
- name: volumetrie

74 changes: 74 additions & 0 deletions config/authorization_request_forms/api_satelit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
api-satelit-sandbox:
description: FEEDME
introduction: |
Notre équipe d’instruction étudiera votre demande en bac à sable, lorsqu’elle sera validée vous pourrez compléter la suite de votre demande.
<div class="intro-stepper">
<div class="step current">
<div class="step-number">1.</div>
<div class="step-content">
<h3>Le bac à sable</h3>
<p class="fr-text--xs">Dans un premier temps, une demande d’habilitation au <strong>bac à sable</strong> de l'API Satelit</p>
</div>
</div>
<div class="step pending">
<div class="step-number">2.</div>
<div class="step-content">
<h3>La production</h3>
<p class="fr-text--xs">Dans un second temps, une demande d’habilitation à la <strong>production</strong> de l'API Satelit</p>
</div>
</div>
<div class="step pending">
<div class="step-number">3.</div>
<div class="step-content">
<h3>Votre service est ouvert !</h3>
<p class="fr-text--xs">Une fois vos habilitations validées, vous pouvez ouvrir votre service !</p>
</div>
</div>
</div>
authorization_request: APISatelitSandbox
steps: &api_satelit_steps
- name: basic_infos
- name: personal_data
- name: legal
- name: contacts

api-satelit-production:
description: FEEDME
introduction: |
Votre demande d'accès au bac à sable a été validée, vous pouvez à présent poursuivre votre demande en demandant les accès à la production.
<div class="intro-stepper">
<div class="step completed">
<div class="step-number">1.</div>
<div class="step-content">
<h3>Le bac à sable</h3>
<p class="fr-text--xs">Dans un premier temps, une demande d’habilitation au <strong>bac à sable</strong> de l'API Satelit</p>
</div>
</div>
<div class="step current">
<div class="step-number">2.</div>
<div class="step-content">
<h3>La production</h3>
<p class="fr-text--xs">Dans un second temps, une demande d’habilitation à la <strong>production</strong> de l'API Satelit</p>
</div>
</div>
<div class="step pending">
<div class="step-number">3.</div>
<div class="step-content">
<h3>Votre service est ouvert !</h3>
<p class="fr-text--xs">Une fois vos habilitations validées, vous pouvez ouvrir votre service !</p>
</div>
</div>
</div>
authorization_request: APISatelit
static_blocks: *api_satelit_steps
steps:
- name: operational_acceptance
- name: legal
- name: safety_certification
- name: volumetrie
54 changes: 54 additions & 0 deletions features/habilitations/api_satelit.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# language: fr

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

Scénario: Je soumets une demande d'habilitation valide à l'étape Bac à sable
* je démarre une nouvelle demande d'habilitation "API Satelit" à l'étape "Bac à sable"
* je renseigne les infos de bases du projet
* je clique sur "Suivant"

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

* je renseigne le cadre légal
* je clique sur "Suivant"

* je renseigne les informations des contacts RGPD
* je renseigne les informations du contact technique
* je clique sur "Suivant"

* j'adhère aux conditions générales

* je coche "J’atteste que mon organisation devra déclarer à la DGFiP l’accomplissement des formalités en matière de protection des données à caractère personnel et qu’elle veillera à procéder à l’homologation de sécurité de son projet."

* 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 "Demandes et habilitations"

Scénario: Je soumets une demande d'habilitation valide à l'étape Production
Quand j'ai 1 demande d'habilitation "API Satelit" à l'étape "Bac à sable" validée
Et que je me rends sur mon tableau de bord
Et je clique sur "Démarrer ma demande d’habilitation en production"
Et que je clique sur "Débuter ma demande"

* je renseigne la recette fonctionnelle
* je clique sur "Suivant"

* je renseigne le cadre légal
* je clique sur "Suivant"

* je renseigne l'homologation de sécurité
* je clique sur "Suivant"

* je renseigne la volumétrie
* 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 "Demandes et habilitations"
Binary file not shown.
Binary file not shown.
25 changes: 25 additions & 0 deletions spec/factories/authorization_requests.rb
Original file line number Diff line number Diff line change
Expand Up @@ -721,5 +721,30 @@
with_operational_acceptance
with_volumetrie
end

trait :api_satelit_sandbox do
type { 'AuthorizationRequest::APISatelitSandbox' }

form_uid { 'api-satelit-sandbox' }

with_basic_infos
with_personal_data
with_cadre_juridique
end

trait :api_satelit_production do
type { 'AuthorizationRequest::APISatelit' }

form_uid { 'api-satelit-production' }

has_previous_authorization_validated

with_basic_infos
with_personal_data
with_cadre_juridique
with_safety_certification
with_operational_acceptance
with_volumetrie
end
end
end

0 comments on commit 91a78d2

Please sign in to comment.