Skip to content

Commit f9ed1e5

Browse files
committed
Migrate decision tree tests for API Entreprise to cucumber
1 parent 34636cf commit f9ed1e5

File tree

5 files changed

+79
-80
lines changed

5 files changed

+79
-80
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# language: fr
2+
3+
@javascript
4+
Fonctionnalité: Choix du type de formulalire pour API Entreprise
5+
Le choix s'effectue à l'aide d'un arbre de décision en plusieurs étapes, spécifique à API
6+
Entreprise
7+
8+
Contexte:
9+
Sachant que je suis un demandeur
10+
Et que je me connecte
11+
12+
Scénario: Je choisis mon équipe de développeurs
13+
Quand je démarre une nouvelle demande d'habilitation "API Entreprise"
14+
Et que je choisis "Vos développeurs"
15+
Alors je vois au moins 3 tuiles
16+
Et je vois 1 tuile "Demande libre"
17+
Et je vois 1 tuile "Marchés publics"
18+
Et je vois 1 tuile "Aides publiques"
19+
20+
Scénario: Je choisis un éditeur ayant un formulaire
21+
Quand je démarre une nouvelle demande d'habilitation "API Entreprise"
22+
Et que je choisis "Votre éditeur"
23+
Et que je choisis "MGDIS"
24+
Alors je vois 1 tuile
25+
Et je vois 1 tuile "Solution Portail des aides de l'éditeur MGDIS"
26+
27+
Scénario: Je choisis un éditeur inconnu de API Entreprise
28+
Quand je démarre une nouvelle demande d'habilitation "API Entreprise"
29+
Et que je choisis "Votre éditeur"
30+
Et que je choisis "Aucun de ces éditeurs"
31+
Alors la page contient "Vous êtes éligible mais votre éditeur ne semble pas utiliser l'API Entreprise"
32+
33+
Scénario: Je choisis ni équipe technique ni éditeur
34+
Quand je démarre une nouvelle demande d'habilitation "API Entreprise"
35+
Et que je choisis "Ni équipe technique, ni éditeur"
36+
Alors la page contient "Vous êtes éligible mais n'avez pas les prérequis techniques"
37+
38+
Scénario: Je choisis mon équipe de développeurs avec le paramètre de cas d'usage
39+
Quand je démarre une nouvelle demande d'habilitation "API Entreprise" avec le paramètre "use_case" égal à "marches_publics"
40+
Et que je choisis "Vos développeurs"
41+
Alors je vois 2 tuiles
42+
Et je vois 1 tuile "Demande libre"
43+
Et je vois 1 tuile "Marchés publics"
44+
45+
Scénario: Je choisis un éditeur qui ne correspond pas au paramètre de cas d'usage
46+
Quand je démarre une nouvelle demande d'habilitation "API Entreprise" avec le paramètre "use_case" égal à "marches_publics"
47+
Et que je choisis "Votre éditeur"
48+
Et que je choisis "MGDIS"
49+
Alors la page contient "Vous êtes éligible mais votre éditeur ne semble pas utiliser l'API Entreprise"
50+
51+
Scénario: Je choisis un éditeur qui correspond au paramètre de cas d'usage
52+
Quand je démarre une nouvelle demande d'habilitation "API Entreprise" avec le paramètre "use_case" égal à "marches_publics"
53+
Et que je choisis "Votre éditeur"
54+
Et que je choisis "SETEC"
55+
Alors je vois 1 tuile
56+
Et je vois 1 tuile "Dématérialisation des marchés publics"

features/step_definitions/authorization_requests_steps.rb

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
click_on 'Débuter mon habilitation'
1313
end
1414

15+
Quand("je démarre une nouvelle demande d'habilitation {string} avec le paramètre {string} égal à {string}") do |string, key, value|
16+
visit choose_authorization_request_form_path(authorization_definition_id: find_authorization_definition_from_name(string).id, key => value)
17+
end
18+
1519
Quand('je clique sur {string} pour le formulaire {string}') do |cta_name, form_name|
1620
form_start_block = find('li', text: form_name)
1721

features/step_definitions/web_steps.rb

+19
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,22 @@
141141
expect(input).to be_readonly if %w[hidden checkbox].exclude?(input[:type])
142142
end
143143
end
144+
145+
# https://rubular.com/r/VFiiMdhrqB4UaV
146+
Alors(/je vois( au moins)? (\d+) (\w+)(?: "([^"]+)")?/) do |at_least, count, kind, text|
147+
kind_to_selector = {
148+
'tuile' => '.fr-tile',
149+
}
150+
151+
css = kind_to_selector[kind.singularize]
152+
153+
options = if at_least.present?
154+
{ minimum: count.to_i }
155+
else
156+
{ count: count.to_i }
157+
end
158+
159+
options[:text] = text if text.present?
160+
161+
expect(page).to have_css(css, **options)
162+
end

spec/features/authorization_requests/api_entreprise_spec.rb

-80
This file was deleted.

0 commit comments

Comments
 (0)