diff options
-rw-r--r-- | cypress/fixtures/table.png | bin | 0 -> 433 bytes | |||
-rw-r--r-- | cypress/integration/images.spec.js | 47 | ||||
-rw-r--r-- | package-lock.json | 21 | ||||
-rw-r--r-- | package.json | 1 |
4 files changed, 67 insertions, 2 deletions
diff --git a/cypress/fixtures/table.png b/cypress/fixtures/table.png Binary files differnew file mode 100644 index 000000000..96fcef4dc --- /dev/null +++ b/cypress/fixtures/table.png diff --git a/cypress/integration/images.spec.js b/cypress/integration/images.spec.js index de23d2769..251ed6453 100644 --- a/cypress/integration/images.spec.js +++ b/cypress/integration/images.spec.js @@ -22,6 +22,7 @@ import { randHash } from '../utils/' +import 'cypress-file-upload' const randUser = randHash() describe('Open test.md in viewer', function() { @@ -106,13 +107,16 @@ describe('Open test.md in viewer', function() { const popover = cy.get('div#' + popoverId) popover.should('have.class', 'open') cy.get('div#' + popoverId + ' li:nth-child(3)').click() + cy.wait(2000) cy.log('Type and validate') cy.get('div#' + popoverId + ' li:nth-child(3) input[type=text]') .type('https://nextcloud.com/wp-content/themes/next/assets/img/headers/engineering-small.jpg') + .wait(2000) .type('{enter}') - //cy.get('div#' + popoverId + ' li:nth-child(3) form > label').click() + // click on the validation button is an alternative to typing {enter} + // cy.get('div#' + popoverId + ' li:nth-child(3) form > label').click() - cy.wait(4000) + cy.wait(2000) cy.log('Check the image is visible and well formed') const editor = cy.get('#editor .ProseMirror') editor.get('div.image:nth-child(1)') @@ -125,6 +129,45 @@ describe('Open test.md in viewer', function() { .should('contain', '.jpg') }) + cy.screenshot() + }) + + it('Upload a local imagee', function() { + cy.openFile('test.md') + const viewer = cy.get('#viewer') + const submenu = viewer.get('.action-item.submenu') + submenu.click() + submenu.should('have.class', 'action-item--open') + + const trigger = submenu.get('.action-item.submenu > div.v-popover > .trigger') + trigger + .should('have.class', 'trigger') + .invoke('attr','aria-describedby') + .should('contain', 'popover_') + .as('popoverId') + + cy.get('@popoverId').then(popoverId => { + cy.log('Click on action entry') + const popover = cy.get('div#' + popoverId) + popover.should('have.class', 'open') + cy.get('div#' + popoverId + ' li:nth-child(1)').click() + + cy.wait(4000) + cy.get('.menubar input[type="file"]') + .attachFile('table.png') + + cy.wait(4000) + cy.log('Check the image is visible and well formed') + const editor = cy.get('#editor .ProseMirror') + editor.get('div.image:nth-child(1)') + .should('be.visible') + .invoke('attr', 'data-src') + .should('contain', 'table.png') + editor.get('div.image:nth-child(1) img').invoke('attr', 'src') + .should('contain', 'apps/text/image?documentId=') + .should('contain', 'imageFileName') + .should('contain', 'table.png') + }) cy.screenshot() }) diff --git a/package-lock.json b/package-lock.json index 156537d44..aba400355 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,6 +5,7 @@ "requires": true, "packages": { "": { + "name": "text", "version": "3.5.0", "license": "agpl", "dependencies": { @@ -52,6 +53,7 @@ "@vue/test-utils": "^1.3.0", "babel-core": "^7.0.0-bridge.0", "cypress": "^9.1.1", + "cypress-file-upload": "^5.0.8", "jest": "^27.4.5", "jest-environment-jsdom": "^27.4.4", "jest-serializer-vue": "^2.0.2", @@ -6874,6 +6876,18 @@ "node": ">=12.0.0" } }, + "node_modules/cypress-file-upload": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz", + "integrity": "sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g==", + "dev": true, + "engines": { + "node": ">=8.2.1" + }, + "peerDependencies": { + "cypress": ">3.0.0" + } + }, "node_modules/cypress/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -26568,6 +26582,13 @@ } } }, + "cypress-file-upload": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz", + "integrity": "sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g==", + "dev": true, + "requires": {} + }, "dash-ast": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz", diff --git a/package.json b/package.json index 1199ef658..40f2fc0bb 100644 --- a/package.json +++ b/package.json @@ -74,6 +74,7 @@ "@vue/test-utils": "^1.3.0", "babel-core": "^7.0.0-bridge.0", "cypress": "^9.1.1", + "cypress-file-upload": "^5.0.8", "jest": "^27.4.5", "jest-environment-jsdom": "^27.4.4", "jest-serializer-vue": "^2.0.2", |