From 7103858cfea2eb77665302771b66e5f170ac29b1 Mon Sep 17 00:00:00 2001 From: Nyrco Date: Tue, 28 Apr 2026 16:56:27 +0200 Subject: [PATCH 1/2] SCENARIO: Concurrent editors of the same document should be aware of which blocs are being edited (see #250). Co-authored-by: Nyrco --- frontend/scenarios/co-edit.feature | 16 +++++++++------- frontend/tests/context.js | 18 +++++++++++++++++- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/frontend/scenarios/co-edit.feature b/frontend/scenarios/co-edit.feature index bcdcb8a9..34889a59 100644 --- a/frontend/scenarios/co-edit.feature +++ b/frontend/scenarios/co-edit.feature @@ -5,20 +5,22 @@ Fonctionnalité: Coéditer un document avec un collaborateur Contexte: Soit un document dont je suis l'auteur affiché comme glose Et une session active avec mon compte - Et "Bill" un des éditeurs de la glose + Et "bill" un des éditeurs de la glose Scénario: qui modifie le contenu - Quand "Bill" remplace le contenu de la glose par : + Soit le passage "2" en mode édition + Quand "bill" remplace le passage "1" de la glose par : """ - Notre sujet porte sur... + Notre sujet porte sur... """ - Alors la glose en mode édition contient "Notre sujet" + Alors le passage "1" de la glose contient "Notre sujet porte sur..." + Et le passage "2" est toujours en mode édition Scénario: qui modifie les métadonnées - Quand "Bill" remplace les métadonnées de la glose par : + Quand "bill" remplace les métadonnées de la glose par : """ - dc_creator: Bill + dc_creator: bill """ - Alors les métadonnées de la glose en mode édition contiennent "dc_creator: Bill" + Alors les métadonnées de la glose en mode édition contiennent "dc_creator: bill" diff --git a/frontend/tests/context.js b/frontend/tests/context.js index b1a04f6b..ebadcddd 100644 --- a/frontend/tests/context.js +++ b/frontend/tests/context.js @@ -76,6 +76,8 @@ Soit("un document dont je suis l'auteur affiché comme glose", () => { cy.sign_out(); }); +Soit("un document contentdont je suis l'auteur affiché comme glose") + Soit("avec un document reconnaissable dont je suis l'auteur affiché comme glose", () => { cy.sign_in('alice'); cy.create_glose(true); @@ -144,6 +146,21 @@ Soit("un autre document, en plusieurs passages, affiché comme glose et dont je cy.sign_out(); }); +Soit("un document dont je suis l'auteur, en plusieurs passages, affiché comme glose et dont je suis l'auteur", () => { + cy.sign_in('alice', '/'); + cy.create_document_from_scratch(); + const longText = `Première partie : +Ceci est un texte d'exemple suffisamment long pour constituer le premier passage. Il contient plusieurs phrases et même une seconde phrase pour la robustesse. + +Deuxième partie : +Voici le second passage qui contient aussi plusieurs phrases et permettra au découpage de produire au moins deux passages distincts.`; + cy.edit_content(longText); + cy.get('.focus').click(); + cy.click_on_contextual_menu_item('.runningHead .scholium', 'Break into numbered passages'); + cy.get('.lectern .row:not(.runningHead) .scholium').should('have.length.greaterThan', 1); + cy.sign_out(); +}); + Soit("un document dont je suis l'auteur affiché comme glose et contenant :", (text) => { cy.sign_in('alice', '/'); cy.create_document_from_scratch(); @@ -227,4 +244,3 @@ Soit("je modifie le document", () => { Soit("{string} le nom de la licence du document principal", (license) => { cy.get('.license').eq(0).should('contain', license); }); - From 78f5e2f668d1014f454104ce5bf4338f1f2eda27 Mon Sep 17 00:00:00 2001 From: PA0Lbst Date: Tue, 26 May 2026 17:40:44 +0200 Subject: [PATCH 2/2] TEST: Concurrent editors of the same document should be aware of which blocs are being edited (see #250). Co-authored-by: Nyrco --- frontend/scenarios/co-edit.feature | 15 +++++++-------- frontend/tests/context.js | 2 -- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/frontend/scenarios/co-edit.feature b/frontend/scenarios/co-edit.feature index 34889a59..431054d0 100644 --- a/frontend/scenarios/co-edit.feature +++ b/frontend/scenarios/co-edit.feature @@ -3,24 +3,23 @@ Fonctionnalité: Coéditer un document avec un collaborateur Contexte: - Soit un document dont je suis l'auteur affiché comme glose + Soit un document dont je suis l'auteur, en plusieurs passages, affiché comme glose et dont je suis l'auteur Et une session active avec mon compte Et "bill" un des éditeurs de la glose -Scénario: qui modifie le contenu - Soit le passage "2" en mode édition +Scénario: qui modifie le contenu + Soit le passage "2" est en mode édition Quand "bill" remplace le passage "1" de la glose par : """ Notre sujet porte sur... """ Alors le passage "1" de la glose contient "Notre sujet porte sur..." Et le passage "2" est toujours en mode édition - + Scénario: qui modifie les métadonnées Quand "bill" remplace les métadonnées de la glose par : """ - dc_creator: bill - - """ - Alors les métadonnées de la glose en mode édition contiennent "dc_creator: bill" + dc_creator: Bill + """ + Alors les métadonnées de la glose en mode édition contiennent "dc_creator: Bill" diff --git a/frontend/tests/context.js b/frontend/tests/context.js index ebadcddd..54270f23 100644 --- a/frontend/tests/context.js +++ b/frontend/tests/context.js @@ -76,8 +76,6 @@ Soit("un document dont je suis l'auteur affiché comme glose", () => { cy.sign_out(); }); -Soit("un document contentdont je suis l'auteur affiché comme glose") - Soit("avec un document reconnaissable dont je suis l'auteur affiché comme glose", () => { cy.sign_in('alice'); cy.create_glose(true);