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

API CPR PRO-ADELIE #611

Merged
merged 2 commits into from
Dec 16, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
19 changes: 19 additions & 0 deletions app/models/authorization_request/api_cpr_pro_adelie.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
class AuthorizationRequest::APICprProAdelie < 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_cpr_pro_adelie_sandbox.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
class AuthorizationRequest::APICprProAdelieSandbox < 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
45 changes: 45 additions & 0 deletions config/authorization_definitions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -856,3 +856,48 @@ shared:
- name: operational_acceptance
- name: safety_certification
- name: volumetrie

api_cpr_pro_adelie_sandbox:
name: API CPR PRO-ADELIE
description: "FEEDME"
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"
# FEEDME
access_link: "https://api-pro-adelie.gouv.fr/tokens/%<external_provider_id>"
public: false
stage:
type: sandbox
next:
id: api_cpr_pro_adelie
form_id: api-cpr-pro-adelie-production
blocks:
- name: basic_infos
- name: personal_data
- name: legal
- name: contacts

api_cpr_pro_adelie:
name: API CPR PRO-ADELIE
description: "FEEDME"
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"
# FEEDME
access_link: "https://api-pro-adelie.gouv.fr/tokens/%<external_provider_id>"
public: false
stage:
type: production
previouses:
- id: api_cpr_pro_adelie_sandbox
form_id: api-cpr-pro-adelie-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_cpr_pro_adelie.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
api-cpr-pro-adelie-sandbox:
description: FEEDEME
Isalafont marked this conversation as resolved.
Show resolved Hide resolved
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 CPR PRO-ADELIE</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 CPR PRO-ADELIE</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: APICprProAdelieSandbox
steps: &api_cpr_pro_adelie_steps
- name: basic_infos
- name: personal_data
- name: legal
- name: contacts

api-cpr-pro-adelie-production:
description: FEEDEME
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 CPR PRO-ADELIE</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 CPR PRO-ADELIE</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: APICprProAdelie
static_blocks: *api_cpr_pro_adelie_steps
steps:
- name: operational_acceptance
- name: legal
- name: safety_certification
- name: volumetrie
54 changes: 54 additions & 0 deletions features/habilitations/api_cpr_pro_adelie.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 CPR PRO-ADELIE
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 CPR PRO-ADELIE" à 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 CPR PRO-ADELIE" à 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.
23 changes: 23 additions & 0 deletions spec/factories/authorization_requests.rb
Original file line number Diff line number Diff line change
Expand Up @@ -669,5 +669,28 @@
with_operational_acceptance
with_volumetrie
end

trait :api_cpr_pro_adelie_sandbox do
type { 'AuthorizationRequest::APICprProAdelieSandbox' }

form_uid { 'api-cpr-pro-adelie-sandbox' }

with_basic_infos
with_personal_data
with_cadre_juridique
end

trait :api_cpr_pro_adelie_production do
type { 'AuthorizationRequest::APICprProAdelie' }

form_uid { 'api-cpr-pro-adelie-production' }

with_basic_infos
with_personal_data
with_cadre_juridique
with_safety_certification
with_operational_acceptance
with_volumetrie
end
end
end
Loading