Skip to content

Commit acbd7e0

Browse files
TEST: Reintroducing tests
* A user can register herself * A registered user can connect to the platform * A connected user can create a diary
1 parent 985ab04 commit acbd7e0

File tree

8 files changed

+155
-0
lines changed

8 files changed

+155
-0
lines changed

features/diary_create.feature

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#language : fr
2+
3+
Fonctionnalité: Créer un journal
4+
5+
Scénario: créer un journal
6+
7+
Soit l'analyse est connecté
8+
Quand l'analyse crée un journal
9+
Alors le journal est créé

features/enter.feature

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#language: fr
2+
3+
Fonctionnalité: Entrer
4+
5+
Scénario: à partir de la page d'accueil
6+
7+
Soit un navigateur sur la page d'accueil
8+
Quand l'analyste clique sur "Journal pour l'analyse qualitative"
9+
Alors le titre "Journaux de bord" est affiché
10+
Et le bouton "S'identifier" est affiché
11+
Et le bouton "Créer un compte" est affiché
12+
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
Soit("un navigateur sur la page d'accueil") do
3+
visit "/"
4+
end
5+
6+
Soit("la page des journaux de bord") do
7+
visit "/memo/"
8+
end
9+
10+
Soit("l'analyse est connecté") do
11+
visit "/memo/"
12+
click_on "S'identifier"
13+
expect(page).to have_content("S'identifier")
14+
fill_in placeholder: 'Identifiant', with: "bob@acme.org"
15+
fill_in placeholder: 'Mot de passe', with: "Ep0nge"
16+
click_on "S'identifier"
17+
expect(page).to have_content "Se déconnecter"
18+
end
19+
20+
Soit("une page comportant le bouton {string}") do |btn|
21+
expect(page).to have_content btn
22+
end
23+

features/step_definitions/event.rb

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
Quand("l'analyste entre") do
2+
visit "/memo/"
3+
end
4+
5+
Quand("l'analyste clique sur {string}") do |lien|
6+
click_on lien
7+
end
8+
9+
Quand("l'analyste souhaite s'identifier en tant que {string} avec le mot de passe {string}") do |login, password|
10+
click_on "S'identifier"
11+
expect(page).to have_content("S'identifier")
12+
fill_in placeholder: 'Identifiant', with: login
13+
fill_in placeholder: 'Mot de passe', with: password
14+
click_on "S'identifier"
15+
end
16+
17+
Quand("{string} souhaite créer un compte en tant que {string} avec le mot de passe {string}") do |fullname, login, password|
18+
click_on "Créer un compte"
19+
expect(page).to have_content("Je ne fais pas partie de l'université de Liège")
20+
find("#newaccount").click
21+
expect(page).to have_content("Nom complet (prénom et nom de famille)")
22+
range = [*'0'..'9',*'A'..'F']
23+
hash = Array.new(36){ range.sample }.join
24+
fill_in placeholder: 'Jack London', with: 'test'+ hash + fullname
25+
fill_in placeholder: 'user@example.net', with: login + hash
26+
fill_in "password", with: password
27+
fill_in "confirm", with: password
28+
click_on "Créer un compte"
29+
click_on "Journaux de bord"
30+
end
31+
32+
33+
Quand("l'analyse crée un journal") do
34+
visit "/memo/"
35+
numbers = [*'0'..'9']
36+
cardinal = Array.new(3){ numbers.sample }.join
37+
fill_in placeholder: 'Mon journal de bord', with: 'essai ' + cardinal
38+
click_on "Créer..."
39+
click_on "Enregistrer"
40+
expect(page).to have_content("Ajouter un ancrage")
41+
visit "/memo/"
42+
expect(page).to have_content('essai ' + cardinal)
43+
end
44+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Alors ("le bouton {string} est affiché") do |btn|
2+
expect(page).to have_content btn
3+
end
4+
5+
Alors ("le titre {string} est affiché") do |title|
6+
expect(page).to have_content title
7+
end
8+
9+
10+
Alors("l'analyste est connecté") do
11+
expect(page).to have_content "Se déconnecter"
12+
end
13+
14+
Alors("l'analyste n'est pas connecté") do
15+
expect(page).to have_content "S'identifier"
16+
end

features/support/env.rb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
require 'capybara/cucumber'
2+
require 'capybara/cuprite'
3+
4+
Before do
5+
Capybara.current_session.driver.add_headers("Accept-Language" => "fr")
6+
end
7+
Capybara.run_server = false
8+
Capybara.default_driver = :cuprite
9+
Capybara.javascript_driver = :cuprite
10+
Capybara.app_host = ENV["APP_HOST"] || "http://localhost:3000"
11+
Capybara.default_max_wait_time = 10
12+
Capybara.register_driver(:cuprite) do |app|
13+
Capybara::Cuprite::Driver.new(app,
14+
browser_options: { 'no-sandbox': nil },
15+
timeout: 30
16+
)
17+
end

features/user_connect.feature

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#language : fr
2+
3+
Fonctionnalité: S'identifier
4+
5+
Scénario: avec un mot de passe correct
6+
7+
Soit la page des journaux de bord
8+
Quand l'analyste souhaite s'identifier en tant que "bob@acme.org" avec le mot de passe "Ep0nge"
9+
Alors l'analyste est connecté
10+
Et le bouton "Créer..." est affiché
11+
12+
Scénario: avec un mot de passe erroné
13+
14+
Soit la page des journaux de bord
15+
Quand l'analyste souhaite s'identifier en tant que "bob@acme.org" avec le mot de passe "Eponge"
16+
Alors l'analyste n'est pas connecté

features/user_register.feature

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#language : fr
2+
3+
Fonctionnalité: Créer un compte
4+
5+
Scénario: se rendre au bon endroit
6+
7+
Soit la page des journaux de bord
8+
Quand l'analyste clique sur "Créer un compte"
9+
Alors le titre "Créer un compte" est affiché
10+
Et le bouton "Je fais partie de l'université de Liège" est affiché
11+
Et le bouton "Je ne fais pas partie de l'université de Liège" est affiché
12+
13+
Scénario: créer un compte
14+
15+
Soit la page des journaux de bord
16+
Quand "Robert Testeur" souhaite créer un compte en tant que "bob" avec le mot de passe "bricoleur"
17+
Alors l'analyste est connecté
18+

0 commit comments

Comments
 (0)