Skip to content

Commit 2d621df

Browse files
FredWantoulucas-rubagotti
andcommitted
TEST: Delete a picture from a document (see #187).
Co-authored-by: lucas-rubagotti <lucas.rubagotti@utt.fr>
1 parent ec780eb commit 2d621df

4 files changed

Lines changed: 54 additions & 20 deletions

File tree

frontend/scenarios/delete_image_in_document.feature

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,11 @@
22

33
Fonctionnalité: Supprimer à l'intérieur d'un document une image
44

5-
Scénario: qui existe
5+
Scénario:
66

7-
Soit un document existant affiché comme document principal
8-
Et contient l'image "diagramme de classe"
7+
Soit le document contenant l'image "graphique" affiché comme document principal
98
Et une session active avec mon compte
10-
Quand j'essaie de supprimer l'image "diagramme de classe"
11-
Alors je ne vois plus l'image "diagramme de classe" dans la glose
12-
13-
Scénario: qui n'existe pas
14-
15-
Soit un document existant affiché comme document principal
16-
Et contient l'image "diagramme de classe"
17-
Et contient l'image "graphique"
18-
Et une session active avec mon compte
19-
Quand j'essaie de supprimer l'image "diagramme de classe"
20-
Alors je ne vois plus l'image "diagramme de classe" dans la glose
21-
Et je vois toujours l'image "graphique" dans la glose
22-
23-
24-
25-
9+
Et une glose qui contient l'image "<IMAGE DESCRIPTION>"
10+
Quand j'essaie de supprimer l'image "<IMAGE DESCRIPTION>"
11+
Alors je ne vois plus l'image "<IMAGE DESCRIPTION>" dans la glose
12+
Et je vois l'image "graphique" dans la glose

frontend/tests/context.js

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,38 @@ Soit ("qui n'a pas de document source", () => {
102102

103103
Soit ("qui a un document source", () => {
104104
cy.get('.sources').find('.card-body').should('exist');
105-
});
105+
});
106+
107+
Soit("le document contenant l'image {string} affiché comme document principal", (alt) => {
108+
cy.sign_in('alice','/');
109+
cy.create_glose();
110+
111+
context = cy.get('.scholium').eq(1);
112+
cy.click_on_contextual_menu_item(context, 'Add a picture...');
113+
cy.get('[id="image-input"]').selectFile('../docs/component_bookshelf.png', {
114+
force: true,
115+
})
116+
117+
cy.get('img[alt="<IMAGE DESCRIPTION>"]',{ timeout: 10000 })
118+
.should('be.visible')
119+
120+
cy.click_on_text('content');
121+
cy.get('textarea')
122+
.invoke('val')
123+
.then((text) => {
124+
const updatedText = text.replace(/\!\[.*?\]/, `![${alt}]`);
125+
cy.get('textarea').clear().type(updatedText, { delay: 0 });
126+
});
127+
cy.sign_out()
128+
});
129+
130+
Soit("une glose qui contient l'image {string}", (altText) => {
131+
132+
context = cy.get('.scholium').eq(1);
133+
cy.click_on_contextual_menu_item(context, 'Add a picture...');
134+
cy.get('[id="image-input"]').selectFile('../docs/architecture.png', {
135+
force: true,
136+
});
137+
138+
});
139+

frontend/tests/event.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,14 @@ Quand("j'essaye d'ajouter une image à une glose", () => {
9595
cy.get('[id="image-input"]').selectFile('../docs/architecture.png', {
9696
force: true,
9797
});
98+
cy.get('img[alt="<IMAGE DESCRIPTION>"]',{ timeout: 10000 })
99+
.should('be.visible')
98100
});
101+
102+
Quand("j'essaie de supprimer l'image {string}", (alt) => {
103+
cy.get(`img[alt="${alt}"]`).scrollIntoView().should('be.visible')
104+
.parents('figure')
105+
.find('.trash-overlay')
106+
.click({ force: true });
107+
cy.contains('button', 'Supprimer').click()
99108
});

frontend/tests/outcome.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,8 @@ Alors("la rubrique {string} est associée au passage {string}", (rubric, text) =
100100
Alors("{string} est la glose ouverte en mode édition", (title) => {
101101
cy.get('.runningHead .scholium').should('contain', title);
102102
cy.get('.scholium').should('have.descendants', 'form');
103+
});
104+
105+
Alors("je ne vois plus l'image {string} dans la glose", (alt) => {
106+
cy.get('.row:not(.runningHead)>.scholium').should('not.have.descendants', `img[alt='${alt}']`);
103107
});

0 commit comments

Comments
 (0)