diff --git a/docs/#1architecture.png b/docs/#1architecture.png new file mode 100644 index 00000000..167e5de1 Binary files /dev/null and b/docs/#1architecture.png differ diff --git a/frontend/scenarios/add_picture.feature b/frontend/scenarios/add_picture.feature index 0c682825..58c60c4f 100644 --- a/frontend/scenarios/add_picture.feature +++ b/frontend/scenarios/add_picture.feature @@ -6,5 +6,6 @@ Fonctionnalité: Ajouter une image à une glose Soit un document dont je suis l'auteur affiché comme glose Et une session active avec mon compte - Quand j'essaie d'ajouter une image à une glose - Alors je vois l'image "" dans la glose + Quand j'essaie d'ajouter une image "#1architecture.png" à une glose + Alors je vois l'image "#1architecture.png" dans la glose + Et l'image a un texte alternatif "" diff --git a/frontend/src/hyperglosae.js b/frontend/src/hyperglosae.js index d66b03c9..9a3d0426 100644 --- a/frontend/src/hyperglosae.js +++ b/frontend/src/hyperglosae.js @@ -59,8 +59,7 @@ function Hyperglosae(logger) { reader.readAsArrayBuffer(attachment); reader.onload = () => { const arrayBuffer = reader.result; - - fetch(`${service}/${id}/${attachment.name}`, { + fetch(`${service}/${id}/${attachment.name.replaceAll('#', '%23')}`, { method: 'PUT', headers: { // ETag is the header that carries the current rev. diff --git a/frontend/tests/event.js b/frontend/tests/event.js index 7beec42b..6fb3d217 100644 --- a/frontend/tests/event.js +++ b/frontend/tests/event.js @@ -140,10 +140,10 @@ Quand("je supprime le lien entre le document principal et la référence", () => cy.get(".modal-dialog").get(".btn-primary").click(); }); -Quand("j'essaie d'ajouter une image à une glose", () => { +Quand("j'essaie d'ajouter une image {string} à une glose", (imagePath) => { context = cy.get('.scholium').eq(1); cy.click_on_contextual_menu_item(context, 'Add a picture...'); - cy.get('[id="image-input"]').selectFile('../docs/architecture.png', { + cy.get('[id="image-input"]').selectFile(`../docs/${imagePath}`, { force: true, }); }); diff --git a/frontend/tests/outcome.js b/frontend/tests/outcome.js index 0720f45f..f1889ec7 100644 --- a/frontend/tests/outcome.js +++ b/frontend/tests/outcome.js @@ -17,8 +17,14 @@ Alors("je ne peux pas lire {string}", (text) => { cy.get('body').should('not.contain', text); }); -Alors("je vois l'image {string} dans la glose", (alternative_text) => { - cy.get('.row:not(.runningHead)>.scholium').should('have.descendants', `img[alt='${alternative_text}']`); +Alors("je vois l'image {string} dans la glose", (image_name) => { + cy.get('.row:not(.runningHead)>.scholium img[src]') + .invoke('attr', 'src') + .should('match', /^http.*:\/\/(?!.*\/#).*/) +}); + +Alors("l'image a un texte alternatif {string}", (alternative_text) => { + cy.get('.row:not(.runningHead)>.scholium').should('have.descendants', `img[alt='${alternative_text}']`); }); Alors("je vois l'image {string} dans le document principal", (alternative_text) => {