Skip to content

Commit

Permalink
PROCESS: Edit passage may be tested with cypress-cucumber (see #199).
Browse files Browse the repository at this point in the history
  • Loading branch information
benel committed Dec 31, 2024
1 parent 786309d commit eee6274
Show file tree
Hide file tree
Showing 9 changed files with 51 additions and 80 deletions.
31 changes: 0 additions & 31 deletions features/edit_glose_content.feature
Original file line number Diff line number Diff line change
Expand Up @@ -39,34 +39,3 @@ Scénario: sans être connecté
Alors je peux lire "Before editing this document, please log in first"
Et la glose est ouverte en mode édition

Scénario: dont les annotations sont manquantes ou inexistantes

Soit un document en deux passages affiché comme document principal
Et une session active avec mon compte
Et une glose faisant référence uniquement à la partie une
Quand j'essaie d'éditer le bloc 2 avec le texte
"""
Diane
: Acteurs
"""
Alors je peux lire:
"""
Diane
Acteurs
"""

Scénario: dont les annotations sont présentes

Soit un document en deux passages affiché comme document principal
Et une session active avec mon compte
Et une glose faisant référence uniquement à la partie une
Quand j'essaie d'éditer le bloc 1 avec le texte
"""
Diane
: Acteurs
"""
Alors je peux lire:
"""
Diane
Acteurs
"""
20 changes: 0 additions & 20 deletions features/edit_passage.feature

This file was deleted.

11 changes: 0 additions & 11 deletions features/step_definitions/context.rb
Original file line number Diff line number Diff line change
Expand Up @@ -94,17 +94,6 @@
click_on_icon_next_to('open', title)
end

Soit('une glose faisant référence uniquement à la partie une') do
click_on_icon('create-document')
click_on_text('content', '<TEXT>')
find('textarea').fill_in with:
"""
{1} First side passage
"""
leave_textarea
expect(page).to have_content 'First side passage'
end

Soit("le document intitulé {string} n'est pas affiché") do |title|
expect(page).not_to have_content(title)
end
Expand Down
12 changes: 0 additions & 12 deletions features/step_definitions/event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,10 @@
leave_textarea
end

Quand("j'essaie de remplacer le contenu du premier passage de la glose par :") do |markdown|
click_on_text('content')
fill_element('textarea', markdown)
leave_textarea
end

Quand("je clique sur la référence temporelle {string} avec pour commentaire {string}") do |timecode, comment|
find(:xpath, "//p[contains(., \"#{timecode}\")]", match: :first).click
end

Quand("j'essaie d'éditer le bloc {int} avec le texte") do |block_number, markdown|
find(".lectern>.row:nth-child(#{block_number + 1})>.scholium>.content>.formatted-text").click
fill_element('textarea', markdown)
leave_textarea
end

Quand("Christophe se connecte") do
sign_in('christophe', 'redqueen')
expect(find('.navbar')).to have_content 'christophe'
Expand Down
4 changes: 0 additions & 4 deletions features/step_definitions/outcome.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@
expect(page).to have_content text
end

Alors('je peux lire:') do |text|
expect(page).to have_content text
end

Alors('je ne peux pas lire {string}') do |text|
expect(page).not_to have_content text
end
Expand Down
26 changes: 26 additions & 0 deletions frontend/scenarios/edit_passage.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#language: fr

Fonctionnalité: Essayer d'éditer l'annotation d'un passage

Contexte:

Soit un document en deux passages affiché comme document principal
Et une glose dont je suis l'auteur faisant référence uniquement au premier passage
Et une session active avec mon compte

Scénario: quand celle-ci est inexistante

Quand j'essaie de remplacer la glose du passage 2 par :
"""
Passage intéressant !
"""
Alors je peux lire "Passage intéressant !"

Scénario: quand celle-ci pré-existe

Quand j'essaie de remplacer la glose du passage 1 par :
"""
Passage intéressant !
"""
Alors je peux lire "Passage intéressant !"

14 changes: 14 additions & 0 deletions frontend/tests/context.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,17 @@ Soit("un document dont je ne suis pas l'auteur affiché comme glose", () => {
cy.create_glose('4e1a31e14b032f2fa9e161ee9b123456', 'bill', 'madhatter');
});

Soit("un document en deux passages affiché comme document principal", () => {
cy.visit('/05b61f5285c711ed97bf6b9b56808c45');
});

Soit("une glose dont je suis l'auteur faisant référence uniquement au premier passage", () => {
cy.sign_in('alice', 'whiterabbit');
cy.get('.create-document').click();
cy.click_on_text('content', '<TEXT>');
cy.get('textarea').type('{selectAll}{{}1{}} First side passage'); // Braces are escaped for Cypress.
cy.leave_textarea();
cy.contains('First side passage').should('exist');
cy.sign_out();
});

6 changes: 6 additions & 0 deletions frontend/tests/event.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,9 @@ Quand("j'essaie de remplacer les métadonnées de la glose par :", (metadata) =>
cy.leave_textarea();
});

Quand("j'essaie de remplacer la glose du passage {int} par :", (block_number, markdown) => {
cy.get(`.lectern>.row:nth-child(${block_number + 1})>.scholium>.content>.formatted-text`).click();
cy.get('textarea').type('{selectAll} ' + markdown); // Braces are escaped for Cypress.
cy.leave_textarea();
});

7 changes: 5 additions & 2 deletions frontend/tests/support.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@ Cypress.Commands.add('sign_out', () => {
cy.reload();
});

Cypress.Commands.add('click_on_text', (type) => {
cy.get(`.editable.${type}`).first().click();
Cypress.Commands.add('click_on_text', (type, text) => {
let elements = text
? cy.contains(`.editable.${type}`, text)
: cy.get(`.editable.${type}`);
elements.first().click();
});

Cypress.Commands.add('leave_textarea', () => {
Expand Down

0 comments on commit eee6274

Please sign in to comment.