Skip to content

Commit 2eea2cf

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

File tree

4 files changed

+60
-22
lines changed

4 files changed

+60
-22
lines changed

frontend/scenarios/delete_image_in_document.feature

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,10 @@
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+
Quand j'essaie de supprimer l'image "<IMAGE DESCRIPTION>"
10+
Alors je ne vois plus l'image "<IMAGE DESCRIPTION>" dans la glose
11+
Et je vois l'image "graphique" dans la glose

frontend/tests/context.js

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,44 @@ 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>"]')
118+
.should('not.be.visible')
119+
120+
cy.click_on_text('content');
121+
cy.get('textarea')
122+
.should('be.visible')
123+
.should(($textarea) => {
124+
expect($textarea.val().trim()).not.to.be.empty;
125+
})
126+
.invoke('val')
127+
.then((text) => {
128+
const updatedText = text.replace(/\!\[.*?\]/, `![${alt}]`);
129+
cy.get('textarea').clear().type(updatedText);
130+
});
131+
cy.get('body').click(0, 0);
132+
133+
cy.get('img[alt="graphique"]')
134+
.should('be.visible')
135+
136+
context = cy.get('.scholium').eq(1);
137+
cy.click_on_contextual_menu_item(context, 'Add a picture...');
138+
cy.get('[id="image-input"]').selectFile('../docs/architecture.png', {
139+
force: true,
140+
});
141+
cy.get('img[alt="<IMAGE DESCRIPTION>"]')
142+
.should('be.visible')
143+
cy.sign_out()
144+
});
145+

frontend/tests/event.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,12 @@ 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
});
99-
});
101+
102+
Quand("j'essaie de supprimer l'image {string}", (alt) => {
103+
cy.get(`button.trash-overlay[aria-label="Delete image ${alt}"]`).scrollIntoView().click({ force: true });
104+
cy.contains('button', 'Delete').click();
105+
});
106+

frontend/tests/outcome.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ Alors("je peux lire {string}", (text) => {
1313
});
1414

1515
Alors("je vois l'image {string} dans la glose", (alternative_text) => {
16-
cy.get('.row:not(.runningHead)>.scholium').should('have.descendants', `img[alt='${alternative_text}']`);
16+
cy.get(`img[alt="${alternative_text}"]`)
17+
.should('be.visible');
1718
});
1819

1920
Alors("{string} est le document principal", (title) => {
@@ -100,4 +101,8 @@ Alors("la rubrique {string} est associée au passage {string}", (rubric, text) =
100101
Alors("{string} est la glose ouverte en mode édition", (title) => {
101102
cy.get('.runningHead .scholium').should('contain', title);
102103
cy.get('.scholium').should('have.descendants', 'form');
104+
});
105+
106+
Alors("je ne vois plus l'image {string} dans la glose", (alt) => {
107+
cy.get('.row:not(.runningHead)>.scholium').should('not.have.descendants', `img[alt='${alt}']`);
103108
});

0 commit comments

Comments
 (0)